browsercms 3.1.4 → 3.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. data/app/controllers/cms/content_block_controller.rb +2 -2
  2. data/app/controllers/cms/section_nodes_controller.rb +6 -1
  3. data/app/controllers/cms/sections_controller.rb +1 -1
  4. data/app/helpers/cms/application_helper.rb +1 -1
  5. data/app/helpers/cms/content_block_helper.rb +27 -0
  6. data/app/helpers/cms/section_nodes_helper.rb +43 -5
  7. data/app/models/abstract_file_block.rb +16 -1
  8. data/app/models/attachment.rb +17 -35
  9. data/app/models/file_block.rb +0 -12
  10. data/app/models/image_block.rb +0 -12
  11. data/app/models/link.rb +4 -21
  12. data/app/models/page.rb +31 -34
  13. data/app/models/section.rb +82 -44
  14. data/app/models/section_node.rb +39 -24
  15. data/app/models/user.rb +5 -0
  16. data/app/views/cms/blocks/index.html.erb +4 -4
  17. data/app/views/cms/file_blocks/_form.html.erb +1 -1
  18. data/app/views/cms/image_blocks/_form.html.erb +1 -1
  19. data/app/views/cms/section_nodes/_link.html.erb +6 -3
  20. data/app/views/cms/section_nodes/_node.html.erb +11 -1
  21. data/app/views/cms/section_nodes/_page.html.erb +13 -7
  22. data/app/views/cms/section_nodes/_section.html.erb +24 -8
  23. data/app/views/cms/section_nodes/index.html.erb +28 -16
  24. data/app/views/layouts/templates/default.html.erb +17 -0
  25. data/browsercms.gemspec +28 -1413
  26. data/db/migrate/20120117144039_browsercms315.rb +94 -0
  27. data/db/migrate/{20081114172307_load_seed_data.rb → 20121114172307_load_seeds.rb} +8 -1
  28. data/lib/acts_as_list.rb +1 -1
  29. data/lib/browsercms.rb +2 -0
  30. data/lib/cms/addressable.rb +83 -0
  31. data/lib/cms/behaviors/attaching.rb +44 -24
  32. data/lib/cms/behaviors/connecting.rb +2 -1
  33. data/lib/cms/behaviors/publishing.rb +12 -3
  34. data/lib/cms/behaviors/versioning.rb +83 -53
  35. data/lib/cms/content_rendering_support.rb +3 -3
  36. data/lib/cms/error_pages.rb +8 -0
  37. data/lib/cms/init.rb +5 -3
  38. data/lib/cms/version.rb +1 -1
  39. data/templates/blank.rb +2 -0
  40. data/templates/demo.rb +2 -0
  41. data/templates/module.rb +2 -0
  42. data/test/custom_assertions.rb +7 -1
  43. data/test/factories.rb +3 -1
  44. data/test/factories/sitemap_factories.rb +28 -0
  45. data/test/fixtures/connectors.yml +97 -0
  46. data/test/fixtures/content_type_groups.yml +13 -0
  47. data/test/fixtures/content_types.yml +50 -0
  48. data/test/fixtures/dynamic_view_versions.yml +26 -0
  49. data/test/fixtures/dynamic_views.yml +26 -0
  50. data/test/fixtures/group_permissions.yml +16 -0
  51. data/test/fixtures/group_sections.yml +31 -0
  52. data/test/fixtures/group_type_permissions.yml +11 -0
  53. data/test/fixtures/group_types.yml +25 -0
  54. data/test/fixtures/groups.yml +25 -0
  55. data/test/fixtures/html_block_versions.yml +67 -0
  56. data/test/fixtures/html_blocks.yml +63 -0
  57. data/test/fixtures/page_versions.yml +265 -0
  58. data/test/fixtures/pages.yml +85 -0
  59. data/test/fixtures/permissions.yml +28 -0
  60. data/test/fixtures/section_nodes.yml +46 -0
  61. data/test/fixtures/sections.yml +19 -0
  62. data/test/fixtures/sites.yml +9 -0
  63. data/test/fixtures/user_group_memberships.yml +11 -0
  64. data/test/fixtures/users.yml +15 -0
  65. data/test/functional/cms/content_controller_test.rb +6 -1
  66. data/test/functional/cms/file_blocks_controller_test.rb +1 -0
  67. data/test/functional/cms/html_blocks_controller_test.rb +1 -0
  68. data/test/functional/cms/image_blocks_controller_test.rb +39 -32
  69. data/test/functional/cms/section_nodes_controller_test.rb +48 -20
  70. data/test/functional/cms/sections_controller_test.rb +3 -1
  71. data/test/functional/tests/pretend_controller_test.rb +6 -3
  72. data/test/integration/cms/ckeditor_test.rb +5 -2
  73. data/test/integration/sitemap_performance_test.rb +26 -0
  74. data/test/selenium-core/Blank.html +7 -0
  75. data/test/selenium-core/InjectedRemoteRunner.html +8 -0
  76. data/test/selenium-core/RemoteRunner.html +110 -0
  77. data/test/selenium-core/SeleniumLog.html +109 -0
  78. data/test/selenium-core/TestPrompt.html +145 -0
  79. data/test/selenium-core/TestRunner-splash.html +55 -0
  80. data/test/selenium-core/TestRunner.hta +176 -0
  81. data/test/selenium-core/TestRunner.html +176 -0
  82. data/test/selenium-core/domviewer/butmin.gif +0 -0
  83. data/test/selenium-core/domviewer/butplus.gif +0 -0
  84. data/test/selenium-core/domviewer/domviewer.css +298 -0
  85. data/test/selenium-core/domviewer/domviewer.html +16 -0
  86. data/test/selenium-core/domviewer/selenium-domviewer.js +205 -0
  87. data/test/selenium-core/icons/all.png +0 -0
  88. data/test/selenium-core/icons/continue.png +0 -0
  89. data/test/selenium-core/icons/continue_disabled.png +0 -0
  90. data/test/selenium-core/icons/pause.png +0 -0
  91. data/test/selenium-core/icons/pause_disabled.png +0 -0
  92. data/test/selenium-core/icons/selected.png +0 -0
  93. data/test/selenium-core/icons/step.png +0 -0
  94. data/test/selenium-core/icons/step_disabled.png +0 -0
  95. data/test/selenium-core/iedoc-core.xml +1515 -0
  96. data/test/selenium-core/iedoc.xml +1469 -0
  97. data/test/selenium-core/lib/cssQuery/cssQuery-p.js +6 -0
  98. data/test/selenium-core/lib/cssQuery/src/cssQuery-level2.js +142 -0
  99. data/test/selenium-core/lib/cssQuery/src/cssQuery-level3.js +150 -0
  100. data/test/selenium-core/lib/cssQuery/src/cssQuery-standard.js +53 -0
  101. data/test/selenium-core/lib/cssQuery/src/cssQuery.js +356 -0
  102. data/test/selenium-core/lib/prototype.js +2006 -0
  103. data/test/selenium-core/lib/scriptaculous/builder.js +101 -0
  104. data/test/selenium-core/lib/scriptaculous/controls.js +815 -0
  105. data/test/selenium-core/lib/scriptaculous/dragdrop.js +915 -0
  106. data/test/selenium-core/lib/scriptaculous/effects.js +958 -0
  107. data/test/selenium-core/lib/scriptaculous/scriptaculous.js +47 -0
  108. data/test/selenium-core/lib/scriptaculous/slider.js +283 -0
  109. data/test/selenium-core/lib/scriptaculous/unittest.js +383 -0
  110. data/test/selenium-core/scripts/find_matching_child.js +69 -0
  111. data/test/selenium-core/scripts/htmlutils.js +894 -0
  112. data/test/selenium-core/scripts/injection.html +72 -0
  113. data/test/selenium-core/scripts/js2html.js +70 -0
  114. data/test/selenium-core/scripts/narcissus-defs.js +175 -0
  115. data/test/selenium-core/scripts/narcissus-exec.js +1054 -0
  116. data/test/selenium-core/scripts/narcissus-parse.js +1003 -0
  117. data/test/selenium-core/scripts/se2html.js +63 -0
  118. data/test/selenium-core/scripts/selenium-api.js +2409 -0
  119. data/test/selenium-core/scripts/selenium-browserbot.js +2203 -0
  120. data/test/selenium-core/scripts/selenium-browserdetect.js +150 -0
  121. data/test/selenium-core/scripts/selenium-commandhandlers.js +377 -0
  122. data/test/selenium-core/scripts/selenium-executionloop.js +175 -0
  123. data/test/selenium-core/scripts/selenium-logging.js +147 -0
  124. data/test/selenium-core/scripts/selenium-remoterunner.js +571 -0
  125. data/test/selenium-core/scripts/selenium-testrunner.js +1333 -0
  126. data/test/selenium-core/scripts/selenium-version.js +5 -0
  127. data/test/selenium-core/scripts/user-extensions.js +3 -0
  128. data/test/selenium-core/scripts/user-extensions.js.sample +75 -0
  129. data/test/selenium-core/scripts/xmlextras.js +153 -0
  130. data/test/selenium-core/selenium-logo.png +0 -0
  131. data/test/selenium-core/selenium-test.css +43 -0
  132. data/test/selenium-core/selenium.css +299 -0
  133. data/test/selenium-core/xpath/dom.js +428 -0
  134. data/test/selenium-core/xpath/misc.js +252 -0
  135. data/test/selenium-core/xpath/xpath.js +2223 -0
  136. data/test/selenium/_login_as_cmsadmin.rsel +4 -0
  137. data/test/selenium/dashboard.rsel +5 -0
  138. data/test/selenium/html_blocks.rsel +4 -0
  139. data/test/selenium/login/failed_login.rsel +8 -0
  140. data/test/selenium/login/successful_login.rsel +9 -0
  141. data/test/selenium/page_templates.rsel +12 -0
  142. data/test/selenium/pages/edit_properties.rsel +5 -0
  143. data/test/selenium/site/view_home_page.rsel +4 -0
  144. data/test/selenium/sitemap/move_page.rsel +9 -0
  145. data/test/selenium/sitemap/open_section.rsel +6 -0
  146. data/test/selenium/sitemap/select_page.rsel +12 -0
  147. data/test/selenium/sitemap/select_section.rsel +17 -0
  148. data/test/test_helper.rb +30 -12
  149. data/test/unit/behaviors/attaching_test.rb +4 -6
  150. data/test/unit/behaviors/connectable_test.rb +29 -0
  151. data/test/unit/behaviors/publishable_test.rb +40 -9
  152. data/test/unit/behaviors/versioning_test.rb +36 -0
  153. data/test/unit/helpers/menu_helper_test.rb +5 -2
  154. data/test/unit/helpers/page_helper_test.rb +2 -0
  155. data/test/unit/lib/cms/sitemap_test.rb +206 -0
  156. data/test/unit/models/attachment_test.rb +51 -31
  157. data/test/unit/models/file_block_test.rb +74 -55
  158. data/test/unit/models/link_test.rb +44 -0
  159. data/test/unit/models/page_test.rb +290 -224
  160. data/test/unit/models/sections_test.rb +144 -44
  161. data/test/unit/models/user_test.rb +28 -18
  162. metadata +581 -350
  163. data/app/views/cms/section_nodes/_section_node.html.erb +0 -10
  164. data/test/unit/models/section_node_test.rb +0 -92
