capybara 2.18.0 → 3.40.0
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.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/History.md +945 -12
- data/License.txt +1 -1
- data/README.md +264 -90
- data/lib/capybara/config.rb +29 -57
- data/lib/capybara/cucumber.rb +2 -3
- data/lib/capybara/driver/base.rb +35 -18
- data/lib/capybara/driver/node.rb +40 -10
- data/lib/capybara/dsl.rb +10 -7
- data/lib/capybara/helpers.rb +70 -31
- data/lib/capybara/minitest/spec.rb +185 -83
- data/lib/capybara/minitest.rb +232 -112
- data/lib/capybara/node/actions.rb +274 -171
- data/lib/capybara/node/base.rb +42 -34
- data/lib/capybara/node/document.rb +15 -3
- data/lib/capybara/node/document_matchers.rb +19 -21
- data/lib/capybara/node/element.rb +362 -135
- data/lib/capybara/node/finders.rb +151 -137
- data/lib/capybara/node/matchers.rb +394 -209
- data/lib/capybara/node/simple.rb +59 -26
- data/lib/capybara/node/whitespace_normalizer.rb +81 -0
- data/lib/capybara/queries/active_element_query.rb +18 -0
- data/lib/capybara/queries/ancestor_query.rb +12 -9
- data/lib/capybara/queries/base_query.rb +39 -28
- data/lib/capybara/queries/current_path_query.rb +21 -27
- data/lib/capybara/queries/match_query.rb +14 -7
- data/lib/capybara/queries/selector_query.rb +659 -149
- data/lib/capybara/queries/sibling_query.rb +11 -9
- data/lib/capybara/queries/style_query.rb +45 -0
- data/lib/capybara/queries/text_query.rb +56 -38
- data/lib/capybara/queries/title_query.rb +8 -11
- data/lib/capybara/rack_test/browser.rb +114 -42
- data/lib/capybara/rack_test/css_handlers.rb +6 -4
- data/lib/capybara/rack_test/driver.rb +22 -17
- data/lib/capybara/rack_test/errors.rb +6 -0
- data/lib/capybara/rack_test/form.rb +93 -58
- data/lib/capybara/rack_test/node.rb +184 -81
- data/lib/capybara/rails.rb +3 -7
- data/lib/capybara/registration_container.rb +41 -0
- data/lib/capybara/registrations/drivers.rb +42 -0
- data/lib/capybara/registrations/patches/puma_ssl.rb +29 -0
- data/lib/capybara/registrations/servers.rb +66 -0
- data/lib/capybara/result.rb +97 -63
- data/lib/capybara/rspec/features.rb +17 -50
- data/lib/capybara/rspec/matcher_proxies.rb +52 -15
- data/lib/capybara/rspec/matchers/base.rb +113 -0
- data/lib/capybara/rspec/matchers/become_closed.rb +33 -0
- data/lib/capybara/rspec/matchers/compound.rb +88 -0
- data/lib/capybara/rspec/matchers/count_sugar.rb +37 -0
- data/lib/capybara/rspec/matchers/have_ancestor.rb +28 -0
- data/lib/capybara/rspec/matchers/have_current_path.rb +29 -0
- data/lib/capybara/rspec/matchers/have_selector.rb +69 -0
- data/lib/capybara/rspec/matchers/have_sibling.rb +27 -0
- data/lib/capybara/rspec/matchers/have_text.rb +33 -0
- data/lib/capybara/rspec/matchers/have_title.rb +29 -0
- data/lib/capybara/rspec/matchers/match_selector.rb +27 -0
- data/lib/capybara/rspec/matchers/match_style.rb +43 -0
- data/lib/capybara/rspec/matchers/spatial_sugar.rb +39 -0
- data/lib/capybara/rspec/matchers.rb +146 -310
- data/lib/capybara/rspec.rb +7 -11
- data/lib/capybara/selector/builders/css_builder.rb +84 -0
- data/lib/capybara/selector/builders/xpath_builder.rb +71 -0
- data/lib/capybara/selector/css.rb +85 -13
- data/lib/capybara/selector/definition/button.rb +68 -0
- data/lib/capybara/selector/definition/checkbox.rb +26 -0
- data/lib/capybara/selector/definition/css.rb +10 -0
- data/lib/capybara/selector/definition/datalist_input.rb +35 -0
- data/lib/capybara/selector/definition/datalist_option.rb +25 -0
- data/lib/capybara/selector/definition/element.rb +28 -0
- data/lib/capybara/selector/definition/field.rb +40 -0
- data/lib/capybara/selector/definition/fieldset.rb +14 -0
- data/lib/capybara/selector/definition/file_field.rb +13 -0
- data/lib/capybara/selector/definition/fillable_field.rb +33 -0
- data/lib/capybara/selector/definition/frame.rb +17 -0
- data/lib/capybara/selector/definition/id.rb +6 -0
- data/lib/capybara/selector/definition/label.rb +62 -0
- data/lib/capybara/selector/definition/link.rb +55 -0
- data/lib/capybara/selector/definition/link_or_button.rb +16 -0
- data/lib/capybara/selector/definition/option.rb +27 -0
- data/lib/capybara/selector/definition/radio_button.rb +27 -0
- data/lib/capybara/selector/definition/select.rb +81 -0
- data/lib/capybara/selector/definition/table.rb +109 -0
- data/lib/capybara/selector/definition/table_row.rb +21 -0
- data/lib/capybara/selector/definition/xpath.rb +5 -0
- data/lib/capybara/selector/definition.rb +280 -0
- data/lib/capybara/selector/filter.rb +2 -17
- data/lib/capybara/selector/filter_set.rb +80 -33
- data/lib/capybara/selector/filters/base.rb +50 -6
- data/lib/capybara/selector/filters/expression_filter.rb +8 -26
- data/lib/capybara/selector/filters/locator_filter.rb +29 -0
- data/lib/capybara/selector/filters/node_filter.rb +16 -12
- data/lib/capybara/selector/regexp_disassembler.rb +211 -0
- data/lib/capybara/selector/selector.rb +93 -210
- data/lib/capybara/selector/xpath_extensions.rb +17 -0
- data/lib/capybara/selector.rb +475 -523
- data/lib/capybara/selenium/atoms/getAttribute.min.js +1 -0
- data/lib/capybara/selenium/atoms/isDisplayed.min.js +1 -0
- data/lib/capybara/selenium/atoms/src/getAttribute.js +161 -0
- data/lib/capybara/selenium/atoms/src/isDisplayed.js +454 -0
- data/lib/capybara/selenium/driver.rb +298 -267
- data/lib/capybara/selenium/driver_specializations/chrome_driver.rb +117 -0
- data/lib/capybara/selenium/driver_specializations/edge_driver.rb +128 -0
- data/lib/capybara/selenium/driver_specializations/firefox_driver.rb +84 -0
- data/lib/capybara/selenium/driver_specializations/internet_explorer_driver.rb +26 -0
- data/lib/capybara/selenium/driver_specializations/safari_driver.rb +24 -0
- data/lib/capybara/selenium/extensions/file_input_click_emulation.rb +34 -0
- data/lib/capybara/selenium/extensions/find.rb +110 -0
- data/lib/capybara/selenium/extensions/html5_drag.rb +229 -0
- data/lib/capybara/selenium/extensions/modifier_keys_stack.rb +28 -0
- data/lib/capybara/selenium/extensions/scroll.rb +76 -0
- data/lib/capybara/selenium/node.rb +517 -145
- data/lib/capybara/selenium/nodes/chrome_node.rb +125 -0
- data/lib/capybara/selenium/nodes/edge_node.rb +110 -0
- data/lib/capybara/selenium/nodes/firefox_node.rb +136 -0
- data/lib/capybara/selenium/nodes/ie_node.rb +22 -0
- data/lib/capybara/selenium/nodes/safari_node.rb +118 -0
- data/lib/capybara/selenium/patches/atoms.rb +18 -0
- data/lib/capybara/selenium/patches/is_displayed.rb +16 -0
- data/lib/capybara/selenium/patches/logs.rb +45 -0
- data/lib/capybara/selenium/patches/pause_duration_fix.rb +9 -0
- data/lib/capybara/selenium/patches/persistent_client.rb +20 -0
- data/lib/capybara/server/animation_disabler.rb +80 -0
- data/lib/capybara/server/checker.rb +44 -0
- data/lib/capybara/server/middleware.rb +71 -0
- data/lib/capybara/server.rb +59 -67
- data/lib/capybara/session/config.rb +81 -67
- data/lib/capybara/session/matchers.rb +28 -20
- data/lib/capybara/session.rb +337 -365
- data/lib/capybara/spec/public/jquery.js +5 -5
- data/lib/capybara/spec/public/offset.js +6 -0
- data/lib/capybara/spec/public/test.js +151 -12
- data/lib/capybara/spec/session/accept_alert_spec.rb +12 -11
- data/lib/capybara/spec/session/accept_confirm_spec.rb +6 -5
- data/lib/capybara/spec/session/accept_prompt_spec.rb +10 -10
- data/lib/capybara/spec/session/active_element_spec.rb +31 -0
- data/lib/capybara/spec/session/all_spec.rb +161 -57
- data/lib/capybara/spec/session/ancestor_spec.rb +27 -24
- data/lib/capybara/spec/session/assert_all_of_selectors_spec.rb +68 -38
- data/lib/capybara/spec/session/assert_current_path_spec.rb +75 -0
- data/lib/capybara/spec/session/assert_selector_spec.rb +143 -0
- data/lib/capybara/spec/session/assert_style_spec.rb +26 -0
- data/lib/capybara/spec/session/assert_text_spec.rb +258 -0
- data/lib/capybara/spec/session/{assert_title.rb → assert_title_spec.rb} +22 -12
- data/lib/capybara/spec/session/attach_file_spec.rb +144 -69
- data/lib/capybara/spec/session/body_spec.rb +12 -13
- data/lib/capybara/spec/session/check_spec.rb +117 -55
- data/lib/capybara/spec/session/choose_spec.rb +64 -31
- data/lib/capybara/spec/session/click_button_spec.rb +231 -173
- data/lib/capybara/spec/session/click_link_or_button_spec.rb +55 -35
- data/lib/capybara/spec/session/click_link_spec.rb +93 -58
- data/lib/capybara/spec/session/current_scope_spec.rb +12 -11
- data/lib/capybara/spec/session/current_url_spec.rb +57 -39
- data/lib/capybara/spec/session/dismiss_confirm_spec.rb +4 -4
- data/lib/capybara/spec/session/dismiss_prompt_spec.rb +3 -2
- data/lib/capybara/spec/session/element/{assert_match_selector.rb → assert_match_selector_spec.rb} +11 -9
- data/lib/capybara/spec/session/element/match_css_spec.rb +18 -10
- data/lib/capybara/spec/session/element/match_xpath_spec.rb +9 -7
- data/lib/capybara/spec/session/element/matches_selector_spec.rb +71 -57
- data/lib/capybara/spec/session/evaluate_async_script_spec.rb +8 -7
- data/lib/capybara/spec/session/evaluate_script_spec.rb +29 -8
- data/lib/capybara/spec/session/execute_script_spec.rb +10 -8
- data/lib/capybara/spec/session/fill_in_spec.rb +134 -43
- data/lib/capybara/spec/session/find_button_spec.rb +25 -24
- data/lib/capybara/spec/session/find_by_id_spec.rb +10 -9
- data/lib/capybara/spec/session/find_field_spec.rb +37 -41
- data/lib/capybara/spec/session/find_link_spec.rb +46 -17
- data/lib/capybara/spec/session/find_spec.rb +260 -145
- data/lib/capybara/spec/session/first_spec.rb +80 -52
- data/lib/capybara/spec/session/frame/frame_title_spec.rb +23 -0
- data/lib/capybara/spec/session/frame/frame_url_spec.rb +23 -0
- data/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +33 -20
- data/lib/capybara/spec/session/frame/within_frame_spec.rb +52 -32
- data/lib/capybara/spec/session/go_back_spec.rb +2 -1
- data/lib/capybara/spec/session/go_forward_spec.rb +2 -1
- data/lib/capybara/spec/session/has_all_selectors_spec.rb +31 -31
- data/lib/capybara/spec/session/has_ancestor_spec.rb +46 -0
- data/lib/capybara/spec/session/has_any_selectors_spec.rb +29 -0
- data/lib/capybara/spec/session/has_button_spec.rb +100 -13
- data/lib/capybara/spec/session/has_css_spec.rb +272 -137
- data/lib/capybara/spec/session/has_current_path_spec.rb +60 -61
- data/lib/capybara/spec/session/has_element_spec.rb +47 -0
- data/lib/capybara/spec/session/has_field_spec.rb +139 -59
- data/lib/capybara/spec/session/has_link_spec.rb +47 -6
- data/lib/capybara/spec/session/has_none_selectors_spec.rb +42 -40
- data/lib/capybara/spec/session/has_select_spec.rb +107 -72
- data/lib/capybara/spec/session/has_selector_spec.rb +120 -71
- data/lib/capybara/spec/session/has_sibling_spec.rb +50 -0
- data/lib/capybara/spec/session/has_table_spec.rb +183 -5
- data/lib/capybara/spec/session/has_text_spec.rb +106 -62
- data/lib/capybara/spec/session/has_title_spec.rb +20 -14
- data/lib/capybara/spec/session/has_xpath_spec.rb +57 -38
- data/lib/capybara/spec/session/{headers.rb → headers_spec.rb} +3 -2
- data/lib/capybara/spec/session/html_spec.rb +14 -6
- data/lib/capybara/spec/session/matches_style_spec.rb +37 -0
- data/lib/capybara/spec/session/node_spec.rb +1024 -153
- data/lib/capybara/spec/session/node_wrapper_spec.rb +39 -0
- data/lib/capybara/spec/session/refresh_spec.rb +12 -6
- data/lib/capybara/spec/session/reset_session_spec.rb +82 -35
- data/lib/capybara/spec/session/{response_code.rb → response_code_spec.rb} +2 -1
- data/lib/capybara/spec/session/save_and_open_page_spec.rb +3 -2
- data/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +8 -12
- data/lib/capybara/spec/session/save_page_spec.rb +42 -55
- data/lib/capybara/spec/session/save_screenshot_spec.rb +16 -14
- data/lib/capybara/spec/session/screenshot_spec.rb +2 -2
- data/lib/capybara/spec/session/scroll_spec.rb +119 -0
- data/lib/capybara/spec/session/select_spec.rb +107 -81
- data/lib/capybara/spec/session/selectors_spec.rb +52 -19
- data/lib/capybara/spec/session/sibling_spec.rb +10 -10
- data/lib/capybara/spec/session/text_spec.rb +37 -21
- data/lib/capybara/spec/session/title_spec.rb +17 -5
- data/lib/capybara/spec/session/uncheck_spec.rb +43 -23
- data/lib/capybara/spec/session/unselect_spec.rb +39 -38
- data/lib/capybara/spec/session/visit_spec.rb +85 -53
- data/lib/capybara/spec/session/window/become_closed_spec.rb +24 -20
- data/lib/capybara/spec/session/window/current_window_spec.rb +5 -3
- data/lib/capybara/spec/session/window/open_new_window_spec.rb +5 -3
- data/lib/capybara/spec/session/window/switch_to_window_spec.rb +27 -22
- data/lib/capybara/spec/session/window/window_opened_by_spec.rb +12 -6
- data/lib/capybara/spec/session/window/window_spec.rb +97 -63
- data/lib/capybara/spec/session/window/windows_spec.rb +12 -10
- data/lib/capybara/spec/session/window/within_window_spec.rb +31 -86
- data/lib/capybara/spec/session/within_spec.rb +83 -44
- data/lib/capybara/spec/spec_helper.rb +54 -44
- data/lib/capybara/spec/test_app.rb +158 -43
- data/lib/capybara/spec/views/animated.erb +49 -0
- data/lib/capybara/spec/views/form.erb +163 -42
- data/lib/capybara/spec/views/frame_child.erb +4 -3
- data/lib/capybara/spec/views/frame_one.erb +2 -1
- data/lib/capybara/spec/views/frame_parent.erb +1 -1
- data/lib/capybara/spec/views/frame_two.erb +1 -1
- data/lib/capybara/spec/views/initial_alert.erb +2 -1
- data/lib/capybara/spec/views/layout.erb +10 -0
- data/lib/capybara/spec/views/obscured.erb +47 -0
- data/lib/capybara/spec/views/offset.erb +33 -0
- data/lib/capybara/spec/views/path.erb +2 -2
- data/lib/capybara/spec/views/popup_one.erb +1 -1
- data/lib/capybara/spec/views/popup_two.erb +1 -1
- data/lib/capybara/spec/views/react.erb +45 -0
- data/lib/capybara/spec/views/scroll.erb +21 -0
- data/lib/capybara/spec/views/spatial.erb +31 -0
- data/lib/capybara/spec/views/tables.erb +68 -1
- data/lib/capybara/spec/views/with_animation.erb +81 -0
- data/lib/capybara/spec/views/with_base_tag.erb +2 -2
- data/lib/capybara/spec/views/with_dragula.erb +24 -0
- data/lib/capybara/spec/views/with_fixed_header_footer.erb +2 -1
- data/lib/capybara/spec/views/with_hover.erb +3 -2
- data/lib/capybara/spec/views/with_hover1.erb +10 -0
- data/lib/capybara/spec/views/with_html.erb +69 -12
- data/lib/capybara/spec/views/with_html5_svg.erb +20 -0
- data/lib/capybara/spec/views/with_jquery_animation.erb +24 -0
- data/lib/capybara/spec/views/with_js.erb +30 -5
- data/lib/capybara/spec/views/with_jstree.erb +26 -0
- data/lib/capybara/spec/views/with_namespace.erb +21 -0
- data/lib/capybara/spec/views/with_scope.erb +2 -2
- data/lib/capybara/spec/views/with_scope_other.erb +6 -0
- data/lib/capybara/spec/views/with_shadow.erb +31 -0
- data/lib/capybara/spec/views/with_slow_unload.erb +2 -1
- data/lib/capybara/spec/views/with_sortable_js.erb +21 -0
- data/lib/capybara/spec/views/with_unload_alert.erb +1 -0
- data/lib/capybara/spec/views/with_windows.erb +1 -1
- data/lib/capybara/spec/views/within_frames.erb +5 -2
- data/lib/capybara/version.rb +2 -1
- data/lib/capybara/window.rb +36 -34
- data/lib/capybara.rb +134 -107
- data/spec/basic_node_spec.rb +60 -34
- data/spec/capybara_spec.rb +63 -88
- data/spec/counter_spec.rb +35 -0
- data/spec/css_builder_spec.rb +101 -0
- data/spec/css_splitter_spec.rb +38 -0
- data/spec/dsl_spec.rb +85 -64
- data/spec/filter_set_spec.rb +27 -9
- data/spec/fixtures/certificate.pem +25 -0
- data/spec/fixtures/key.pem +27 -0
- data/spec/fixtures/selenium_driver_rspec_failure.rb +6 -5
- data/spec/fixtures/selenium_driver_rspec_success.rb +6 -5
- data/spec/minitest_spec.rb +52 -7
- data/spec/minitest_spec_spec.rb +94 -63
- data/spec/per_session_config_spec.rb +14 -13
- data/spec/rack_test_spec.rb +194 -125
- data/spec/regexp_dissassembler_spec.rb +250 -0
- data/spec/result_spec.rb +111 -50
- data/spec/rspec/features_spec.rb +37 -31
- data/spec/rspec/scenarios_spec.rb +10 -8
- data/spec/rspec/shared_spec_matchers.rb +473 -422
- data/spec/rspec/views_spec.rb +5 -3
- data/spec/rspec_matchers_spec.rb +52 -11
- data/spec/rspec_spec.rb +109 -89
- data/spec/sauce_spec_chrome.rb +43 -0
- data/spec/selector_spec.rb +397 -68
- data/spec/selenium_spec_chrome.rb +187 -40
- data/spec/selenium_spec_chrome_remote.rb +96 -0
- data/spec/selenium_spec_edge.rb +60 -0
- data/spec/selenium_spec_firefox.rb +201 -41
- data/spec/selenium_spec_firefox_remote.rb +94 -0
- data/spec/selenium_spec_ie.rb +149 -0
- data/spec/selenium_spec_safari.rb +162 -0
- data/spec/server_spec.rb +213 -102
- data/spec/session_spec.rb +53 -16
- data/spec/shared_selenium_node.rb +79 -0
- data/spec/shared_selenium_session.rb +473 -122
- data/spec/spec_helper.rb +126 -7
- data/spec/whitespace_normalizer_spec.rb +54 -0
- data/spec/xpath_builder_spec.rb +93 -0
- metadata +355 -73
- data/.yard/templates_custom/default/class/html/selectors.erb +0 -38
- data/.yard/templates_custom/default/class/html/setup.rb +0 -17
- data/.yard/yard_extensions.rb +0 -78
- data/lib/capybara/query.rb +0 -7
- data/lib/capybara/rspec/compound.rb +0 -95
- data/lib/capybara/spec/session/assert_current_path.rb +0 -72
- data/lib/capybara/spec/session/assert_selector.rb +0 -148
- data/lib/capybara/spec/session/assert_text.rb +0 -234
- data/lib/capybara/spec/session/source_spec.rb +0 -0
- data/lib/capybara/spec/views/with_title.erb +0 -5
- data/spec/selenium_spec_marionette.rb +0 -127
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<table id="agent_table">
|
|
4
4
|
<caption>Agent</caption>
|
|
5
5
|
|
|
6
|
-
<tr>
|
|
6
|
+
<tr onclick="this.querySelector('td label').innerHTML = 'Clicked'">
|
|
7
7
|
<td>
|
|
8
8
|
<label for="form_agent_name">Name</label>
|
|
9
9
|
</td>
|
|
@@ -61,3 +61,70 @@
|
|
|
61
61
|
</tr>
|
|
62
62
|
</table>
|
|
63
63
|
</form>
|
|
64
|
+
|
|
65
|
+
<table>
|
|
66
|
+
<caption>Horizontal Headers</caption>
|
|
67
|
+
<thead>
|
|
68
|
+
<tr>
|
|
69
|
+
<th>First Name</th>
|
|
70
|
+
<th>Last Name</th>
|
|
71
|
+
<th>City</th>
|
|
72
|
+
</tr>
|
|
73
|
+
</thead>
|
|
74
|
+
<tbody>
|
|
75
|
+
<tr>
|
|
76
|
+
<td>Thomas</td>
|
|
77
|
+
<td>Walpole</td>
|
|
78
|
+
<td>Oceanside</td>
|
|
79
|
+
</tr>
|
|
80
|
+
<tr>
|
|
81
|
+
<td>Danilo</td>
|
|
82
|
+
<td>Wilkinson</td>
|
|
83
|
+
<td>Johnsonville</td>
|
|
84
|
+
</tr>
|
|
85
|
+
<tr>
|
|
86
|
+
<td>Vern</td>
|
|
87
|
+
<td>Konopelski</td>
|
|
88
|
+
<td>Everette</td>
|
|
89
|
+
</tr>
|
|
90
|
+
<tr>
|
|
91
|
+
<td>Ratke</td>
|
|
92
|
+
<td>Lawrence</td>
|
|
93
|
+
<td>East Sorayashire</td>
|
|
94
|
+
</tr>
|
|
95
|
+
<tr>
|
|
96
|
+
<td>Palmer</td>
|
|
97
|
+
<td>Sawayn</td>
|
|
98
|
+
<td>West Trinidad</td>
|
|
99
|
+
</tr>
|
|
100
|
+
</tbody>
|
|
101
|
+
</table>
|
|
102
|
+
|
|
103
|
+
<table>
|
|
104
|
+
<caption>Vertical Headers</caption>
|
|
105
|
+
<tr>
|
|
106
|
+
<th>First Name</th>
|
|
107
|
+
<td>Thomas</td>
|
|
108
|
+
<td>Danilo</td>
|
|
109
|
+
<td>Vern</td>
|
|
110
|
+
<td>Ratke</td>
|
|
111
|
+
<td>Palmer</td>
|
|
112
|
+
</tr>
|
|
113
|
+
<tr>
|
|
114
|
+
<th>Last Name</th>
|
|
115
|
+
<td>Walpole</td>
|
|
116
|
+
<td>Wilkinson</td>
|
|
117
|
+
<td>Konopelski</td>
|
|
118
|
+
<td>Lawrence</td>
|
|
119
|
+
<td>Sawayn</td>
|
|
120
|
+
</tr>
|
|
121
|
+
<tr>
|
|
122
|
+
<th>City</th>
|
|
123
|
+
<td>Oceanside</td>
|
|
124
|
+
<td>Johnsonville</td>
|
|
125
|
+
<td>Everette</td>
|
|
126
|
+
<td>East Sorayashire</td>
|
|
127
|
+
<td>West Trinidad</td>
|
|
128
|
+
</tr>
|
|
129
|
+
</table>
|
|
130
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
|
5
|
+
<title>with_animation</title>
|
|
6
|
+
<script src="/jquery.js" type="text/javascript" charset="utf-8"></script>
|
|
7
|
+
<script src="/jquery-ui.js" type="text/javascript" charset="utf-8"></script>
|
|
8
|
+
<script src="/test.js" type="text/javascript" charset="utf-8"></script>
|
|
9
|
+
<script type="text/javascript">
|
|
10
|
+
$(document).on('transitionend', function(){
|
|
11
|
+
$(document.body).append('<div>Transition Ended</div>')
|
|
12
|
+
});
|
|
13
|
+
$(document).on('animationend', function(){
|
|
14
|
+
$(document.body).append('<div>Animation Ended</div>')
|
|
15
|
+
});
|
|
16
|
+
$(document).on('contextmenu', function(e){
|
|
17
|
+
e.preventDefault();
|
|
18
|
+
});
|
|
19
|
+
</script>
|
|
20
|
+
<style>
|
|
21
|
+
html {
|
|
22
|
+
scroll-behavior: smooth;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
body {
|
|
26
|
+
min-height: 2000px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.transition.away {
|
|
30
|
+
width: 0%;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
a {
|
|
34
|
+
display: inline-block;
|
|
35
|
+
width: 100%;
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
a::after {
|
|
40
|
+
content: "";
|
|
41
|
+
width: 0px;
|
|
42
|
+
height: 0px;
|
|
43
|
+
background-color: blue;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
a:not(.away) {
|
|
47
|
+
height: 20px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
a.transition {
|
|
51
|
+
transition: all 3s ease-in-out;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@keyframes animation {
|
|
55
|
+
0% {height: 20px; width: 100%;}
|
|
56
|
+
100% {height: 0px; width: 0%;}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
a.animation.away {
|
|
60
|
+
animation-name: animation;
|
|
61
|
+
animation-duration: 3s;
|
|
62
|
+
animation-fill-mode: forwards;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@keyframes pseudo_grow {
|
|
66
|
+
100% { height: 100px, width: 100px };
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
a.animation.pseudo::after {
|
|
70
|
+
animation: pseudo_grow 3s forwards;
|
|
71
|
+
}
|
|
72
|
+
</style>
|
|
73
|
+
</head>
|
|
74
|
+
|
|
75
|
+
<body id="with_animation">
|
|
76
|
+
<a href='#' class='transition' onclick='this.classList.add("away")'>transition me away</a>
|
|
77
|
+
<a href='#' class='animation' onclick='this.classList.add("away")' oncontextmenu='this.classList.add("pseudo")'>
|
|
78
|
+
animate me away
|
|
79
|
+
</a>
|
|
80
|
+
</body>
|
|
81
|
+
</html>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
|
5
|
+
<title>with_dragula</title>
|
|
6
|
+
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body id="with_dragula">
|
|
10
|
+
<div id="sortable">
|
|
11
|
+
<div class="item1">Item 1</div>
|
|
12
|
+
<div class="item2">Item 2</div>
|
|
13
|
+
<div class="item3">Item 3</div>
|
|
14
|
+
<div class="item4">Item 4</div>
|
|
15
|
+
<div class="item5">Item 5</div>
|
|
16
|
+
</div>
|
|
17
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/dragula/3.7.2/dragula.js" type="text/javascript"></script>
|
|
18
|
+
<script>
|
|
19
|
+
let container = document.getElementById("sortable");
|
|
20
|
+
dragula([container]);
|
|
21
|
+
container.className = "ready"
|
|
22
|
+
</script>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
<html
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
|
5
5
|
<title>with_hover</title>
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
.hidden_until_hover {display: none;}
|
|
11
11
|
.wrapper:hover .hidden_until_hover { display: block }
|
|
12
12
|
</style>
|
|
13
|
+
<a href='with_hover1'>Other hover page</a>
|
|
13
14
|
<div class="wrapper">
|
|
14
15
|
Some text here so the wrapper has size
|
|
15
16
|
<div class="hidden_until_hover">Here I am</div>
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
|
|
2
|
+
<style>
|
|
3
|
+
p { display: block; }
|
|
4
|
+
</style>
|
|
5
|
+
|
|
2
6
|
<div id="referrer"><%= referrer %></div>
|
|
3
7
|
<h1>This is a test</h1>
|
|
4
8
|
|
|
@@ -6,23 +10,23 @@
|
|
|
6
10
|
<h2 class="no text"></h2>
|
|
7
11
|
<h2 class="head" id="h2one">Header Class Test One</h2>
|
|
8
12
|
<h2 class="head" id="h2two">Header Class Test Two</h2>
|
|
9
|
-
<h2 class="head">Header Class Test Three</h2>
|
|
13
|
+
<h2 class="head" id="h2_">Header Class Test Three</h2>
|
|
10
14
|
<h2 class="head">Header Class Test Four</h2>
|
|
11
|
-
<h2 class="head">Header Class Test Five</h2>
|
|
15
|
+
<h2 class="head">Header Class <span style="display: none">Random</span>Test Five</h2>
|
|
12
16
|
|
|
13
17
|
<span class="number">42</span>
|
|
14
18
|
<span>Other span</span>
|
|
15
19
|
|
|
16
|
-
<p class="para" id="first" data-random="abc\def">
|
|
20
|
+
<p class="para" id="first" data-random="abc\def" style="line-height: 25px;">
|
|
17
21
|
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
|
|
18
|
-
tempor incididunt ut <a href="/with_simple_html" title="awesome title" class="simple">labore</a>
|
|
22
|
+
tempor incididunt ut <a href="/with_simple_html" title="awesome title" class="simple" tabindex="1" target="_self">labore</a>
|
|
19
23
|
et dolore magna aliqua. Ut enim ad minim veniam,
|
|
20
|
-
quis nostrud exercitation <a href="/foo" id="foo">ullamco</a> laboris nisi
|
|
24
|
+
quis nostrud exercitation <a href="/foo" id="foo" data-test-id="test-foo">ullamco</a> laboris nisi
|
|
21
25
|
ut aliquip ex ea commodo consequat.
|
|
22
|
-
<a href="/with_simple_html" aria-label="Go to simple"><img id="first_image" width="20" height="20" alt="awesome image" /></a>
|
|
26
|
+
<a href="/with_simple_html" aria-label="Go to simple" data-test-id="test-simple"><img id="first_image" width="20" height="20" alt="awesome image" src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="/></a>
|
|
23
27
|
</p>
|
|
24
28
|
|
|
25
|
-
<p class="para" id="second">
|
|
29
|
+
<p class="para" id="second" style="display: inline;">
|
|
26
30
|
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
|
|
27
31
|
dolore eu fugiat <a href="/redirect" id="red">Redirect</a> pariatur. Excepteur sint occaecat cupidatat non proident,
|
|
28
32
|
sunt in culpa qui officia
|
|
@@ -32,9 +36,9 @@
|
|
|
32
36
|
</p>
|
|
33
37
|
|
|
34
38
|
<p>
|
|
35
|
-
<input type="text" id="test_field" value="monkey"/>
|
|
36
|
-
<input type="text" readonly="readonly" value="should not change" />
|
|
37
|
-
<textarea id="normal">
|
|
39
|
+
<input type="text" id="test_field" spellcheck="TRUE" data-test-id="test_id" value="monkey"/>
|
|
40
|
+
<input type="text" readonly="readonly" spellcheck="FALSE" value="should not change" />
|
|
41
|
+
<textarea id="normal" data-other-test-id="test_id">
|
|
38
42
|
banana</textarea>
|
|
39
43
|
<textarea id="additional_newline">
|
|
40
44
|
|
|
@@ -84,7 +88,7 @@ banana</textarea>
|
|
|
84
88
|
</div>
|
|
85
89
|
|
|
86
90
|
<div style="display: none;">
|
|
87
|
-
<a id="
|
|
91
|
+
<a id="first_invisible" class="hidden">first hidden link</a>
|
|
88
92
|
</div>
|
|
89
93
|
|
|
90
94
|
<div style="display: none;">
|
|
@@ -134,6 +138,9 @@ banana</textarea>
|
|
|
134
138
|
Ancestor
|
|
135
139
|
<div id="child">Child</div>
|
|
136
140
|
</div>
|
|
141
|
+
<div id="ancestor1_sibling">
|
|
142
|
+
ASibling
|
|
143
|
+
</div>
|
|
137
144
|
</div>
|
|
138
145
|
<button id="ancestor_button" type="submit" disabled>
|
|
139
146
|
<img id="button_img" width="20" height="20" alt="button img"/>
|
|
@@ -150,4 +157,54 @@ banana</textarea>
|
|
|
150
157
|
<div data-pre=true>Pre Sibling</div>
|
|
151
158
|
<div data-post=true>Post Sibling</div>
|
|
152
159
|
</div>
|
|
153
|
-
</div>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
<div id='1escape.me' class="2escape">needs escaping</div>
|
|
163
|
+
|
|
164
|
+
<div id="normalized">
|
|
165
|
+
Some text<div>More text</div>
|
|
166
|
+
<div> And more text</div>
|
|
167
|
+
Even more text
|
|
168
|
+
|
|
169
|
+
on multiple lines
|
|
170
|
+
</div>
|
|
171
|
+
|
|
172
|
+
<div id="non_visible_normalized" style="display: none">
|
|
173
|
+
Some text<div>More text</div>
|
|
174
|
+
<div> And more text</div>
|
|
175
|
+
Even more text
|
|
176
|
+
|
|
177
|
+
on multiple lines
|
|
178
|
+
</div>
|
|
179
|
+
|
|
180
|
+
<div id="ws">
|
|
181
|
+
                   
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<details id="closed_details">
|
|
185
|
+
<summary>
|
|
186
|
+
<h6>Something</h6>
|
|
187
|
+
</summary>
|
|
188
|
+
<ul>
|
|
189
|
+
<li>Random</li>
|
|
190
|
+
<li>Things</li>
|
|
191
|
+
</ul>
|
|
192
|
+
</details>
|
|
193
|
+
|
|
194
|
+
<details id="open_details" open>
|
|
195
|
+
<summary>
|
|
196
|
+
<h6>Summary</h6>
|
|
197
|
+
</summary>
|
|
198
|
+
<div>
|
|
199
|
+
Contents
|
|
200
|
+
</div>
|
|
201
|
+
</details>
|
|
202
|
+
|
|
203
|
+
<div style='height: 1000px'>spacer</div>
|
|
204
|
+
|
|
205
|
+
<template id="template">
|
|
206
|
+
<input />
|
|
207
|
+
</template>
|
|
208
|
+
|
|
209
|
+
<a href="/download.csv" download>Download Me</a>
|
|
210
|
+
<a href="/download.csv" download="other.csv">Download Other</a>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Namespace</title>
|
|
5
|
+
</head>
|
|
6
|
+
<body id="body">
|
|
7
|
+
<div>
|
|
8
|
+
<svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice"
|
|
9
|
+
style="width:100%; height:100%; position:absolute; top:0; left:0; z-index:-1;">
|
|
10
|
+
<linearGradient id="gradient">
|
|
11
|
+
<stop class="begin" offset="0%"/>
|
|
12
|
+
<stop class="end" offset="100%"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<rect x="0" y="0" width="100" height="100" style="fill:url(#gradient)" />
|
|
15
|
+
<rect x="150" y="150" width="25" height="25" style="fill:url(#gradient)" />
|
|
16
|
+
<circle cx="50" cy="50" r="30" style="fill:url(#gradient)" />
|
|
17
|
+
</svg>
|
|
18
|
+
<div>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
|
5
|
+
<title>with_jquery_animation</title>
|
|
6
|
+
<style>
|
|
7
|
+
body {
|
|
8
|
+
height: 2000px;
|
|
9
|
+
}
|
|
10
|
+
</style>
|
|
11
|
+
</head>
|
|
12
|
+
|
|
13
|
+
<body id="with_animation">
|
|
14
|
+
<a href="#" id='scroll'>scroll top 500</a>
|
|
15
|
+
|
|
16
|
+
<script src="/jquery.js" type="text/javascript" charset="utf-8"></script>
|
|
17
|
+
<script type='text/javascript'>
|
|
18
|
+
$('#scroll').click(function(e){
|
|
19
|
+
e.preventDefault();
|
|
20
|
+
$('html, body').animate({ scrollTop: 500 }, 'slow');
|
|
21
|
+
});
|
|
22
|
+
</script>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
<html
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
|
5
5
|
<title>with_js</title>
|
|
@@ -12,15 +12,31 @@
|
|
|
12
12
|
<h1>FooBar</h1>
|
|
13
13
|
|
|
14
14
|
<p id="change">This is text</p>
|
|
15
|
+
<a id="drag_link" href='#'>This link is non-HTML5 draggable</a>
|
|
15
16
|
<div id="drag">
|
|
16
17
|
<p>This is a draggable element.</p>
|
|
17
18
|
</div>
|
|
18
19
|
<div id="drop">
|
|
19
20
|
<p>It should be dropped here.</p>
|
|
20
21
|
</div>
|
|
22
|
+
<div id="drop_scroll">
|
|
23
|
+
<p>It should be dropped here.</p>
|
|
24
|
+
</div>
|
|
25
|
+
<div id="drop_html5_scroll" class="drop">
|
|
26
|
+
<p>It should be dropped here.</p>
|
|
27
|
+
</div>
|
|
28
|
+
<div id="drag_html5" draggable="true">
|
|
29
|
+
<p>This is an HTML5 draggable element.</p>
|
|
30
|
+
</div>
|
|
31
|
+
<a id="drag_link_html5" href="#"><p>This is an HTML5 draggable link</p></a>
|
|
32
|
+
<div id="drop_html5" class="drop">
|
|
33
|
+
<p>It should be dropped here.</p>
|
|
34
|
+
</div>
|
|
21
35
|
|
|
22
36
|
<p><a href="#" id="clickable">Click me</a></p>
|
|
23
37
|
<p><a href="#" id="slow-click">Slowly</a></p>
|
|
38
|
+
<p><span id="aria-button" role="button">ARIA button</span></p>
|
|
39
|
+
<p><span role="button">ARIA button2</span></p>
|
|
24
40
|
|
|
25
41
|
<p>
|
|
26
42
|
<select id="waiter">
|
|
@@ -72,6 +88,10 @@
|
|
|
72
88
|
<a href="#" id="change-title">Change title</a>
|
|
73
89
|
</p>
|
|
74
90
|
|
|
91
|
+
<p>
|
|
92
|
+
<a href="#" id="change-size">Change size</a>
|
|
93
|
+
</p>
|
|
94
|
+
|
|
75
95
|
<p id="click-test">Click me</p>
|
|
76
96
|
|
|
77
97
|
<p>
|
|
@@ -119,19 +139,24 @@
|
|
|
119
139
|
|
|
120
140
|
<p>
|
|
121
141
|
<input type="file" id="hidden_file" style="opacity:0; display: none;">
|
|
142
|
+
<label for="hidden_file">Label for hidden file input</label>
|
|
143
|
+
</p>
|
|
144
|
+
|
|
145
|
+
<p>
|
|
146
|
+
<input type="file" id="multiple-file" multiple="multiple"/>
|
|
122
147
|
</p>
|
|
123
148
|
|
|
124
149
|
<div id="drag_scroll">
|
|
125
150
|
<p>This is a draggable element.</p>
|
|
126
151
|
</div>
|
|
127
|
-
<div id="
|
|
128
|
-
<p>
|
|
152
|
+
<div id="drag_html5_scroll" draggable="true">
|
|
153
|
+
<p>This is an HTML5 draggable element.</p>
|
|
129
154
|
</div>
|
|
130
155
|
|
|
156
|
+
<div id="shadow"></div>
|
|
131
157
|
<script type="text/javascript">
|
|
132
158
|
// a javascript comment
|
|
133
159
|
var aVar = 123;
|
|
134
160
|
</script>
|
|
135
161
|
</body>
|
|
136
162
|
</html>
|
|
137
|
-
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
|
5
|
+
<title>with_jstree</title>
|
|
6
|
+
</head>
|
|
7
|
+
<body id="with_jstree">
|
|
8
|
+
<div id="container">
|
|
9
|
+
<ul>
|
|
10
|
+
<li>Child node A</li>
|
|
11
|
+
<li>Child node B</li>
|
|
12
|
+
<li>Child node C</li>
|
|
13
|
+
</ul>
|
|
14
|
+
</div>
|
|
15
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
|
16
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.8/jstree.min.js"></script>
|
|
17
|
+
<script>
|
|
18
|
+
$(function () {
|
|
19
|
+
$('#container').jstree({
|
|
20
|
+
"core" : { "check_callback" : true }, // so that operations work
|
|
21
|
+
"plugins" : ["dnd"]
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
</script>
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -0,0 +1,21 @@
|
|
|
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">
|
|
3
|
+
<head>
|
|
4
|
+
<title>Namespace</title>
|
|
5
|
+
</head>
|
|
6
|
+
<body id="body">
|
|
7
|
+
<div>
|
|
8
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
|
|
9
|
+
viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice"
|
|
10
|
+
style="width:100%; height:100%; position:absolute; top:0; left:0; z-index:-1;">
|
|
11
|
+
<linearGradient id="gradient">
|
|
12
|
+
<stop class="begin" offset="0%"/>
|
|
13
|
+
<stop class="end" offset="100%"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<rect x="0" y="0" width="100" height="100" style="fill:url(#gradient)" />
|
|
16
|
+
<rect x="150" y="150" width="25" height="25" style="fill:url(#gradient)" />
|
|
17
|
+
<circle cx="50" cy="50" r="30" style="fill:url(#gradient)" />
|
|
18
|
+
</svg>
|
|
19
|
+
<div>
|
|
20
|
+
</body>
|
|
21
|
+
</html>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<%# Borrowed from Titus Fortner %>
|
|
3
|
+
<html>
|
|
4
|
+
<head>
|
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
6
|
+
<title>Shadow DOM</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<div id="no_host"></div>
|
|
10
|
+
<div id="shadow_host"></div>
|
|
11
|
+
<a href="scroll.html">scroll.html</a>
|
|
12
|
+
<script>
|
|
13
|
+
let shadowRoot = document.getElementById('shadow_host').attachShadow({mode: 'open'});
|
|
14
|
+
shadowRoot.innerHTML = `
|
|
15
|
+
<span class="wrapper" id="shadow_content"><span class="info">some text</span></span>
|
|
16
|
+
<div id="nested_shadow_host"></div>
|
|
17
|
+
<a href="scroll.html">scroll.html</a>
|
|
18
|
+
<div id="controls_wrapper">
|
|
19
|
+
<input type="text" />
|
|
20
|
+
<input type="checkbox" id="shadow_checkbox" />
|
|
21
|
+
<input type="file" />
|
|
22
|
+
</div>
|
|
23
|
+
`;
|
|
24
|
+
|
|
25
|
+
let nestedShadowRoot = shadowRoot.getElementById('nested_shadow_host').attachShadow({mode: 'open'});
|
|
26
|
+
nestedShadowRoot.innerHTML = `
|
|
27
|
+
<div id="nested_shadow_content"><div>nested text</div></div>
|
|
28
|
+
`;
|
|
29
|
+
</script>
|
|
30
|
+
</body>
|
|
31
|
+
</html>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
|
5
|
+
<title>with_sortable_js</title>
|
|
6
|
+
<script src="https://cdn.jsdelivr.net/npm/sortablejs@1.12.0/dist/sortable.umd.min.js" type="text/javascript"></script>
|
|
7
|
+
</head>
|
|
8
|
+
|
|
9
|
+
<body id="with_sortable_js">
|
|
10
|
+
<div id="sortable">
|
|
11
|
+
<div class="item1">Item 1</div>
|
|
12
|
+
<div class="item2">Item 2</div>
|
|
13
|
+
<div class="item3">Item 3</div>
|
|
14
|
+
<div class="item4">Item 4</div>
|
|
15
|
+
<div class="item5">Item 5</div>
|
|
16
|
+
</div>
|
|
17
|
+
<script>
|
|
18
|
+
new Sortable(document.getElementById("sortable"));
|
|
19
|
+
</script>
|
|
20
|
+
</body>
|
|
21
|
+
</html>
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
<!DOCTYPE html>
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
4
|
<title>With Frames</title>
|
|
5
5
|
</head>
|
|
6
6
|
<body>
|
|
7
|
-
<div id="divInMainWindow">
|
|
7
|
+
<div id="divInMainWindow">
|
|
8
|
+
This is the text for divInMainWindow
|
|
9
|
+
<iframe src="/frame_parent" id="innerParentFrame"></iframe>
|
|
10
|
+
</div>
|
|
8
11
|
<iframe src="/frame_one" id="frameOne" name="my frame one"></iframe>
|
|
9
12
|
<iframe src="/frame_two" id="frameTwo"></iframe>
|
|
10
13
|
<iframe src="/frame_parent" id="parentFrame"></iframe>
|
data/lib/capybara/version.rb
CHANGED