watir 6.10.0 → 6.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.document +5 -5
- data/.github/ISSUE_TEMPLATE.md +16 -16
- data/.gitignore +21 -21
- data/.travis.yml +72 -72
- data/CHANGES.md +6 -0
- data/Gemfile +16 -16
- data/LICENSE +23 -23
- data/README.md +106 -106
- data/Rakefile +153 -153
- data/appveyor.yml +13 -13
- data/lib/watir-webdriver.rb +2 -2
- data/lib/watir.rb +158 -158
- data/lib/watir/adjacent.rb +126 -126
- data/lib/watir/after_hooks.rb +132 -132
- data/lib/watir/alert.rb +120 -120
- data/lib/watir/aliases.rb +6 -6
- data/lib/watir/attribute_helper.rb +96 -96
- data/lib/watir/browser.rb +349 -349
- data/lib/watir/capabilities.rb +123 -123
- data/lib/watir/cell_container.rb +25 -25
- data/lib/watir/container.rb +51 -51
- data/lib/watir/cookies.rb +134 -134
- data/lib/watir/element_collection.rb +138 -138
- data/lib/watir/elements/area.rb +12 -12
- data/lib/watir/elements/button.rb +37 -37
- data/lib/watir/elements/cell.rb +17 -17
- data/lib/watir/elements/checkbox.rb +56 -56
- data/lib/watir/elements/dlist.rb +12 -12
- data/lib/watir/elements/element.rb +6 -5
- data/lib/watir/elements/file_field.rb +41 -41
- data/lib/watir/elements/font.rb +25 -25
- data/lib/watir/elements/form.rb +16 -16
- data/lib/watir/elements/hidden.rb +25 -25
- data/lib/watir/elements/html_elements.rb +2035 -2035
- data/lib/watir/elements/iframe.rb +166 -166
- data/lib/watir/elements/image.rb +21 -21
- data/lib/watir/elements/input.rb +15 -15
- data/lib/watir/elements/link.rb +18 -18
- data/lib/watir/elements/list.rb +49 -49
- data/lib/watir/elements/option.rb +72 -72
- data/lib/watir/elements/radio.rb +60 -60
- data/lib/watir/elements/row.rb +17 -17
- data/lib/watir/elements/select.rb +250 -250
- data/lib/watir/elements/svg_elements.rb +613 -613
- data/lib/watir/elements/table.rb +76 -76
- data/lib/watir/elements/table_cell.rb +31 -31
- data/lib/watir/elements/table_row.rb +32 -32
- data/lib/watir/elements/table_section.rb +15 -15
- data/lib/watir/elements/text_area.rb +5 -5
- data/lib/watir/elements/text_field.rb +39 -39
- data/lib/watir/exception.rb +16 -16
- data/lib/watir/extensions/nokogiri.rb +14 -14
- data/lib/watir/generator.rb +3 -3
- data/lib/watir/generator/base.rb +11 -11
- data/lib/watir/generator/base/generator.rb +115 -115
- data/lib/watir/generator/base/idl_sorter.rb +47 -47
- data/lib/watir/generator/base/spec_extractor.rb +138 -138
- data/lib/watir/generator/base/util.rb +21 -21
- data/lib/watir/generator/base/visitor.rb +162 -162
- data/lib/watir/generator/html.rb +15 -15
- data/lib/watir/generator/html/generator.rb +36 -36
- data/lib/watir/generator/html/spec_extractor.rb +50 -50
- data/lib/watir/generator/html/visitor.rb +21 -21
- data/lib/watir/generator/svg.rb +7 -7
- data/lib/watir/generator/svg/generator.rb +38 -38
- data/lib/watir/generator/svg/spec_extractor.rb +53 -53
- data/lib/watir/generator/svg/visitor.rb +21 -21
- data/lib/watir/has_window.rb +68 -68
- data/lib/watir/js_execution.rb +143 -143
- data/lib/watir/js_snippets.rb +16 -16
- data/lib/watir/js_snippets/backgroundColor.js +7 -7
- data/lib/watir/js_snippets/fireEvent.js +31 -31
- data/lib/watir/js_snippets/focus.js +3 -3
- data/lib/watir/js_snippets/getInnerHtml.js +19 -19
- data/lib/watir/js_snippets/getInnerText.js +19 -19
- data/lib/watir/js_snippets/getOuterHtml.js +20 -20
- data/lib/watir/js_snippets/getTextContent.js +19 -19
- data/lib/watir/js_snippets/isImageLoaded.js +3 -3
- data/lib/watir/js_snippets/selectOptionsLabel.js +10 -10
- data/lib/watir/js_snippets/selectOptionsText.js +10 -10
- data/lib/watir/js_snippets/selectOptionsValue.js +10 -10
- data/lib/watir/js_snippets/selectText.js +64 -64
- data/lib/watir/js_snippets/selectedOptions.js +11 -11
- data/lib/watir/js_snippets/setValue.js +3 -3
- data/lib/watir/legacy_wait.rb +126 -126
- data/lib/watir/locators.rb +60 -60
- data/lib/watir/locators/button/locator.rb +31 -31
- data/lib/watir/locators/button/selector_builder.rb +30 -30
- data/lib/watir/locators/button/selector_builder/xpath.rb +29 -29
- data/lib/watir/locators/button/validator.rb +15 -15
- data/lib/watir/locators/cell/locator.rb +15 -15
- data/lib/watir/locators/cell/selector_builder.rb +24 -24
- data/lib/watir/locators/element/locator.rb +1 -0
- data/lib/watir/locators/element/selector_builder.rb +150 -150
- data/lib/watir/locators/element/selector_builder/xpath.rb +119 -119
- data/lib/watir/locators/element/validator.rb +18 -18
- data/lib/watir/locators/row/locator.rb +15 -15
- data/lib/watir/locators/row/selector_builder.rb +29 -29
- data/lib/watir/locators/text_area/locator.rb +13 -13
- data/lib/watir/locators/text_area/selector_builder.rb +22 -22
- data/lib/watir/locators/text_field/locator.rb +30 -30
- data/lib/watir/locators/text_field/selector_builder.rb +31 -31
- data/lib/watir/locators/text_field/selector_builder/xpath.rb +17 -17
- data/lib/watir/locators/text_field/validator.rb +12 -12
- data/lib/watir/logger.rb +109 -109
- data/lib/watir/radio_set.rb +231 -231
- data/lib/watir/row_container.rb +36 -36
- data/lib/watir/screenshot.rb +50 -50
- data/lib/watir/user_editable.rb +56 -56
- data/lib/watir/wait.rb +200 -200
- data/lib/watir/wait/timer.rb +52 -52
- data/lib/watir/window.rb +257 -257
- data/lib/watir/xpath_support.rb +20 -20
- data/lib/watirspec.rb +86 -86
- data/lib/watirspec/guards.rb +60 -60
- data/lib/watirspec/implementation.rb +51 -51
- data/lib/watirspec/rake_tasks.rb +115 -115
- data/lib/watirspec/remote_server.rb +38 -38
- data/lib/watirspec/runner.rb +53 -53
- data/lib/watirspec/server.rb +99 -99
- data/lib/watirspec/server/app.rb +76 -76
- data/spec/browser_spec.rb +278 -278
- data/spec/click_spec.rb +19 -19
- data/spec/container_spec.rb +34 -34
- data/spec/element_locator_spec.rb +517 -517
- data/spec/element_spec.rb +158 -158
- data/spec/implementation_spec.rb +24 -24
- data/spec/input_spec.rb +14 -14
- data/spec/locator_spec_helper.rb +55 -55
- data/spec/logger_spec.rb +46 -46
- data/spec/spec_helper.rb +22 -22
- data/spec/special_chars_spec.rb +13 -13
- data/spec/watirspec/adjacent_spec.rb +227 -227
- data/spec/watirspec/after_hooks_spec.rb +182 -182
- data/spec/watirspec/alert_spec.rb +108 -108
- data/spec/watirspec/attributes_spec.rb +16 -16
- data/spec/watirspec/browser_spec.rb +281 -281
- data/spec/watirspec/cookies_spec.rb +154 -154
- data/spec/watirspec/drag_and_drop_spec.rb +49 -49
- data/spec/watirspec/element_hidden_spec.rb +75 -75
- data/spec/watirspec/elements/area_spec.rb +72 -72
- data/spec/watirspec/elements/areas_spec.rb +42 -42
- data/spec/watirspec/elements/button_spec.rb +277 -277
- data/spec/watirspec/elements/buttons_spec.rb +55 -55
- data/spec/watirspec/elements/checkbox_spec.rb +275 -275
- data/spec/watirspec/elements/checkboxes_spec.rb +44 -44
- data/spec/watirspec/elements/collections_spec.rb +52 -52
- data/spec/watirspec/elements/dd_spec.rb +124 -124
- data/spec/watirspec/elements/dds_spec.rb +42 -42
- data/spec/watirspec/elements/del_spec.rb +126 -126
- data/spec/watirspec/elements/dels_spec.rb +40 -40
- data/spec/watirspec/elements/div_spec.rb +245 -245
- data/spec/watirspec/elements/divs_spec.rb +42 -42
- data/spec/watirspec/elements/dl_spec.rb +142 -142
- data/spec/watirspec/elements/dls_spec.rb +43 -43
- data/spec/watirspec/elements/dt_spec.rb +122 -122
- data/spec/watirspec/elements/dts_spec.rb +42 -42
- data/spec/watirspec/elements/element_spec.rb +483 -483
- data/spec/watirspec/elements/elements_spec.rb +47 -47
- data/spec/watirspec/elements/em_spec.rb +96 -96
- data/spec/watirspec/elements/ems_spec.rb +43 -43
- data/spec/watirspec/elements/filefield_spec.rb +170 -170
- data/spec/watirspec/elements/filefields_spec.rb +43 -43
- data/spec/watirspec/elements/font_spec.rb +29 -29
- data/spec/watirspec/elements/form_spec.rb +66 -66
- data/spec/watirspec/elements/forms_spec.rb +46 -46
- data/spec/watirspec/elements/frame_spec.rb +123 -123
- data/spec/watirspec/elements/frames_spec.rb +41 -41
- data/spec/watirspec/elements/hidden_spec.rb +104 -104
- data/spec/watirspec/elements/hiddens_spec.rb +43 -43
- data/spec/watirspec/elements/hn_spec.rb +92 -92
- data/spec/watirspec/elements/hns_spec.rb +38 -38
- data/spec/watirspec/elements/iframe_spec.rb +10 -0
- data/spec/watirspec/elements/iframes_spec.rb +47 -47
- data/spec/watirspec/elements/image_spec.rb +158 -158
- data/spec/watirspec/elements/images_spec.rb +40 -40
- data/spec/watirspec/elements/ins_spec.rb +127 -127
- data/spec/watirspec/elements/inses_spec.rb +40 -40
- data/spec/watirspec/elements/label_spec.rb +75 -75
- data/spec/watirspec/elements/labels_spec.rb +40 -40
- data/spec/watirspec/elements/li_spec.rb +111 -111
- data/spec/watirspec/elements/link_spec.rb +171 -171
- data/spec/watirspec/elements/links_spec.rb +44 -44
- data/spec/watirspec/elements/lis_spec.rb +42 -42
- data/spec/watirspec/elements/list_spec.rb +32 -32
- data/spec/watirspec/elements/map_spec.rb +75 -75
- data/spec/watirspec/elements/maps_spec.rb +41 -41
- data/spec/watirspec/elements/meta_spec.rb +23 -23
- data/spec/watirspec/elements/metas_spec.rb +40 -40
- data/spec/watirspec/elements/ol_spec.rb +87 -87
- data/spec/watirspec/elements/ols_spec.rb +40 -40
- data/spec/watirspec/elements/option_spec.rb +121 -121
- data/spec/watirspec/elements/p_spec.rb +111 -111
- data/spec/watirspec/elements/pre_spec.rb +111 -111
- data/spec/watirspec/elements/pres_spec.rb +40 -40
- data/spec/watirspec/elements/ps_spec.rb +40 -40
- data/spec/watirspec/elements/radio_spec.rb +273 -273
- data/spec/watirspec/elements/radios_spec.rb +43 -43
- data/spec/watirspec/elements/select_list_spec.rb +553 -553
- data/spec/watirspec/elements/select_lists_spec.rb +46 -46
- data/spec/watirspec/elements/span_spec.rb +128 -128
- data/spec/watirspec/elements/spans_spec.rb +40 -40
- data/spec/watirspec/elements/strong_spec.rb +88 -88
- data/spec/watirspec/elements/strongs_spec.rb +43 -43
- data/spec/watirspec/elements/table_nesting_spec.rb +51 -51
- data/spec/watirspec/elements/table_spec.rb +156 -156
- data/spec/watirspec/elements/tables_spec.rb +42 -42
- data/spec/watirspec/elements/tbody_spec.rb +93 -93
- data/spec/watirspec/elements/tbodys_spec.rb +62 -62
- data/spec/watirspec/elements/td_spec.rb +93 -93
- data/spec/watirspec/elements/tds_spec.rb +53 -53
- data/spec/watirspec/elements/text_field_spec.rb +360 -360
- data/spec/watirspec/elements/text_fields_spec.rb +44 -44
- data/spec/watirspec/elements/textarea_spec.rb +26 -26
- data/spec/watirspec/elements/textareas_spec.rb +24 -24
- data/spec/watirspec/elements/tfoot_spec.rb +86 -86
- data/spec/watirspec/elements/tfoots_spec.rb +68 -68
- data/spec/watirspec/elements/thead_spec.rb +86 -86
- data/spec/watirspec/elements/theads_spec.rb +68 -68
- data/spec/watirspec/elements/tr_spec.rb +78 -78
- data/spec/watirspec/elements/trs_spec.rb +61 -61
- data/spec/watirspec/elements/ul_spec.rb +76 -76
- data/spec/watirspec/elements/uls_spec.rb +39 -39
- data/spec/watirspec/html/alerts.html +12 -12
- data/spec/watirspec/html/aria_attributes.html +9 -9
- data/spec/watirspec/html/class_locator.html +8 -8
- data/spec/watirspec/html/clicks.html +19 -19
- data/spec/watirspec/html/closeable.html +12 -12
- data/spec/watirspec/html/collections.html +14 -14
- data/spec/watirspec/html/css/jquery-ui-1.8.17.custom.css +286 -286
- data/spec/watirspec/html/data_attributes.html +9 -9
- data/spec/watirspec/html/definition_lists.html +47 -47
- data/spec/watirspec/html/drag_and_drop.html +106 -106
- data/spec/watirspec/html/font.html +10 -10
- data/spec/watirspec/html/forms_with_input_elements.html +174 -174
- data/spec/watirspec/html/frame_1.html +22 -22
- data/spec/watirspec/html/frame_2.html +15 -15
- data/spec/watirspec/html/frames.html +10 -10
- data/spec/watirspec/html/hover.html +11 -11
- data/spec/watirspec/html/iframe_1.html +22 -22
- data/spec/watirspec/html/iframes.html +12 -12
- data/spec/watirspec/html/images.html +27 -27
- data/spec/watirspec/html/inner_outer.html +4 -4
- data/spec/watirspec/html/javascript/angular.min.js +331 -331
- data/spec/watirspec/html/javascript/helpers.js +16 -16
- data/spec/watirspec/html/javascript/jquery-1.7.1.min.js +3 -3
- data/spec/watirspec/html/javascript/jquery-ui-1.8.17.custom.min.js +67 -67
- data/spec/watirspec/html/keylogger.html +14 -14
- data/spec/watirspec/html/modal_dialog.html +9 -9
- data/spec/watirspec/html/multiple_ids.html +14 -14
- data/spec/watirspec/html/nested_elements.html +33 -33
- data/spec/watirspec/html/nested_frame_2.html +9 -9
- data/spec/watirspec/html/nested_frame_3.html +14 -14
- data/spec/watirspec/html/nested_frames.html +10 -10
- data/spec/watirspec/html/nested_iframe_2.html +12 -12
- data/spec/watirspec/html/nested_iframes.html +13 -13
- data/spec/watirspec/html/nested_tables.html +202 -202
- data/spec/watirspec/html/non_control_elements.html +140 -140
- data/spec/watirspec/html/removed_element.html +24 -24
- data/spec/watirspec/html/right_click.html +10 -10
- data/spec/watirspec/html/special_chars.html +11 -11
- data/spec/watirspec/html/tables.html +120 -120
- data/spec/watirspec/html/timeout_window_location.html +19 -19
- data/spec/watirspec/html/uneven_table.html +20 -20
- data/spec/watirspec/html/wait.html +84 -84
- data/spec/watirspec/html/window_switching.html +11 -11
- data/spec/watirspec/radio_set_spec.rb +336 -336
- data/spec/watirspec/relaxed_locate_spec.rb +99 -99
- data/spec/watirspec/screenshot_spec.rb +29 -29
- data/spec/watirspec/support/raise_exception_matchers.rb +36 -36
- data/spec/watirspec/wait_spec.rb +381 -381
- data/spec/watirspec/window_switching_spec.rb +415 -415
- data/spec/watirspec_helper.rb +161 -161
- data/support/appveyor.cmd +9 -9
- data/support/doctest_helper.rb +101 -101
- data/support/travis.sh +11 -11
- data/support/version_differ.rb +59 -59
- data/watir.gemspec +1 -1
- metadata +4 -170
@@ -1,203 +1,203 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
5
|
-
<title>Nested tables from WebKit/LayoutTests/fast/dom</title>
|
6
|
-
</head>
|
7
|
-
<body>
|
8
|
-
<script>
|
9
|
-
// seems like the HTML parser will fix some of the problematic nesting here,
|
10
|
-
// so we build this in JS (like the original test).
|
11
|
-
function buildRowsTest()
|
12
|
-
{
|
13
|
-
var rowsTest = document.createElement("div");
|
14
|
-
rowsTest.id = "table-rows-test";
|
15
|
-
|
16
|
-
function createNoBodyRowNesting(tag, count, idx)
|
17
|
-
{
|
18
|
-
var table = document.createElement("table");
|
19
|
-
var container = document.createElement(tag);
|
20
|
-
var row = document.createElement("tr");
|
21
|
-
|
22
|
-
table.appendChild(container);
|
23
|
-
container.appendChild(row);
|
24
|
-
rowsTest.appendChild(table);
|
25
|
-
|
26
|
-
table.setAttribute("data-row-count", count)
|
27
|
-
table.setAttribute("data-browser-count", table.rows.length);
|
28
|
-
table.setAttribute("id", "tbl" + idx);
|
29
|
-
}
|
30
|
-
|
31
|
-
function createRowNesting(tag, count, idx)
|
32
|
-
{
|
33
|
-
var table = document.createElement("table");
|
34
|
-
var body = document.createElement("tbody");
|
35
|
-
var container = document.createElement(tag);
|
36
|
-
var row = document.createElement("tr");
|
37
|
-
|
38
|
-
table.appendChild(body);
|
39
|
-
body.appendChild(container);
|
40
|
-
container.appendChild(row);
|
41
|
-
rowsTest.appendChild(table)
|
42
|
-
|
43
|
-
table.setAttribute("data-row-count", count)
|
44
|
-
table.setAttribute("data-browser-count", table.rows.length);
|
45
|
-
table.setAttribute("id", "tbl" + idx);
|
46
|
-
}
|
47
|
-
|
48
|
-
var sectionTags = [
|
49
|
-
"tbody",
|
50
|
-
"tfoot",
|
51
|
-
"thead",
|
52
|
-
];
|
53
|
-
|
54
|
-
var otherTags = [
|
55
|
-
"col",
|
56
|
-
"colgroup",
|
57
|
-
"div",
|
58
|
-
"form",
|
59
|
-
"script",
|
60
|
-
"table",
|
61
|
-
"td",
|
62
|
-
"th",
|
63
|
-
];
|
64
|
-
|
65
|
-
var index = 0;
|
66
|
-
|
67
|
-
for (i = 0; i < otherTags.length; ++i)
|
68
|
-
createRowNesting(otherTags[i], 0, index++);
|
69
|
-
|
70
|
-
for (i = 0; i < sectionTags.length; ++i)
|
71
|
-
createRowNesting(sectionTags[i], 0, index++)
|
72
|
-
|
73
|
-
createRowNesting("tr", 1, index++)
|
74
|
-
|
75
|
-
for (i = 0; i < otherTags.length; ++i)
|
76
|
-
createNoBodyRowNesting(otherTags[i], 0, index++)
|
77
|
-
|
78
|
-
for (i = 0; i < sectionTags.length; ++i)
|
79
|
-
createNoBodyRowNesting(sectionTags[i], 1, index++)
|
80
|
-
|
81
|
-
createNoBodyRowNesting("tr", 1, index++)
|
82
|
-
|
83
|
-
document.body.appendChild(rowsTest);
|
84
|
-
};
|
85
|
-
|
86
|
-
function buildCellsTest() {
|
87
|
-
var cellsTest = document.createElement("div");
|
88
|
-
cellsTest.id = "row-cells-test";
|
89
|
-
|
90
|
-
function createCellNesting(tag, count, idx)
|
91
|
-
{
|
92
|
-
var row = document.createElement("tr");
|
93
|
-
var container = document.createElement(tag);
|
94
|
-
var cell = document.createElement("td");
|
95
|
-
row.appendChild(container);
|
96
|
-
container.appendChild(cell);
|
97
|
-
|
98
|
-
row.setAttribute("data-cell-count", count)
|
99
|
-
row.setAttribute("data-browser-count", row.cells.length);
|
100
|
-
row.setAttribute("id", "row" + idx);
|
101
|
-
|
102
|
-
cellsTest.appendChild(row);
|
103
|
-
}
|
104
|
-
|
105
|
-
function createHeaderCellNesting(tag, count, idx)
|
106
|
-
{
|
107
|
-
var row = document.createElement("tr");
|
108
|
-
var container = document.createElement(tag);
|
109
|
-
var cell = document.createElement("th");
|
110
|
-
row.appendChild(container);
|
111
|
-
container.appendChild(cell);
|
112
|
-
|
113
|
-
row.setAttribute("data-cell-count", count)
|
114
|
-
row.setAttribute("data-browser-count", row.cells.length);
|
115
|
-
row.setAttribute("id", "row" + idx);
|
116
|
-
|
117
|
-
cellsTest.appendChild(row);
|
118
|
-
}
|
119
|
-
|
120
|
-
|
121
|
-
var tags = [
|
122
|
-
"col",
|
123
|
-
"colgroup",
|
124
|
-
"div",
|
125
|
-
"form",
|
126
|
-
"script",
|
127
|
-
"table",
|
128
|
-
"tbody",
|
129
|
-
"tfoot",
|
130
|
-
"thead",
|
131
|
-
"tr",
|
132
|
-
];
|
133
|
-
|
134
|
-
var index = 0;
|
135
|
-
|
136
|
-
for (i = 0; i < tags.length; ++i)
|
137
|
-
createCellNesting(tags[i], 0, index++);
|
138
|
-
|
139
|
-
createCellNesting("td", 1, index++);
|
140
|
-
createCellNesting("th", 1, index++);
|
141
|
-
|
142
|
-
for (i = 0; i < tags.length; ++i)
|
143
|
-
createHeaderCellNesting(tags[i], 0, index++);
|
144
|
-
|
145
|
-
createHeaderCellNesting("td", 1, index++)
|
146
|
-
createHeaderCellNesting("th", 1, index++)
|
147
|
-
|
148
|
-
document.body.appendChild(cellsTest);
|
149
|
-
};
|
150
|
-
|
151
|
-
function buildBodiesTest() {
|
152
|
-
var bodiesTest = document.createElement("table");
|
153
|
-
bodiesTest.id = "tbody-rows-test";
|
154
|
-
|
155
|
-
function createRowNesting(tag, count, idx)
|
156
|
-
{
|
157
|
-
var body = document.createElement("tbody");
|
158
|
-
var container = document.createElement(tag);
|
159
|
-
var row = document.createElement("tr");
|
160
|
-
body.appendChild(container);
|
161
|
-
container.appendChild(row);
|
162
|
-
bodiesTest.appendChild(body);
|
163
|
-
|
164
|
-
body.setAttribute("data-rows-count", count)
|
165
|
-
body.setAttribute("data-browser-count", body.rows.length);
|
166
|
-
body.setAttribute("id", "body" + idx);
|
167
|
-
}
|
168
|
-
|
169
|
-
var sectionTags = [
|
170
|
-
"tbody",
|
171
|
-
"tfoot",
|
172
|
-
"thead",
|
173
|
-
];
|
174
|
-
|
175
|
-
var otherTags = [
|
176
|
-
"col",
|
177
|
-
"colgroup",
|
178
|
-
"div",
|
179
|
-
"form",
|
180
|
-
"script",
|
181
|
-
"table",
|
182
|
-
"td",
|
183
|
-
"th",
|
184
|
-
];
|
185
|
-
|
186
|
-
var index = 0;
|
187
|
-
for (i = 0; i < otherTags.length; ++i)
|
188
|
-
createRowNesting(otherTags[i], 0, index++);
|
189
|
-
|
190
|
-
for (i = 0; i < sectionTags.length; ++i)
|
191
|
-
createRowNesting(sectionTags[i], 0, index++);
|
192
|
-
|
193
|
-
createRowNesting("tr", 1, index++);
|
194
|
-
|
195
|
-
document.body.appendChild(bodiesTest);
|
196
|
-
};
|
197
|
-
|
198
|
-
buildRowsTest();
|
199
|
-
buildCellsTest();
|
200
|
-
buildBodiesTest();
|
201
|
-
</script>
|
202
|
-
<body>
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
5
|
+
<title>Nested tables from WebKit/LayoutTests/fast/dom</title>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<script>
|
9
|
+
// seems like the HTML parser will fix some of the problematic nesting here,
|
10
|
+
// so we build this in JS (like the original test).
|
11
|
+
function buildRowsTest()
|
12
|
+
{
|
13
|
+
var rowsTest = document.createElement("div");
|
14
|
+
rowsTest.id = "table-rows-test";
|
15
|
+
|
16
|
+
function createNoBodyRowNesting(tag, count, idx)
|
17
|
+
{
|
18
|
+
var table = document.createElement("table");
|
19
|
+
var container = document.createElement(tag);
|
20
|
+
var row = document.createElement("tr");
|
21
|
+
|
22
|
+
table.appendChild(container);
|
23
|
+
container.appendChild(row);
|
24
|
+
rowsTest.appendChild(table);
|
25
|
+
|
26
|
+
table.setAttribute("data-row-count", count)
|
27
|
+
table.setAttribute("data-browser-count", table.rows.length);
|
28
|
+
table.setAttribute("id", "tbl" + idx);
|
29
|
+
}
|
30
|
+
|
31
|
+
function createRowNesting(tag, count, idx)
|
32
|
+
{
|
33
|
+
var table = document.createElement("table");
|
34
|
+
var body = document.createElement("tbody");
|
35
|
+
var container = document.createElement(tag);
|
36
|
+
var row = document.createElement("tr");
|
37
|
+
|
38
|
+
table.appendChild(body);
|
39
|
+
body.appendChild(container);
|
40
|
+
container.appendChild(row);
|
41
|
+
rowsTest.appendChild(table)
|
42
|
+
|
43
|
+
table.setAttribute("data-row-count", count)
|
44
|
+
table.setAttribute("data-browser-count", table.rows.length);
|
45
|
+
table.setAttribute("id", "tbl" + idx);
|
46
|
+
}
|
47
|
+
|
48
|
+
var sectionTags = [
|
49
|
+
"tbody",
|
50
|
+
"tfoot",
|
51
|
+
"thead",
|
52
|
+
];
|
53
|
+
|
54
|
+
var otherTags = [
|
55
|
+
"col",
|
56
|
+
"colgroup",
|
57
|
+
"div",
|
58
|
+
"form",
|
59
|
+
"script",
|
60
|
+
"table",
|
61
|
+
"td",
|
62
|
+
"th",
|
63
|
+
];
|
64
|
+
|
65
|
+
var index = 0;
|
66
|
+
|
67
|
+
for (i = 0; i < otherTags.length; ++i)
|
68
|
+
createRowNesting(otherTags[i], 0, index++);
|
69
|
+
|
70
|
+
for (i = 0; i < sectionTags.length; ++i)
|
71
|
+
createRowNesting(sectionTags[i], 0, index++)
|
72
|
+
|
73
|
+
createRowNesting("tr", 1, index++)
|
74
|
+
|
75
|
+
for (i = 0; i < otherTags.length; ++i)
|
76
|
+
createNoBodyRowNesting(otherTags[i], 0, index++)
|
77
|
+
|
78
|
+
for (i = 0; i < sectionTags.length; ++i)
|
79
|
+
createNoBodyRowNesting(sectionTags[i], 1, index++)
|
80
|
+
|
81
|
+
createNoBodyRowNesting("tr", 1, index++)
|
82
|
+
|
83
|
+
document.body.appendChild(rowsTest);
|
84
|
+
};
|
85
|
+
|
86
|
+
function buildCellsTest() {
|
87
|
+
var cellsTest = document.createElement("div");
|
88
|
+
cellsTest.id = "row-cells-test";
|
89
|
+
|
90
|
+
function createCellNesting(tag, count, idx)
|
91
|
+
{
|
92
|
+
var row = document.createElement("tr");
|
93
|
+
var container = document.createElement(tag);
|
94
|
+
var cell = document.createElement("td");
|
95
|
+
row.appendChild(container);
|
96
|
+
container.appendChild(cell);
|
97
|
+
|
98
|
+
row.setAttribute("data-cell-count", count)
|
99
|
+
row.setAttribute("data-browser-count", row.cells.length);
|
100
|
+
row.setAttribute("id", "row" + idx);
|
101
|
+
|
102
|
+
cellsTest.appendChild(row);
|
103
|
+
}
|
104
|
+
|
105
|
+
function createHeaderCellNesting(tag, count, idx)
|
106
|
+
{
|
107
|
+
var row = document.createElement("tr");
|
108
|
+
var container = document.createElement(tag);
|
109
|
+
var cell = document.createElement("th");
|
110
|
+
row.appendChild(container);
|
111
|
+
container.appendChild(cell);
|
112
|
+
|
113
|
+
row.setAttribute("data-cell-count", count)
|
114
|
+
row.setAttribute("data-browser-count", row.cells.length);
|
115
|
+
row.setAttribute("id", "row" + idx);
|
116
|
+
|
117
|
+
cellsTest.appendChild(row);
|
118
|
+
}
|
119
|
+
|
120
|
+
|
121
|
+
var tags = [
|
122
|
+
"col",
|
123
|
+
"colgroup",
|
124
|
+
"div",
|
125
|
+
"form",
|
126
|
+
"script",
|
127
|
+
"table",
|
128
|
+
"tbody",
|
129
|
+
"tfoot",
|
130
|
+
"thead",
|
131
|
+
"tr",
|
132
|
+
];
|
133
|
+
|
134
|
+
var index = 0;
|
135
|
+
|
136
|
+
for (i = 0; i < tags.length; ++i)
|
137
|
+
createCellNesting(tags[i], 0, index++);
|
138
|
+
|
139
|
+
createCellNesting("td", 1, index++);
|
140
|
+
createCellNesting("th", 1, index++);
|
141
|
+
|
142
|
+
for (i = 0; i < tags.length; ++i)
|
143
|
+
createHeaderCellNesting(tags[i], 0, index++);
|
144
|
+
|
145
|
+
createHeaderCellNesting("td", 1, index++)
|
146
|
+
createHeaderCellNesting("th", 1, index++)
|
147
|
+
|
148
|
+
document.body.appendChild(cellsTest);
|
149
|
+
};
|
150
|
+
|
151
|
+
function buildBodiesTest() {
|
152
|
+
var bodiesTest = document.createElement("table");
|
153
|
+
bodiesTest.id = "tbody-rows-test";
|
154
|
+
|
155
|
+
function createRowNesting(tag, count, idx)
|
156
|
+
{
|
157
|
+
var body = document.createElement("tbody");
|
158
|
+
var container = document.createElement(tag);
|
159
|
+
var row = document.createElement("tr");
|
160
|
+
body.appendChild(container);
|
161
|
+
container.appendChild(row);
|
162
|
+
bodiesTest.appendChild(body);
|
163
|
+
|
164
|
+
body.setAttribute("data-rows-count", count)
|
165
|
+
body.setAttribute("data-browser-count", body.rows.length);
|
166
|
+
body.setAttribute("id", "body" + idx);
|
167
|
+
}
|
168
|
+
|
169
|
+
var sectionTags = [
|
170
|
+
"tbody",
|
171
|
+
"tfoot",
|
172
|
+
"thead",
|
173
|
+
];
|
174
|
+
|
175
|
+
var otherTags = [
|
176
|
+
"col",
|
177
|
+
"colgroup",
|
178
|
+
"div",
|
179
|
+
"form",
|
180
|
+
"script",
|
181
|
+
"table",
|
182
|
+
"td",
|
183
|
+
"th",
|
184
|
+
];
|
185
|
+
|
186
|
+
var index = 0;
|
187
|
+
for (i = 0; i < otherTags.length; ++i)
|
188
|
+
createRowNesting(otherTags[i], 0, index++);
|
189
|
+
|
190
|
+
for (i = 0; i < sectionTags.length; ++i)
|
191
|
+
createRowNesting(sectionTags[i], 0, index++);
|
192
|
+
|
193
|
+
createRowNesting("tr", 1, index++);
|
194
|
+
|
195
|
+
document.body.appendChild(bodiesTest);
|
196
|
+
};
|
197
|
+
|
198
|
+
buildRowsTest();
|
199
|
+
buildCellsTest();
|
200
|
+
buildBodiesTest();
|
201
|
+
</script>
|
202
|
+
<body>
|
203
203
|
</html>
|
@@ -1,140 +1,140 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
3
|
-
<head>
|
4
|
-
<title>Non-control elements</title>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
-
<script src="javascript/helpers.js" type="text/javascript" charset="utf-8"></script>
|
7
|
-
</head>
|
8
|
-
<body>
|
9
|
-
<div></div>
|
10
|
-
<div id="outer_container">
|
11
|
-
<div id="header" title="Header and primary navigation" class="profile">
|
12
|
-
<h1 id="first_header" class="primary">Header 1</h1>
|
13
|
-
<ul id="navbar" class="navigation">
|
14
|
-
<li><a></a></li>
|
15
|
-
<li><a id="link_2" title="link_title_2" href="non_control_elements.html" class="external">Link 2</a></li>
|
16
|
-
<li><a id="link_3" title="link_title_3" href="forms_with_input_elements.html" name="bad_attribute" value="bad_attribute" class="external">Link 3</a></li>
|
17
|
-
<li></li>
|
18
|
-
<li id="non_link_1" class="nonlink" title="This is not a link!">Non-link 1</li>
|
19
|
-
<li id="non_link_2">Non-link 2</li>
|
20
|
-
<li>Non-link 3</li>
|
21
|
-
</ul>
|
22
|
-
</div>
|
23
|
-
<div id="promo" name="invalid_attribute" value="invalid_attribute">
|
24
|
-
<h2 id="promo_header">Promo</h2>
|
25
|
-
<span id="lead" class="lead" title="Lorem ipsum">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur eu pede. Ut justo. Praesent feugiat, elit in feugiat iaculis, sem risus rutrum justo, eget fermentum dolor arcu non nunc.</span>
|
26
|
-
<span name="invalid_attribute" value="invalid_attribute">Sed pretium metus et quam. Nullam odio dolor, vestibulum non, tempor ut, vehicula sed, sapien. Vestibulum placerat ligula at quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</span>
|
27
|
-
<span>Suspendisse at ipsum a turpis viverra venenatis. Praesent ut nibh. Nullam eu odio. Donec tempor, elit ut lacinia porttitor, augue neque vehicula diam, in elementum ligula nisi a tellus. Aliquam vestibulum ultricies tortor. </span>
|
28
|
-
<span><strong id="descartes" class="descartes">Dubito, <em class="important-class" id="important-id" title="ergo cogito">ergo cogito</em>, ergo sum.</strong></span>
|
29
|
-
<span></span>
|
30
|
-
<h3>Chemical compounds</h3>
|
31
|
-
<ul>
|
32
|
-
<li>Abietic acid, <strong>C20H30O2</strong></li>
|
33
|
-
<li>Acenaphthene, C12H10</li>
|
34
|
-
<li>Acenaphthoquinone, C12H6O2</li>
|
35
|
-
<li>Acenaphthylene, C12H8</li>
|
36
|
-
<li>Acetaldehyde (ethanal), CH3CHO</li>
|
37
|
-
</ul>
|
38
|
-
<ol id="favorite_compounds" class="chemistry">
|
39
|
-
<li>Propanol, CH3CH2CH2OH</li>
|
40
|
-
<li>Ethane, C2H6</li>
|
41
|
-
<li>Hexene, C6H12</li>
|
42
|
-
<li>Acetone, CH3COCH3</li>
|
43
|
-
<li>Ethanol, CH3CH2OH</li>
|
44
|
-
</ol>
|
45
|
-
<ol>
|
46
|
-
<li></li>
|
47
|
-
</ol>
|
48
|
-
</div>
|
49
|
-
<div id="content">
|
50
|
-
<h2>Content</h2>
|
51
|
-
<p id="lead" class="lead" title="Lorem ipsum">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur eu pede. Ut justo. Praesent feugiat, elit in feugiat iaculis, sem risus rutrum justo, eget fermentum dolor arcu non nunc.</p>
|
52
|
-
<p name="invalid_attribute" value="invalid_attribute">Sed pretium metus et quam. Nullam odio dolor, vestibulum non, tempor ut, vehicula sed, sapien. Vestibulum placerat ligula at quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
|
53
|
-
<p>Suspendisse at ipsum a turpis viverra venenatis. Praesent ut nibh. Nullam eu odio. Donec tempor, elit ut lacinia porttitor, augue neque vehicula diam, in elementum ligula nisi a tellus. Aliquam vestibulum ultricies tortor. </p>
|
54
|
-
<p>Dubito, ergo cogito, ergo sum.</p>
|
55
|
-
<p></p>
|
56
|
-
<pre></pre>
|
57
|
-
<div id="best_language" onclick="this.innerHTML = 'Ruby!'" style="color: red; text-decoration: underline; cursor: pointer;">What's the best programming language?</div>
|
58
|
-
<h2>Ruby RSpec example</h2>
|
59
|
-
<pre class="ruby" id="rspec">
|
60
|
-
browser.pre(id: "rspec").should exist
|
61
|
-
</pre>
|
62
|
-
<h2>PHP Hello World</h2>
|
63
|
-
<pre class="php">
|
64
|
-
<?php
|
65
|
-
echo "Hello, World!\n";
|
66
|
-
?>
|
67
|
-
</pre>
|
68
|
-
<h2>Ruby Hello World</h2>
|
69
|
-
<pre class="ruby">
|
70
|
-
puts "Hello, World!"
|
71
|
-
</pre>
|
72
|
-
<h2>C++ Hello World</h2>
|
73
|
-
<pre class="c-plus-plus">
|
74
|
-
main() {
|
75
|
-
cout << "Hello World!\n";
|
76
|
-
return 0;
|
77
|
-
}
|
78
|
-
</pre>
|
79
|
-
<h2>Haskell</h2>
|
80
|
-
<pre class="haskell">main = putStrLn "Hello World"</pre>
|
81
|
-
<h2>Brainfuck</h2>
|
82
|
-
<pre class="brainfuck" title="The brainfuck language is an esoteric programming language noted for its extreme minimalism">
|
83
|
-
++++++++++
|
84
|
-
[>+++++++>++++++++++>+++>+<<<<-] The initial loop to set up useful values in the array
|
85
|
-
>++. Print 'H'
|
86
|
-
>+. Print 'e'
|
87
|
-
+++++++. Print 'l'
|
88
|
-
. Print 'l'
|
89
|
-
+++. Print 'o'
|
90
|
-
>++. Print ' '
|
91
|
-
<<+++++++++++++++. Print 'W'
|
92
|
-
>. Print 'o'
|
93
|
-
+++. Print 'r'
|
94
|
-
------. Print 'l'
|
95
|
-
--------. Print 'd'
|
96
|
-
>+. Print '!'
|
97
|
-
>. Print newline
|
98
|
-
</pre>
|
99
|
-
</div>
|
100
|
-
<div id="html_test" class=some_class title="This is a title" ondblclick="WatirSpec.addMessage('double clicked')">
|
101
|
-
<h1 id="header1">Header 1</h1>
|
102
|
-
<h2 id="header2">Header 2</h2>
|
103
|
-
<h3 id="header3">Header 3</h3>
|
104
|
-
<h4 id="header4">Header 4</h4>
|
105
|
-
<h5 id="header5">Header 5</h5>
|
106
|
-
<h6 id="header6">Header 6</h6>
|
107
|
-
<h6 id="empty_header"></h6>
|
108
|
-
</div>
|
109
|
-
<div id="footer" title="Closing remarks" class="profile">
|
110
|
-
<span class="footer" onclick="this.innerHTML = 'This is a footer with text set by Javascript.'">This is a footer.</span>
|
111
|
-
</div>
|
112
|
-
<a href="strip_space ">Space should be stripped from href</a>
|
113
|
-
<div id="shown"><div id="hidden" style="display: none;">Not shown</div><div>Not hidden</div></div>
|
114
|
-
</div>
|
115
|
-
|
116
|
-
<div id="messages"></div>
|
117
|
-
|
118
|
-
<div id="ins_tag_test">
|
119
|
-
<ins id="lead" class="lead" title='Lorem ipsum'>This is an inserted text tag 1</ins>
|
120
|
-
<ins value="invalid_attribute">This is an inserted text tag 2</ins>
|
121
|
-
<ins>This is an inserted text tag 3</ins>
|
122
|
-
<ins></ins>
|
123
|
-
<ins class="footer" onclick="this.innerHTML = 'This is an ins with text set by Javascript.'">This is an ins.</ins>
|
124
|
-
</div>
|
125
|
-
|
126
|
-
<div id="del_tag_test">
|
127
|
-
<del id="lead" class="lead" title='Lorem ipsum'>This is a deleted text tag 1</del>
|
128
|
-
<del value="invalid_attribute">This is a deleted text tag 2</del>
|
129
|
-
<del>This is a deleted text tag 3</del>
|
130
|
-
<del></del>
|
131
|
-
<del class="footer" onclick="this.innerHTML = 'This is a del with text set by Javascript.'">This is a del.</del>
|
132
|
-
</div>
|
133
|
-
<div custom-attribute=custom>Custom</div>
|
134
|
-
<div id="visible_text">
|
135
|
-
<a id="all_visible_text">all visible</a>
|
136
|
-
<a id="some_visible_text">some visible<span style="display:none;"> some hidden</span></a>
|
137
|
-
<a id="no_visible_text" style="display:none;">none visible</a>
|
138
|
-
</div>
|
139
|
-
</body>
|
140
|
-
</html>
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
3
|
+
<head>
|
4
|
+
<title>Non-control elements</title>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<script src="javascript/helpers.js" type="text/javascript" charset="utf-8"></script>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<div></div>
|
10
|
+
<div id="outer_container">
|
11
|
+
<div id="header" title="Header and primary navigation" class="profile">
|
12
|
+
<h1 id="first_header" class="primary">Header 1</h1>
|
13
|
+
<ul id="navbar" class="navigation">
|
14
|
+
<li><a></a></li>
|
15
|
+
<li><a id="link_2" title="link_title_2" href="non_control_elements.html" class="external">Link 2</a></li>
|
16
|
+
<li><a id="link_3" title="link_title_3" href="forms_with_input_elements.html" name="bad_attribute" value="bad_attribute" class="external">Link 3</a></li>
|
17
|
+
<li></li>
|
18
|
+
<li id="non_link_1" class="nonlink" title="This is not a link!">Non-link 1</li>
|
19
|
+
<li id="non_link_2">Non-link 2</li>
|
20
|
+
<li>Non-link 3</li>
|
21
|
+
</ul>
|
22
|
+
</div>
|
23
|
+
<div id="promo" name="invalid_attribute" value="invalid_attribute">
|
24
|
+
<h2 id="promo_header">Promo</h2>
|
25
|
+
<span id="lead" class="lead" title="Lorem ipsum">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur eu pede. Ut justo. Praesent feugiat, elit in feugiat iaculis, sem risus rutrum justo, eget fermentum dolor arcu non nunc.</span>
|
26
|
+
<span name="invalid_attribute" value="invalid_attribute">Sed pretium metus et quam. Nullam odio dolor, vestibulum non, tempor ut, vehicula sed, sapien. Vestibulum placerat ligula at quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</span>
|
27
|
+
<span>Suspendisse at ipsum a turpis viverra venenatis. Praesent ut nibh. Nullam eu odio. Donec tempor, elit ut lacinia porttitor, augue neque vehicula diam, in elementum ligula nisi a tellus. Aliquam vestibulum ultricies tortor. </span>
|
28
|
+
<span><strong id="descartes" class="descartes">Dubito, <em class="important-class" id="important-id" title="ergo cogito">ergo cogito</em>, ergo sum.</strong></span>
|
29
|
+
<span></span>
|
30
|
+
<h3>Chemical compounds</h3>
|
31
|
+
<ul>
|
32
|
+
<li>Abietic acid, <strong>C20H30O2</strong></li>
|
33
|
+
<li>Acenaphthene, C12H10</li>
|
34
|
+
<li>Acenaphthoquinone, C12H6O2</li>
|
35
|
+
<li>Acenaphthylene, C12H8</li>
|
36
|
+
<li>Acetaldehyde (ethanal), CH3CHO</li>
|
37
|
+
</ul>
|
38
|
+
<ol id="favorite_compounds" class="chemistry">
|
39
|
+
<li>Propanol, CH3CH2CH2OH</li>
|
40
|
+
<li>Ethane, C2H6</li>
|
41
|
+
<li>Hexene, C6H12</li>
|
42
|
+
<li>Acetone, CH3COCH3</li>
|
43
|
+
<li>Ethanol, CH3CH2OH</li>
|
44
|
+
</ol>
|
45
|
+
<ol>
|
46
|
+
<li></li>
|
47
|
+
</ol>
|
48
|
+
</div>
|
49
|
+
<div id="content">
|
50
|
+
<h2>Content</h2>
|
51
|
+
<p id="lead" class="lead" title="Lorem ipsum">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur eu pede. Ut justo. Praesent feugiat, elit in feugiat iaculis, sem risus rutrum justo, eget fermentum dolor arcu non nunc.</p>
|
52
|
+
<p name="invalid_attribute" value="invalid_attribute">Sed pretium metus et quam. Nullam odio dolor, vestibulum non, tempor ut, vehicula sed, sapien. Vestibulum placerat ligula at quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
|
53
|
+
<p>Suspendisse at ipsum a turpis viverra venenatis. Praesent ut nibh. Nullam eu odio. Donec tempor, elit ut lacinia porttitor, augue neque vehicula diam, in elementum ligula nisi a tellus. Aliquam vestibulum ultricies tortor. </p>
|
54
|
+
<p>Dubito, ergo cogito, ergo sum.</p>
|
55
|
+
<p></p>
|
56
|
+
<pre></pre>
|
57
|
+
<div id="best_language" onclick="this.innerHTML = 'Ruby!'" style="color: red; text-decoration: underline; cursor: pointer;">What's the best programming language?</div>
|
58
|
+
<h2>Ruby RSpec example</h2>
|
59
|
+
<pre class="ruby" id="rspec">
|
60
|
+
browser.pre(id: "rspec").should exist
|
61
|
+
</pre>
|
62
|
+
<h2>PHP Hello World</h2>
|
63
|
+
<pre class="php">
|
64
|
+
<?php
|
65
|
+
echo "Hello, World!\n";
|
66
|
+
?>
|
67
|
+
</pre>
|
68
|
+
<h2>Ruby Hello World</h2>
|
69
|
+
<pre class="ruby">
|
70
|
+
puts "Hello, World!"
|
71
|
+
</pre>
|
72
|
+
<h2>C++ Hello World</h2>
|
73
|
+
<pre class="c-plus-plus">
|
74
|
+
main() {
|
75
|
+
cout << "Hello World!\n";
|
76
|
+
return 0;
|
77
|
+
}
|
78
|
+
</pre>
|
79
|
+
<h2>Haskell</h2>
|
80
|
+
<pre class="haskell">main = putStrLn "Hello World"</pre>
|
81
|
+
<h2>Brainfuck</h2>
|
82
|
+
<pre class="brainfuck" title="The brainfuck language is an esoteric programming language noted for its extreme minimalism">
|
83
|
+
++++++++++
|
84
|
+
[>+++++++>++++++++++>+++>+<<<<-] The initial loop to set up useful values in the array
|
85
|
+
>++. Print 'H'
|
86
|
+
>+. Print 'e'
|
87
|
+
+++++++. Print 'l'
|
88
|
+
. Print 'l'
|
89
|
+
+++. Print 'o'
|
90
|
+
>++. Print ' '
|
91
|
+
<<+++++++++++++++. Print 'W'
|
92
|
+
>. Print 'o'
|
93
|
+
+++. Print 'r'
|
94
|
+
------. Print 'l'
|
95
|
+
--------. Print 'd'
|
96
|
+
>+. Print '!'
|
97
|
+
>. Print newline
|
98
|
+
</pre>
|
99
|
+
</div>
|
100
|
+
<div id="html_test" class=some_class title="This is a title" ondblclick="WatirSpec.addMessage('double clicked')">
|
101
|
+
<h1 id="header1">Header 1</h1>
|
102
|
+
<h2 id="header2">Header 2</h2>
|
103
|
+
<h3 id="header3">Header 3</h3>
|
104
|
+
<h4 id="header4">Header 4</h4>
|
105
|
+
<h5 id="header5">Header 5</h5>
|
106
|
+
<h6 id="header6">Header 6</h6>
|
107
|
+
<h6 id="empty_header"></h6>
|
108
|
+
</div>
|
109
|
+
<div id="footer" title="Closing remarks" class="profile">
|
110
|
+
<span class="footer" onclick="this.innerHTML = 'This is a footer with text set by Javascript.'">This is a footer.</span>
|
111
|
+
</div>
|
112
|
+
<a href="strip_space ">Space should be stripped from href</a>
|
113
|
+
<div id="shown"><div id="hidden" style="display: none;">Not shown</div><div>Not hidden</div></div>
|
114
|
+
</div>
|
115
|
+
|
116
|
+
<div id="messages"></div>
|
117
|
+
|
118
|
+
<div id="ins_tag_test">
|
119
|
+
<ins id="lead" class="lead" title='Lorem ipsum'>This is an inserted text tag 1</ins>
|
120
|
+
<ins value="invalid_attribute">This is an inserted text tag 2</ins>
|
121
|
+
<ins>This is an inserted text tag 3</ins>
|
122
|
+
<ins></ins>
|
123
|
+
<ins class="footer" onclick="this.innerHTML = 'This is an ins with text set by Javascript.'">This is an ins.</ins>
|
124
|
+
</div>
|
125
|
+
|
126
|
+
<div id="del_tag_test">
|
127
|
+
<del id="lead" class="lead" title='Lorem ipsum'>This is a deleted text tag 1</del>
|
128
|
+
<del value="invalid_attribute">This is a deleted text tag 2</del>
|
129
|
+
<del>This is a deleted text tag 3</del>
|
130
|
+
<del></del>
|
131
|
+
<del class="footer" onclick="this.innerHTML = 'This is a del with text set by Javascript.'">This is a del.</del>
|
132
|
+
</div>
|
133
|
+
<div custom-attribute=custom>Custom</div>
|
134
|
+
<div id="visible_text">
|
135
|
+
<a id="all_visible_text">all visible</a>
|
136
|
+
<a id="some_visible_text">some visible<span style="display:none;"> some hidden</span></a>
|
137
|
+
<a id="no_visible_text" style="display:none;">none visible</a>
|
138
|
+
</div>
|
139
|
+
</body>
|
140
|
+
</html>
|