@@ -0,0 +1,55 @@
1
+ <!--
2
+ Copyright 2005 ThoughtWorks, Inc
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <html>
18
+ <link rel="stylesheet" type="text/css" href="selenium.css" />
19
+ <body>
20
+ <table width="100%">
21
+
22
+ <tr>
23
+ <th>&uarr;</th>
24
+ <th>&uarr;</th>
25
+ <th>&uarr;</th>
26
+ </tr>
27
+ <tr>
28
+ <th width="25%">Test Suite</th>
29
+ <th width="50%">Current Test</th>
30
+ <th width="25%">Control Panel</th>
31
+ </tr>
32
+ <tr><td>&nbsp;</td></tr>
33
+
34
+ <tr>
35
+ <td></td>
36
+ <td class="selenium splash">
37
+
38
+ <img src="selenium-logo.png" align="right">
39
+
40
+ <h1>Selenium</h1>
41
+ <h2>by <a href="http://www.thoughtworks.com">ThoughtWorks</a> and friends</h2>
42
+
43
+ <p>
44
+ For more information on Selenium, visit
45
+
46
+ <pre>
47
+ <a href="http://selenium.openqa.org" target="_blank">http://selenium.openqa.org</a>
48
+ </pre>
49
+
50
+ </td>
51
+ <tr>
52
+
53
+ </table>
54
+ </body>
55
+ </html>
@@ -0,0 +1,176 @@
1
+ <html>
2
+
3
+ <head>
4
+ <HTA:APPLICATION ID="SeleniumHTARunner" APPLICATIONNAME="Selenium">
5
+ <!-- the previous line is only relevant if you rename this
6
+ file to "TestRunner.hta" -->
7
+
8
+ <!-- The copyright notice and other comments have been moved to after the HTA declaration,
9
+ to work-around a bug in IE on Win2K whereby the HTA application doesn't function correctly -->
10
+ <!--
11
+ Copyright 2004 ThoughtWorks, Inc
12
+
13
+ Licensed under the Apache License, Version 2.0 (the "License");
14
+ you may not use this file except in compliance with the License.
15
+ You may obtain a copy of the License at
16
+
17
+ http://www.apache.org/licenses/LICENSE-2.0
18
+
19
+ Unless required by applicable law or agreed to in writing, software
20
+ distributed under the License is distributed on an "AS IS" BASIS,
21
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
+ See the License for the specific language governing permissions and
23
+ limitations under the License.
24
+ -->
25
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"/>
26
+
27
+ <title>Selenium Functional Test Runner</title>
28
+ <link rel="stylesheet" type="text/css" href="selenium.css"/>
29
+ <script type="text/javascript" src="scripts/narcissus-defs.js"></script>
30
+ <script type="text/javascript" src="scripts/narcissus-parse.js"></script>
31
+ <script type="text/javascript" src="scripts/narcissus-exec.js"></script>
32
+ <script type="text/javascript" src="scripts/xmlextras.js"></script>
33
+ <script language="JavaScript" type="text/javascript" src="lib/prototype.js"></script>
34
+ <script language="JavaScript" type="text/javascript" src="scripts/htmlutils.js"></script>
35
+ <script language="JavaScript" type="text/javascript" src="lib/scriptaculous/scriptaculous.js"></script>
36
+ <script language="JavaScript" type="text/javascript" src="lib/cssQuery/cssQuery-p.js"></script>
37
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserdetect.js"></script>
38
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserbot.js"></script>
39
+ <script language="JavaScript" type="text/javascript" src="scripts/find_matching_child.js"></script>
40
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-api.js"></script>
41
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-commandhandlers.js"></script>
42
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-executionloop.js"></script>
43
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-testrunner.js"></script>
44
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-logging.js"></script>
45
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-version.js"></script>
46
+ <script language="JavaScript" type="text/javascript" src="xpath/misc.js"></script>
47
+ <script language="JavaScript" type="text/javascript" src="xpath/dom.js"></script>
48
+ <script language="JavaScript" type="text/javascript" src="xpath/xpath.js"></script>
49
+ <script language="JavaScript" type="text/javascript" src="scripts/user-extensions.js"></script>
50
+ <script language="JavaScript" type="text/javascript">
51
+ function openDomViewer() {
52
+ var autFrame = document.getElementById('selenium_myiframe');
53
+ var autFrameDocument = new SeleniumFrame(autFrame).getDocument();
54
+ this.rootDocument = autFrameDocument;
55
+ var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html');
56
+ return false;
57
+ }
58
+ </script>
59
+ </head>
60
+
61
+ <body onLoad="onSeleniumLoad();">
62
+ <table class="layout">
63
+ <form action="" name="controlPanel">
64
+
65
+ <!-- Suite, Test, Control Panel -->
66
+
67
+ <tr class="selenium">
68
+ <td width="25%" height="30%">
69
+ <iframe name="testSuiteFrame" id="testSuiteFrame" src="./TestPrompt.html" application="yes"></iframe>
70
+ </td>
71
+ <td width="50%" height="30%">
72
+ <iframe name="testFrame" id="testFrame" application="yes"></iframe>
73
+ </td>
74
+
75
+ <td width="25%">
76
+ <table class="layout">
77
+ <tr class="selenium">
78
+ <th width="25%" height="1" class="header">
79
+ <h1><a href="http://selenium.thoughtworks.com" title="The Selenium Project">Selenium</a> TestRunner
80
+ </h1>
81
+ </th>
82
+ </tr>
83
+ <tr>
84
+ <td width="25%" height="30%" id="controlPanel">
85
+ <fieldset>
86
+ <legend>Execute Tests</legend>
87
+
88
+ <div id="imageButtonPanel">
89
+ <button type="button" id="runSuite" onClick="htmlTestRunner.startTestSuite();"
90
+ title="Run All tests" accesskey="a">
91
+ </button>
92
+ <button type="button" id="runSeleniumTest" onClick="htmlTestRunner.runSingleTest();"
93
+ title="Run the Selected test" accesskey="r">
94
+ </button>
95
+ <button type="button" id="pauseTest" disabled="disabled"
96
+ title="Pause/Continue" accesskey="p" class="cssPauseTest">
97
+ </button>
98
+ <button type="button" id="stepTest" disabled="disabled"
99
+ title="Step" accesskey="s">
100
+ </button>
101
+ </div>
102
+
103
+ <div style="float:left">Fast</div>
104
+ <div style="float:right">Slow</div>
105
+ <br/>
106
+ <div id="speedSlider">
107
+ <div id="speedTrack">&nbsp;</div>
108
+ <div id="speedHandle">&nbsp;</div>
109
+ </div>
110
+
111
+ <div class="executionOptions">
112
+ <input id="highlightOption" type="checkbox" name="highlightOption" value="0"/>
113
+ <label for="highlightOption">Highlight elements</label>
114
+ </div>
115
+
116
+ </fieldset>
117
+
118
+ <table id="stats" align="center">
119
+ <tr>
120
+ <td colspan="2" align="right">Elapsed:</td>
121
+ <td id="elapsedTime" colspan="2">00.00</td>
122
+ </tr>
123
+ <tr>
124
+ <th colspan="2">Tests</th>
125
+ <th colspan="2">Commands</th>
126
+ </tr>
127
+ <tr>
128
+ <td class="count" id="testRuns">0</td>
129
+ <td>run</td>
130
+ <td class="count" id="commandPasses">0</td>
131
+ <td>passed</td>
132
+ </tr>
133
+ <tr>
134
+ <td class="count" id="testFailures">0</td>
135
+ <td>failed</td>
136
+ <td class="count" id="commandFailures">0</td>
137
+ <td>failed</td>
138
+ </tr>
139
+ <tr>
140
+ <td colspan="2"></td>
141
+ <td class="count" id="commandErrors">0</td>
142
+ <td>incomplete</td>
143
+ </tr>
144
+ </table>
145
+
146
+ <fieldset>
147
+ <legend>Tools</legend>
148
+
149
+ <button type="button" id="domViewer1" onClick="openDomViewer();">
150
+ View DOM
151
+ </button>
152
+ <button type="button" onClick="LOG.show();">
153
+ Show Log
154
+ </button>
155
+
156
+ </fieldset>
157
+
158
+ </td>
159
+ </tr>
160
+ </table>
161
+ </td>
162
+ </tr>
163
+
164
+ <!-- AUT -->
165
+
166
+ <tr>
167
+ <td colspan="3" height="70%">
168
+ <iframe name="selenium_myiframe" id="selenium_myiframe" src="TestRunner-splash.html"></iframe>
169
+ </td>
170
+ </tr>
171
+
172
+ </form>
173
+ </table>
174
+
175
+ </body>
176
+ </html>
@@ -0,0 +1,176 @@
1
+ <html>
2
+
3
+ <head>
4
+ <HTA:APPLICATION ID="SeleniumHTARunner" APPLICATIONNAME="Selenium">
5
+ <!-- the previous line is only relevant if you rename this
6
+ file to "TestRunner.hta" -->
7
+
8
+ <!-- The copyright notice and other comments have been moved to after the HTA declaration,
9
+ to work-around a bug in IE on Win2K whereby the HTA application doesn't function correctly -->
10
+ <!--
11
+ Copyright 2004 ThoughtWorks, Inc
12
+
13
+ Licensed under the Apache License, Version 2.0 (the "License");
14
+ you may not use this file except in compliance with the License.
15
+ You may obtain a copy of the License at
16
+
17
+ http://www.apache.org/licenses/LICENSE-2.0
18
+
19
+ Unless required by applicable law or agreed to in writing, software
20
+ distributed under the License is distributed on an "AS IS" BASIS,
21
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
+ See the License for the specific language governing permissions and
23
+ limitations under the License.
24
+ -->
25
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"/>
26
+
27
+ <title>Selenium Functional Test Runner</title>
28
+ <link rel="stylesheet" type="text/css" href="selenium.css"/>
29
+ <script type="text/javascript" src="scripts/narcissus-defs.js"></script>
30
+ <script type="text/javascript" src="scripts/narcissus-parse.js"></script>
31
+ <script type="text/javascript" src="scripts/narcissus-exec.js"></script>
32
+ <script type="text/javascript" src="scripts/xmlextras.js"></script>
33
+ <script language="JavaScript" type="text/javascript" src="lib/prototype.js"></script>
34
+ <script language="JavaScript" type="text/javascript" src="scripts/htmlutils.js"></script>
35
+ <script language="JavaScript" type="text/javascript" src="lib/scriptaculous/scriptaculous.js"></script>
36
+ <script language="JavaScript" type="text/javascript" src="lib/cssQuery/cssQuery-p.js"></script>
37
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserdetect.js"></script>
38
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-browserbot.js"></script>
39
+ <script language="JavaScript" type="text/javascript" src="scripts/find_matching_child.js"></script>
40
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-api.js"></script>
41
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-commandhandlers.js"></script>
42
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-executionloop.js"></script>
43
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-testrunner.js"></script>
44
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-logging.js"></script>
45
+ <script language="JavaScript" type="text/javascript" src="scripts/selenium-version.js"></script>
46
+ <script language="JavaScript" type="text/javascript" src="xpath/misc.js"></script>
47
+ <script language="JavaScript" type="text/javascript" src="xpath/dom.js"></script>
48
+ <script language="JavaScript" type="text/javascript" src="xpath/xpath.js"></script>
49
+ <script language="JavaScript" type="text/javascript" src="scripts/user-extensions.js"></script>
50
+ <script language="JavaScript" type="text/javascript">
51
+ function openDomViewer() {
52
+ var autFrame = document.getElementById('selenium_myiframe');
53
+ var autFrameDocument = new SeleniumFrame(autFrame).getDocument();
54
+ this.rootDocument = autFrameDocument;
55
+ var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html');
56
+ return false;
57
+ }
58
+ </script>
59
+ </head>
60
+
61
+ <body onLoad="onSeleniumLoad();">
62
+ <table class="layout">
63
+ <form action="" name="controlPanel">
64
+
65
+ <!-- Suite, Test, Control Panel -->
66
+
67
+ <tr class="selenium">
68
+ <td width="25%" height="30%">
69
+ <iframe name="testSuiteFrame" id="testSuiteFrame" src="./TestPrompt.html" application="yes"></iframe>
70
+ </td>
71
+ <td width="50%" height="30%">
72
+ <iframe name="testFrame" id="testFrame" application="yes"></iframe>
73
+ </td>
74
+
75
+ <td width="25%">
76
+ <table class="layout">
77
+ <tr class="selenium">
78
+ <th width="25%" height="1" class="header">
79
+ <h1><a href="http://selenium.thoughtworks.com" title="The Selenium Project">Selenium</a> TestRunner
80
+ </h1>
81
+ </th>
82
+ </tr>
83
+ <tr>
84
+ <td width="25%" height="30%" id="controlPanel">
85
+ <fieldset>
86
+ <legend>Execute Tests</legend>
87
+
88
+ <div id="imageButtonPanel">
89
+ <button type="button" id="runSuite" onClick="htmlTestRunner.startTestSuite();"
90
+ title="Run All tests" accesskey="a">
91
+ </button>
92
+ <button type="button" id="runSeleniumTest" onClick="htmlTestRunner.runSingleTest();"
93
+ title="Run the Selected test" accesskey="r">
94
+ </button>
95
+ <button type="button" id="pauseTest" disabled="disabled"
96
+ title="Pause/Continue" accesskey="p" class="cssPauseTest">
97
+ </button>
98
+ <button type="button" id="stepTest" disabled="disabled"
99
+ title="Step" accesskey="s">
100
+ </button>
101
+ </div>
102
+
103
+ <div style="float:left">Fast</div>
104
+ <div style="float:right">Slow</div>
105
+ <br/>
106
+ <div id="speedSlider">
107
+ <div id="speedTrack">&nbsp;</div>
108
+ <div id="speedHandle">&nbsp;</div>
109
+ </div>
110
+
111
+ <div class="executionOptions">
112
+ <input id="highlightOption" type="checkbox" name="highlightOption" value="0"/>
113
+ <label for="highlightOption">Highlight elements</label>
114
+ </div>
115
+
116
+ </fieldset>
117
+
118
+ <table id="stats" align="center">
119
+ <tr>
120
+ <td colspan="2" align="right">Elapsed:</td>
121
+ <td id="elapsedTime" colspan="2">00.00</td>
122
+ </tr>
123
+ <tr>
124
+ <th colspan="2">Tests</th>
125
+ <th colspan="2">Commands</th>
126
+ </tr>
127
+ <tr>
128
+ <td class="count" id="testRuns">0</td>
129
+ <td>run</td>
130
+ <td class="count" id="commandPasses">0</td>
131
+ <td>passed</td>
132
+ </tr>
133
+ <tr>
134
+ <td class="count" id="testFailures">0</td>
135
+ <td>failed</td>
136
+ <td class="count" id="commandFailures">0</td>
137
+ <td>failed</td>
138
+ </tr>
139
+ <tr>
140
+ <td colspan="2"></td>
141
+ <td class="count" id="commandErrors">0</td>
142
+ <td>incomplete</td>
143
+ </tr>
144
+ </table>
145
+
146
+ <fieldset>
147
+ <legend>Tools</legend>
148
+
149
+ <button type="button" id="domViewer1" onClick="openDomViewer();">
150
+ View DOM
151
+ </button>
152
+ <button type="button" onClick="LOG.show();">
153
+ Show Log
154
+ </button>
155
+
156
+ </fieldset>
157
+
158
+ </td>
159
+ </tr>
160
+ </table>
161
+ </td>
162
+ </tr>
163
+
164
+ <!-- AUT -->
165
+
166
+ <tr>
167
+ <td colspan="3" height="70%">
168
+ <iframe name="selenium_myiframe" id="selenium_myiframe" src="TestRunner-splash.html"></iframe>
169
+ </td>
170
+ </tr>
171
+
172
+ </form>
173
+ </table>
174
+
175
+ </body>
176
+ </html>
@@ -0,0 +1,298 @@
1
+ /******************************************************************************
2
+ * Defines default styles for site pages. *
3
+ ******************************************************************************/
4
+ .hidden {
5
+ display: none;
6
+ }
7
+
8
+ img{
9
+ display: inline;
10
+ border: none;
11
+ }
12
+
13
+ .box{
14
+ background: #fcfcfc;
15
+ border: 1px solid #000;
16
+ border-color: blue;
17
+ color: #000000;
18
+ margin: 10px auto;
19
+ padding: 3px;
20
+ vertical-align: bottom;
21
+ }
22
+ a {
23
+ text-decoration: none;
24
+ }
25
+
26
+ body {
27
+ background-color: #ffffff;
28
+ color: #000000;
29
+ font-family: Arial, Helvetica, sans-serif;
30
+ font-size: 10pt;
31
+ }
32
+
33
+ h2 {
34
+ font-size: 140%;
35
+ }
36
+
37
+ h3 {
38
+ font-size: 120%;
39
+ }
40
+
41
+ h4 {
42
+ font-size: 100%;
43
+ }
44
+
45
+ pre {
46
+ font-family: Courier New, Courier, monospace;
47
+ font-size: 80%;
48
+ }
49
+
50
+ td, th {
51
+ font-family: Arial, Helvetica, sans-serif;
52
+ font-size: 10pt;
53
+ text-align: left;
54
+ vertical-align: top;
55
+ }
56
+
57
+ th {
58
+ font-weight: bold;
59
+ vertical-align: bottom;
60
+ }
61
+
62
+ ul {
63
+ list-style-type: square;
64
+ }
65
+
66
+ #demoBox {
67
+ border-color: #000000;
68
+ border-style: solid;
69
+ border-width: 1px;
70
+ padding: 8px;
71
+ width: 24em;
72
+ }
73
+
74
+ .footer {
75
+ margin-bottom: 0px;
76
+ text-align: center;
77
+ }
78
+
79
+ /* Boxed table styles */
80
+
81
+ table.boxed {
82
+ border-spacing: 2px;
83
+ empty-cells: hide;
84
+ }
85
+
86
+ td.boxed, th.boxed, th.boxedHeader {
87
+ background-color: #ffffff;
88
+ border-color: #000000;
89
+ border-style: solid;
90
+ border-width: 1px;
91
+ color: #000000;
92
+ padding: 2px;
93
+ padding-left: 8px;
94
+ padding-right: 8px;
95
+ }
96
+
97
+ th.boxed {
98
+ background-color: #c0c0c0;
99
+ }
100
+
101
+ th.boxedHeader {
102
+ background-color: #808080;
103
+ color: #ffffff;
104
+ }
105
+
106
+ a.object {
107
+ color: #0000ff;
108
+ }
109
+
110
+ li {
111
+ white-space: nowrap;
112
+ }
113
+
114
+ ul {
115
+ list-style-type: square;
116
+ margin-left: 0px;
117
+ padding-left: 1em;
118
+ }
119
+
120
+ .boxlevel1{
121
+ background: #FFD700;
122
+ }
123
+
124
+ .boxlevel2{
125
+ background: #D2691E;
126
+ }
127
+
128
+ .boxlevel3{
129
+ background: #DCDCDC;
130
+ }
131
+
132
+ .boxlevel4{
133
+ background: #F5F5F5;
134
+ }
135
+
136
+ .boxlevel5{
137
+ background: #BEBEBE;
138
+ }
139
+
140
+ .boxlevel6{
141
+ background: #D3D3D3;
142
+ }
143
+
144
+ .boxlevel7{
145
+ background: #A9A9A9;
146
+ }
147
+
148
+ .boxlevel8{
149
+ background: #191970;
150
+ }
151
+
152
+ .boxlevel9{
153
+ background: #000080;
154
+ }
155
+
156
+ .boxlevel10{
157
+ background: #6495ED;
158
+ }
159
+
160
+ .boxlevel11{
161
+ background: #483D8B;
162
+ }
163
+
164
+ .boxlevel12{
165
+ background: #6A5ACD;
166
+ }
167
+
168
+ .boxlevel13{
169
+ background: #7B68EE;
170
+ }
171
+
172
+ .boxlevel14{
173
+ background: #8470FF;
174
+ }
175
+
176
+ .boxlevel15{
177
+ background: #0000CD;
178
+ }
179
+
180
+ .boxlevel16{
181
+ background: #4169E1;
182
+ }
183
+
184
+ .boxlevel17{
185
+ background: #0000FF;
186
+ }
187
+
188
+ .boxlevel18{
189
+ background: #1E90FF;
190
+ }
191
+
192
+ .boxlevel19{
193
+ background: #00BFFF;
194
+ }
195
+
196
+ .boxlevel20{
197
+ background: #87CEEB;
198
+ }
199
+
200
+ .boxlevel21{
201
+ background: #B0C4DE;
202
+ }
203
+
204
+ .boxlevel22{
205
+ background: #ADD8E6;
206
+ }
207
+
208
+ .boxlevel23{
209
+ background: #00CED1;
210
+ }
211
+
212
+ .boxlevel24{
213
+ background: #48D1CC;
214
+ }
215
+
216
+ .boxlevel25{
217
+ background: #40E0D0;
218
+ }
219
+
220
+ .boxlevel26{
221
+ background: #008B8B;
222
+ }
223
+
224
+ .boxlevel27{
225
+ background: #00FFFF;
226
+ }
227
+
228
+ .boxlevel28{
229
+ background: #E0FFFF;
230
+ }
231
+
232
+ .boxlevel29{
233
+ background: #5F9EA0;
234
+ }
235
+
236
+ .boxlevel30{
237
+ background: #66CDAA;
238
+ }
239
+
240
+ .boxlevel31{
241
+ background: #7FFFD4;
242
+ }
243
+
244
+ .boxlevel32{
245
+ background: #006400;
246
+ }
247
+
248
+ .boxlevel33{
249
+ background: #556B2F;
250
+ }
251
+
252
+ .boxlevel34{
253
+ background: #8FBC8F;
254
+ }
255
+
256
+ .boxlevel35{
257
+ background: #2E8B57;
258
+ }
259
+
260
+ .boxlevel36{
261
+ background: #3CB371;
262
+ }
263
+
264
+ .boxlevel37{
265
+ background: #20B2AA;
266
+ }
267
+
268
+ .boxlevel38{
269
+ background: #00FF7F;
270
+ }
271
+
272
+ .boxlevel39{
273
+ background: #7CFC00;
274
+ }
275
+
276
+ .boxlevel40{
277
+ background: #90EE90;
278
+ }
279
+
280
+ .boxlevel41{
281
+ background: #00FF00;
282
+ }
283
+
284
+ .boxlevel41{
285
+ background: #7FFF00;
286
+ }
287
+
288
+ .boxlevel42{
289
+ background: #00FA9A;
290
+ }
291
+
292
+ .boxlevel43{
293
+ background: #ADFF2F;
294
+ }
295
+
296
+ .boxlevel44{
297
+ background: #32CD32;
298
+ }