headless-squirrel 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. data/README.rdoc +55 -0
  2. data/Rakefile +27 -0
  3. data/bin/jstest +10 -0
  4. data/lib/headless_squirrel.rb +2 -0
  5. data/lib/headless_squirrel/console.rb +24 -0
  6. data/lib/headless_squirrel/runner.rb +70 -0
  7. data/lib/headless_squirrel/test.rb +17 -0
  8. data/lib/headless_squirrel/test_case.rb +158 -0
  9. data/test/fixtures/a_unit_test.html +27 -0
  10. data/test/fixtures/a_unit_test.js +22 -0
  11. data/test/fixtures/syntax_error.html +27 -0
  12. data/test/fixtures/syntax_error.js +5 -0
  13. data/test/fixtures/type_error.html +27 -0
  14. data/test/fixtures/type_error.js +1 -0
  15. data/test/regression/prototype/unit/ajax_test.html +29 -0
  16. data/test/regression/prototype/unit/array_test.html +28 -0
  17. data/test/regression/prototype/unit/assets/prototype.js +4900 -0
  18. data/test/regression/prototype/unit/assets/unittest.css +50 -0
  19. data/test/regression/prototype/unit/assets/unittest.js +615 -0
  20. data/test/regression/prototype/unit/assets/unittest_transport.js +1 -0
  21. data/test/regression/prototype/unit/base_test.html +27 -0
  22. data/test/regression/prototype/unit/class_test.html +27 -0
  23. data/test/regression/prototype/unit/date_test.html +27 -0
  24. data/test/regression/prototype/unit/dom_test.html +304 -0
  25. data/test/regression/prototype/unit/element_mixins_test.html +30 -0
  26. data/test/regression/prototype/unit/enumerable_test.html +35 -0
  27. data/test/regression/prototype/unit/event_test.html +31 -0
  28. data/test/regression/prototype/unit/fixtures/ajax.html +2 -0
  29. data/test/regression/prototype/unit/fixtures/ajax.js +42 -0
  30. data/test/regression/prototype/unit/fixtures/array.html +1 -0
  31. data/test/regression/prototype/unit/fixtures/class.js +83 -0
  32. data/test/regression/prototype/unit/fixtures/content.html +1 -0
  33. data/test/regression/prototype/unit/fixtures/data.json +1 -0
  34. data/test/regression/prototype/unit/fixtures/dom.css +84 -0
  35. data/test/regression/prototype/unit/fixtures/dom.html +278 -0
  36. data/test/regression/prototype/unit/fixtures/dom.js +17 -0
  37. data/test/regression/prototype/unit/fixtures/element_mixins.html +4 -0
  38. data/test/regression/prototype/unit/fixtures/element_mixins.js +2 -0
  39. data/test/regression/prototype/unit/fixtures/empty.html +0 -0
  40. data/test/regression/prototype/unit/fixtures/empty.js +1 -0
  41. data/test/regression/prototype/unit/fixtures/enumerable.html +8 -0
  42. data/test/regression/prototype/unit/fixtures/enumerable.js +23 -0
  43. data/test/regression/prototype/unit/fixtures/event.html +4 -0
  44. data/test/regression/prototype/unit/fixtures/form.html +108 -0
  45. data/test/regression/prototype/unit/fixtures/function.js +13 -0
  46. data/test/regression/prototype/unit/fixtures/hash.js +25 -0
  47. data/test/regression/prototype/unit/fixtures/hello.js +1 -0
  48. data/test/regression/prototype/unit/fixtures/logo.gif +0 -0
  49. data/test/regression/prototype/unit/fixtures/object.html +6 -0
  50. data/test/regression/prototype/unit/fixtures/object.js +7 -0
  51. data/test/regression/prototype/unit/fixtures/position.html +9 -0
  52. data/test/regression/prototype/unit/fixtures/selector.html +71 -0
  53. data/test/regression/prototype/unit/fixtures/string.js +8 -0
  54. data/test/regression/prototype/unit/fixtures/unittest.html +18 -0
  55. data/test/regression/prototype/unit/form_test.html +135 -0
  56. data/test/regression/prototype/unit/function_test.html +27 -0
  57. data/test/regression/prototype/unit/hash_test.html +27 -0
  58. data/test/regression/prototype/unit/number_test.html +27 -0
  59. data/test/regression/prototype/unit/object_test.html +32 -0
  60. data/test/regression/prototype/unit/periodical_executer_test.html +27 -0
  61. data/test/regression/prototype/unit/position_test.html +36 -0
  62. data/test/regression/prototype/unit/prototype_test.html +27 -0
  63. data/test/regression/prototype/unit/range_test.html +27 -0
  64. data/test/regression/prototype/unit/regexp_test.html +27 -0
  65. data/test/regression/prototype/unit/selector_test.html +98 -0
  66. data/test/regression/prototype/unit/string_test.html +27 -0
  67. data/test/regression/prototype/unit/tests/ajax_test.js +379 -0
  68. data/test/regression/prototype/unit/tests/array_test.js +186 -0
  69. data/test/regression/prototype/unit/tests/base_test.js +43 -0
  70. data/test/regression/prototype/unit/tests/class_test.js +136 -0
  71. data/test/regression/prototype/unit/tests/date_test.js +5 -0
  72. data/test/regression/prototype/unit/tests/dom_test.js +1493 -0
  73. data/test/regression/prototype/unit/tests/element_mixins_test.js +32 -0
  74. data/test/regression/prototype/unit/tests/enumerable_test.js +271 -0
  75. data/test/regression/prototype/unit/tests/event_test.js +235 -0
  76. data/test/regression/prototype/unit/tests/form_test.js +382 -0
  77. data/test/regression/prototype/unit/tests/function_test.js +133 -0
  78. data/test/regression/prototype/unit/tests/hash_test.js +178 -0
  79. data/test/regression/prototype/unit/tests/number_test.js +44 -0
  80. data/test/regression/prototype/unit/tests/object_test.js +180 -0
  81. data/test/regression/prototype/unit/tests/periodical_executer_test.js +15 -0
  82. data/test/regression/prototype/unit/tests/position_test.js +44 -0
  83. data/test/regression/prototype/unit/tests/prototype_test.js +43 -0
  84. data/test/regression/prototype/unit/tests/range_test.js +58 -0
  85. data/test/regression/prototype/unit/tests/regexp_test.js +42 -0
  86. data/test/regression/prototype/unit/tests/selector_test.js +408 -0
  87. data/test/regression/prototype/unit/tests/string_test.js +548 -0
  88. data/test/regression/prototype/unit/tests/unittest_test.js +148 -0
  89. data/test/regression/prototype/unit/unittest_test.html +45 -0
  90. data/test/regression/prototype/upstream +1 -0
  91. data/test/regression/scriptaculous/unit/_ajax_inplaceeditor_ipce_alt_text.html +1 -0
  92. data/test/regression/scriptaculous/unit/_ajax_inplaceeditor_ipce_collection.js +1 -0
  93. data/test/regression/scriptaculous/unit/_ajax_inplaceeditor_result.html +1 -0
  94. data/test/regression/scriptaculous/unit/_ajax_inplaceeditor_result2.html +1 -0
  95. data/test/regression/scriptaculous/unit/_ajax_inplaceeditor_tagged.html +1 -0
  96. data/test/regression/scriptaculous/unit/_ajax_inplaceeditor_text.html +1 -0
  97. data/test/regression/scriptaculous/unit/_ajax_updater_result.html +20 -0
  98. data/test/regression/scriptaculous/unit/_autocomplete_result.html +11 -0
  99. data/test/regression/scriptaculous/unit/_autocomplete_result_nobr.html +1 -0
  100. data/test/regression/scriptaculous/unit/ajax_autocompleter_test.html +243 -0
  101. data/test/regression/scriptaculous/unit/ajax_inplaceeditor_test.html +895 -0
  102. data/test/regression/scriptaculous/unit/assets/builder.js +134 -0
  103. data/test/regression/scriptaculous/unit/assets/controls.js +963 -0
  104. data/test/regression/scriptaculous/unit/assets/dragdrop.js +973 -0
  105. data/test/regression/scriptaculous/unit/assets/effects.js +1122 -0
  106. data/test/regression/scriptaculous/unit/assets/javascripttest.rb +203 -0
  107. data/test/regression/scriptaculous/unit/assets/prototype.js +4320 -0
  108. data/test/regression/scriptaculous/unit/assets/scriptaculous.js +66 -0
  109. data/test/regression/scriptaculous/unit/assets/slider.js +273 -0
  110. data/test/regression/scriptaculous/unit/assets/sound.js +57 -0
  111. data/test/regression/scriptaculous/unit/assets/unittest.js +566 -0
  112. data/test/regression/scriptaculous/unit/bdd_test.html +150 -0
  113. data/test/regression/scriptaculous/unit/builder_test.html +262 -0
  114. data/test/regression/scriptaculous/unit/dragdrop_test.html +131 -0
  115. data/test/regression/scriptaculous/unit/effects_test.html +547 -0
  116. data/test/regression/scriptaculous/unit/element_test.html +116 -0
  117. data/test/regression/scriptaculous/unit/icon.png +0 -0
  118. data/test/regression/scriptaculous/unit/index.html +70 -0
  119. data/test/regression/scriptaculous/unit/loading_test.html +41 -0
  120. data/test/regression/scriptaculous/unit/position_clone_test.html +312 -0
  121. data/test/regression/scriptaculous/unit/slider_test.html +437 -0
  122. data/test/regression/scriptaculous/unit/sortable_test.html +205 -0
  123. data/test/regression/scriptaculous/unit/string_test.html +71 -0
  124. data/test/regression/scriptaculous/unit/unittest_test.html +154 -0
  125. data/test/regression/scriptaculous/upstream +1 -0
  126. data/test/test_helper.rb +20 -0
  127. data/test/unit/runner_test.rb +165 -0
  128. data/test/unit/test_case_test.rb +207 -0
  129. data/test/unit/test_test.rb +24 -0
  130. metadata +209 -0
@@ -0,0 +1,17 @@
1
+ var testVar = 'to be updated', testVar2 = '', documentViewportProperties;
2
+
3
+ Element.addMethods({
4
+ hashBrowns: function(element) { return 'hash browns'; }
5
+ });
6
+
7
+ Element.addMethods("LI", {
8
+ pancakes: function(element) { return "pancakes"; }
9
+ });
10
+
11
+ Element.addMethods("DIV", {
12
+ waffles: function(element) { return "waffles"; }
13
+ });
14
+
15
+ Element.addMethods($w("li div"), {
16
+ orangeJuice: function(element) { return "orange juice"; }
17
+ });
@@ -0,0 +1,4 @@
1
+ <form id="form">
2
+ <input type="text" id="input" value="4" />
3
+ <input type="submit" />
4
+ </form>
@@ -0,0 +1,2 @@
1
+ Form.Element.Methods.coffee = Prototype.K;
2
+ Element.addMethods();
@@ -0,0 +1,8 @@
1
+ <table id="grepTable">
2
+ <tbody id="grepTBody">
3
+ <tr id="grepRow">
4
+ <th id="grepHeader" class="cell"></th>
5
+ <td id="grepCell" class="cell"></td>
6
+ </tr>
7
+ </tbody>
8
+ </table>
@@ -0,0 +1,23 @@
1
+ var Fixtures = {
2
+ People: [
3
+ {name: 'Sam Stephenson', nickname: 'sam-'},
4
+ {name: 'Marcel Molina Jr.', nickname: 'noradio'},
5
+ {name: 'Scott Barron', nickname: 'htonl'},
6
+ {name: 'Nicholas Seckar', nickname: 'Ulysses'}
7
+ ],
8
+
9
+ Nicknames: $w('sam- noradio htonl Ulysses'),
10
+
11
+ Basic: [1, 2, 3],
12
+
13
+ Primes: [
14
+ 1, 2, 3, 5, 7, 11, 13, 17, 19, 23,
15
+ 29, 31, 37, 41, 43, 47, 53, 59, 61, 67,
16
+ 71, 73, 79, 83, 89, 97
17
+ ],
18
+
19
+ Z: []
20
+ };
21
+
22
+ for (var i = 1; i <= 100; i++)
23
+ Fixtures.Z.push(i);
@@ -0,0 +1,4 @@
1
+ <div id="outer" style="display: none">
2
+ <p id="inner">One two three <span id="span">four</span></p>
3
+ </div>
4
+ <div id="container"><div></div></div>
@@ -0,0 +1,108 @@
1
+ <form id="form" method="get" action="fixtures/empty.js">
2
+ <input type="text" name="val1" id="input_enabled" value="4" />
3
+ <div>This is not a form element</div>
4
+ <input type="text" name="val2" id="input_disabled" disabled="disabled" value="5" />
5
+ <input type="submit" name="first_submit" value="Commit it!" />
6
+ <input type="submit" name="second_submit" value="Delete it!" />
7
+ <input type="text" name="action" value="blah" />
8
+ </form>
9
+
10
+ <form id="bigform" method="get" action="fixtures/empty.js">
11
+ <div id="inputs">
12
+ <input type="text" name="dummy" id="dummy_disabled" disabled="disabled"/>
13
+ <input type="submit" name="commit" id="submit" />
14
+ <input type="button" name="clicky" value="click me" />
15
+ <input type="reset" name="revert" />
16
+ <input type="text" name="greeting" id="focus_text" value="Hello" />
17
+ </div>
18
+
19
+ <!-- some edge cases in serialization -->
20
+ <div id="value_checks">
21
+ <input name="twin" type="text" value="" />
22
+ <input name="twin" type="text" value="siamese" />
23
+ <!-- Rails checkbox hack with hidden input: -->
24
+ <input name="checky" type="checkbox" id="checkbox_hack" value="1" />
25
+ <input name="checky" type="hidden" value="0" />
26
+ </div>
27
+
28
+ <!-- all variations of SELECT controls -->
29
+ <div id="selects_wrapper">
30
+ <select name="vu">
31
+ <option value="1" selected="selected">One</option>
32
+ <option value="2">Two</option>
33
+ <option value="3">Three</option>
34
+ </select>
35
+ <select id="multiSel1" name="vm[]" multiple="multiple">
36
+ <option id="multiSel1_opt1" value="1" selected="selected">One</option>
37
+ <option id="multiSel1_opt2" value="2">Two</option>
38
+ <option id="multiSel1_opt3" value="3" selected="selected">Three</option>
39
+ </select>
40
+ <select name="nvu">
41
+ <option selected="selected">One</option>
42
+ <option value="2">Two</option>
43
+ <option value="3">Three</option>
44
+ </select>
45
+
46
+ <fieldset id="selects_fieldset">
47
+ <select name="nvm[]" multiple="multiple">
48
+ <option selected="selected">One</option>
49
+ <option>Two</option>
50
+ <option selected="selected">Three</option>
51
+ </select>
52
+ <select name="evu">
53
+ <option value="" selected="selected">One</option>
54
+ <option value="2">Two</option>
55
+ <option value="3">Three</option>
56
+ </select>
57
+ <select name="evm[]" multiple="multiple">
58
+ <option value="" selected="selected">One</option>
59
+ <option>Two</option>
60
+ <option selected="selected">Three</option>
61
+ </select>
62
+ </fieldset>
63
+ </div>
64
+
65
+ <div id="various">
66
+ <select name="tf_selectOne"><option selected="selected"></option><option>1</option></select>
67
+ <textarea name="tf_textarea"></textarea>
68
+ <input type="checkbox" name="tf_checkbox" value="on" />
69
+ <select name="tf_selectMany" multiple="multiple"></select>
70
+ <input type="text" name="tf_text" />
71
+ <div>This is not a form element</div>
72
+ <input type="radio" name="tf_radio" value="on" />
73
+ <input type="hidden" name="tf_hidden" />
74
+ <input type="password" name="tf_password" />
75
+ </div>
76
+ </form>
77
+
78
+ <form id="form_focus_hidden" style="display: none">
79
+ <input type="text" />
80
+ </form>
81
+
82
+ <form id="form_with_file_input">
83
+ <input type="file" name="file_name" value="foo" />
84
+ </form>
85
+
86
+ <!-- tabindexed forms -->
87
+ <div id="tabindex">
88
+ <form id="ffe">
89
+ <p><input type="text" disabled="disabled" id="ffe_disabled" /></p>
90
+ <input type="hidden" id="ffe_hidden" />
91
+ <input type="checkbox" id="ffe_checkbox" />
92
+ </form>
93
+
94
+ <form id="ffe_ti">
95
+ <p><input type="text" disabled="disabled" id="ffe_ti_disabled" /></p>
96
+ <input type="hidden" id="ffe_ti_hidden" />
97
+ <input type="checkbox" id="ffe_ti_checkbox" />
98
+ <input type="submit" id="ffe_ti_submit" tabindex="1" />
99
+ </form>
100
+
101
+ <form id="ffe_ti2">
102
+ <p><input type="text" disabled="disabled" id="ffe_ti2_disabled" /></p>
103
+ <input type="hidden" id="ffe_ti2_hidden" />
104
+ <input type="checkbox" id="ffe_ti2_checkbox" tabindex="0" />
105
+ <input type="submit" id="ffe_ti2_submit" tabindex="1" />
106
+ </form>
107
+
108
+ </div>
@@ -0,0 +1,13 @@
1
+ var arg1 = 1;
2
+ var arg2 = 2;
3
+ var arg3 = 3;
4
+ function TestObj() { };
5
+ TestObj.prototype.assertingEventHandler =
6
+ function(event, assertEvent, assert1, assert2, assert3, a1, a2, a3) {
7
+ assertEvent(event);
8
+ assert1(a1);
9
+ assert2(a2);
10
+ assert3(a3);
11
+ };
12
+
13
+ var globalBindTest = null;
@@ -0,0 +1,25 @@
1
+ var Fixtures = {
2
+ one: { a: 'A#' },
3
+
4
+ many: {
5
+ a: 'A',
6
+ b: 'B',
7
+ c: 'C',
8
+ d: 'D#'
9
+ },
10
+
11
+ functions: {
12
+ quad: function(n) { return n*n },
13
+ plus: function(n) { return n+n }
14
+ },
15
+
16
+ multiple: { color: $w('r g b') },
17
+ multiple_nil: { color: ['r', null, 'g', undefined, 0] },
18
+ multiple_all_nil: { color: [null, undefined] },
19
+ multiple_empty: { color: [] },
20
+ multiple_special: { 'stuff[]': $w('$ a ;') },
21
+
22
+ value_undefined: { a:"b", c:undefined },
23
+ value_null: { a:"b", c:null },
24
+ value_zero: { a:"b", c:0 }
25
+ };
@@ -0,0 +1 @@
1
+ $("content").update("<H2>Hello world!</H2>");
@@ -0,0 +1,6 @@
1
+ <div id="test"></div>
2
+ <ul id="list">
3
+ <li></li>
4
+ <li></li>
5
+ <li></li>
6
+ </ul>
@@ -0,0 +1,7 @@
1
+ var Person = function(name){
2
+ this.name = name;
3
+ };
4
+
5
+ Person.prototype.toJSON = function() {
6
+ return '-' + this.name;
7
+ };
@@ -0,0 +1,9 @@
1
+ <div id="ensure_scrollbars" style="width:10000px; height:10000px; position:absolute" > </div>
2
+
3
+ <div id="body_absolute" style="position: absolute; top: 10px; left: 10px">
4
+ <div id="absolute_absolute" style="position: absolute; top: 10px; left:10px"> </div>
5
+ <div id="absolute_relative" style="position: relative; top: 10px; left:10px">
6
+ <div style="height:10px;font-size:2px">test<span id="inline">test</span></div>
7
+ <div id="absolute_relative_undefined"> </div>
8
+ </div>
9
+ </div>
@@ -0,0 +1,71 @@
1
+ <div id="fixtures" style="display: none">
2
+ <h1 class="title">Some title <span>here</span></h1>
3
+ <p id="p" class="first summary">
4
+ <strong id="strong">This</strong> is a short blurb
5
+ <a id="link_1" class="first internal" rel="external nofollow" href="#">with a <em id="em2">link</em></a> or
6
+ <a id="link_2" class="internal highlight" href="#"><em id="em">two</em></a>.
7
+ Or <cite id="with_title" title="hello world!">a citation</cite>.
8
+ </p>
9
+ <ul id="list">
10
+ <li id="item_1" class="first"><a id="link_3" href="#" class="external"><span id="span">Another link</span></a></li>
11
+ <li id="item_2">Some text</li>
12
+ <li id="item_3" xml:lang="es-us" class="">Otra cosa</li>
13
+ </ul>
14
+
15
+ <!-- this form has a field with the name 'id',
16
+ therefore its ID property won't be 'troubleForm': -->
17
+ <form id="troubleForm">
18
+ <input type="hidden" name="id" id="hidden" />
19
+ <input type="text" name="disabled_text_field" id="disabled_text_field" disabled="disabled" />
20
+ <input type="text" name="enabled_text_field" id="enabled_text_field" />
21
+ <input type="checkbox" name="checkboxes" id="checked_box" checked="checked" value="Checked" />
22
+ <input type="checkbox" name="checkboxes" id="unchecked_box" value="Unchecked"/>
23
+ <input type="radio" name="radiobuttons" id="checked_radio" checked="checked" value="Checked" />
24
+ <input type="radio" name="radiobuttons" id="unchecked_radio" value="Unchecked" />
25
+ </form>
26
+
27
+ <form id="troubleForm2">
28
+ <input type="checkbox" name="brackets[5][]" id="chk_1" checked="checked" value="1" />
29
+ <input type="checkbox" name="brackets[5][]" id="chk_2" value="2" />
30
+ </form>
31
+
32
+ <div id="level1">
33
+ <span id="level2_1">
34
+ <span id="level3_1"></span>
35
+ <!-- This comment should be ignored by the adjacent selector -->
36
+ <span id="level3_2"></span>
37
+ </span>
38
+ <span id="level2_2">
39
+ <em id="level_only_child">
40
+ </em>
41
+ </span>
42
+ <div id="level2_3"></div>
43
+ </div> <!-- #level1 -->
44
+
45
+ <div id="dupContainer">
46
+ <span id="dupL1" class="span_foo span_bar">
47
+ <span id="dupL2">
48
+ <span id="dupL3">
49
+ <span id="dupL4">
50
+ <span id="dupL5"></span>
51
+ </span>
52
+ </span>
53
+ </span>
54
+ </span>
55
+ </div> <!-- #dupContainer -->
56
+
57
+ <div id="grandfather"> grandfather
58
+ <div id="father" class="brothers men"> father
59
+ <div id="son"> son </div>
60
+ </div>
61
+ <div id="uncle" class="brothers men"> uncle </div>
62
+ </div>
63
+
64
+ <form id="commaParent" title="commas,are,good">
65
+ <input type="hidden" id="commaChild" name="foo" value="#commaOne,#commaTwo" />
66
+ <input type="hidden" id="commaTwo" name="foo2" value="oops" />
67
+ </form>
68
+ <div id="counted_container"><div class="is_counted"></div></div>
69
+
70
+ <div foo-bar="baz" id="attr_with_dash">blah</div>
71
+ </div>
@@ -0,0 +1,8 @@
1
+ var attackTarget;
2
+ var evalScriptsCounter = 0,
3
+ largeTextEscaped = '&lt;span&gt;test&lt;/span&gt;',
4
+ largeTextUnescaped = '<span>test</span>';
5
+ (2048).times(function(){
6
+ largeTextEscaped += ' ABC';
7
+ largeTextUnescaped += ' ABC';
8
+ });
@@ -0,0 +1,18 @@
1
+ <div id="testlog_2"> </div>
2
+
3
+ <!-- Test elements follow -->
4
+ <div id="test_1" class="a bbbbbbbbbbbb cccccccccc dddd"> </div>
5
+
6
+ <div id="test_2"> <span> </span>
7
+
8
+
9
+
10
+ <div><div></div> </div><span> </span>
11
+ </div>
12
+
13
+ <ul id="tlist"><li id="tlist_1">x1</li><li id="tlist_2">x2</li></ul>
14
+ <ul id="tlist2"><li class="a" id="tlist2_1">x1</li><li id="tlist2_2">x2</li></ul>
15
+
16
+ <div id="testmoveby" style="background-color:#333;width:100px;">XXXX</div>
17
+
18
+ <div id="testcss1">testcss1<span id="testcss1_span" style="display:none;">blah</span></div><div id="testcss2">testcss1</div>
@@ -0,0 +1,135 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <title>Unit test file | Form | default template | 2009-04-11 15:28</title>
6
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
7
+ <script type="text/javascript" charset="utf-8">
8
+ var eventResults = {};
9
+ var originalElement = window.Element;
10
+ </script>
11
+ <script src="assets/prototype.js" type="text/javascript" charset="utf-8"></script>
12
+ <script src="assets/unittest.js" type="text/javascript" charset="utf-8"></script>
13
+ <link rel="stylesheet" href="assets/unittest.css" type="text/css" />
14
+
15
+
16
+ <script src="tests/form_test.js" type="text/javascript" charset="utf-8"></script>
17
+ </head>
18
+ <body>
19
+
20
+ <div id="testlog"></div>
21
+
22
+ <form id="form" method="get" action="fixtures/empty.js">
23
+ <input type="text" name="val1" id="input_enabled" value="4" />
24
+ <div>This is not a form element</div>
25
+ <input type="text" name="val2" id="input_disabled" disabled="disabled" value="5" />
26
+ <input type="submit" name="first_submit" value="Commit it!" />
27
+ <input type="submit" name="second_submit" value="Delete it!" />
28
+ <input type="text" name="action" value="blah" />
29
+ </form>
30
+
31
+ <form id="bigform" method="get" action="fixtures/empty.js">
32
+ <div id="inputs">
33
+ <input type="text" name="dummy" id="dummy_disabled" disabled="disabled"/>
34
+ <input type="submit" name="commit" id="submit" />
35
+ <input type="button" name="clicky" value="click me" />
36
+ <input type="reset" name="revert" />
37
+ <input type="text" name="greeting" id="focus_text" value="Hello" />
38
+ </div>
39
+
40
+ <!-- some edge cases in serialization -->
41
+ <div id="value_checks">
42
+ <input name="twin" type="text" value="" />
43
+ <input name="twin" type="text" value="siamese" />
44
+ <!-- Rails checkbox hack with hidden input: -->
45
+ <input name="checky" type="checkbox" id="checkbox_hack" value="1" />
46
+ <input name="checky" type="hidden" value="0" />
47
+ </div>
48
+
49
+ <!-- all variations of SELECT controls -->
50
+ <div id="selects_wrapper">
51
+ <select name="vu">
52
+ <option value="1" selected="selected">One</option>
53
+ <option value="2">Two</option>
54
+ <option value="3">Three</option>
55
+ </select>
56
+ <select id="multiSel1" name="vm[]" multiple="multiple">
57
+ <option id="multiSel1_opt1" value="1" selected="selected">One</option>
58
+ <option id="multiSel1_opt2" value="2">Two</option>
59
+ <option id="multiSel1_opt3" value="3" selected="selected">Three</option>
60
+ </select>
61
+ <select name="nvu">
62
+ <option selected="selected">One</option>
63
+ <option value="2">Two</option>
64
+ <option value="3">Three</option>
65
+ </select>
66
+
67
+ <fieldset id="selects_fieldset">
68
+ <select name="nvm[]" multiple="multiple">
69
+ <option selected="selected">One</option>
70
+ <option>Two</option>
71
+ <option selected="selected">Three</option>
72
+ </select>
73
+ <select name="evu">
74
+ <option value="" selected="selected">One</option>
75
+ <option value="2">Two</option>
76
+ <option value="3">Three</option>
77
+ </select>
78
+ <select name="evm[]" multiple="multiple">
79
+ <option value="" selected="selected">One</option>
80
+ <option>Two</option>
81
+ <option selected="selected">Three</option>
82
+ </select>
83
+ </fieldset>
84
+ </div>
85
+
86
+ <div id="various">
87
+ <select name="tf_selectOne"><option selected="selected"></option><option>1</option></select>
88
+ <textarea name="tf_textarea"></textarea>
89
+ <input type="checkbox" name="tf_checkbox" value="on" />
90
+ <select name="tf_selectMany" multiple="multiple"></select>
91
+ <input type="text" name="tf_text" />
92
+ <div>This is not a form element</div>
93
+ <input type="radio" name="tf_radio" value="on" />
94
+ <input type="hidden" name="tf_hidden" />
95
+ <input type="password" name="tf_password" />
96
+ </div>
97
+ </form>
98
+
99
+ <form id="form_focus_hidden" style="display: none">
100
+ <input type="text" />
101
+ </form>
102
+
103
+ <form id="form_with_file_input">
104
+ <input type="file" name="file_name" value="foo" />
105
+ </form>
106
+
107
+ <!-- tabindexed forms -->
108
+ <div id="tabindex">
109
+ <form id="ffe">
110
+ <p><input type="text" disabled="disabled" id="ffe_disabled" /></p>
111
+ <input type="hidden" id="ffe_hidden" />
112
+ <input type="checkbox" id="ffe_checkbox" />
113
+ </form>
114
+
115
+ <form id="ffe_ti">
116
+ <p><input type="text" disabled="disabled" id="ffe_ti_disabled" /></p>
117
+ <input type="hidden" id="ffe_ti_hidden" />
118
+ <input type="checkbox" id="ffe_ti_checkbox" />
119
+ <input type="submit" id="ffe_ti_submit" tabindex="1" />
120
+ </form>
121
+
122
+ <form id="ffe_ti2">
123
+ <p><input type="text" disabled="disabled" id="ffe_ti2_disabled" /></p>
124
+ <input type="hidden" id="ffe_ti2_hidden" />
125
+ <input type="checkbox" id="ffe_ti2_checkbox" tabindex="0" />
126
+ <input type="submit" id="ffe_ti2_submit" tabindex="1" />
127
+ </form>
128
+
129
+ </div>
130
+
131
+ </body>
132
+ </html>
133
+ <script type="text/javascript" charset="utf-8">
134
+ eventResults.endOfDocument = true;
135
+ </script>