playwright-ruby-client 1.49.1 → 1.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/docs/api/browser.md +1 -1
  3. data/documentation/docs/api/browser_type.md +2 -0
  4. data/documentation/docs/api/clock.md +10 -0
  5. data/documentation/docs/api/element_handle.md +0 -1
  6. data/documentation/docs/api/experimental/android_device.md +1 -1
  7. data/documentation/docs/api/frame.md +0 -1
  8. data/documentation/docs/api/locator.md +6 -4
  9. data/documentation/docs/api/locator_assertions.md +41 -8
  10. data/documentation/docs/api/page.md +0 -3
  11. data/documentation/docs/include/api_coverage.md +3 -0
  12. data/lib/playwright/locator_assertions_impl.rb +34 -6
  13. data/lib/playwright/version.rb +2 -2
  14. data/lib/playwright_api/android.rb +6 -6
  15. data/lib/playwright_api/android_device.rb +10 -10
  16. data/lib/playwright_api/api_request_context.rb +6 -6
  17. data/lib/playwright_api/browser.rb +7 -7
  18. data/lib/playwright_api/browser_context.rb +12 -12
  19. data/lib/playwright_api/browser_type.rb +12 -13
  20. data/lib/playwright_api/cdp_session.rb +6 -6
  21. data/lib/playwright_api/clock.rb +10 -0
  22. data/lib/playwright_api/dialog.rb +6 -6
  23. data/lib/playwright_api/element_handle.rb +6 -6
  24. data/lib/playwright_api/frame.rb +8 -8
  25. data/lib/playwright_api/js_handle.rb +6 -6
  26. data/lib/playwright_api/locator.rb +6 -4
  27. data/lib/playwright_api/locator_assertions.rb +33 -9
  28. data/lib/playwright_api/page.rb +16 -18
  29. data/lib/playwright_api/playwright.rb +6 -6
  30. data/lib/playwright_api/request.rb +8 -8
  31. data/lib/playwright_api/response.rb +6 -6
  32. data/lib/playwright_api/route.rb +6 -6
  33. data/lib/playwright_api/selectors.rb +6 -6
  34. data/lib/playwright_api/tracing.rb +6 -6
  35. data/lib/playwright_api/web_socket.rb +6 -6
  36. data/lib/playwright_api/worker.rb +6 -6
  37. data/sig/playwright.rbs +5 -2
  38. metadata +3 -7
@@ -65,6 +65,16 @@ module Playwright
65
65
  # page.clock.pause_at(datetime.datetime(2020, 2, 2))
66
66
  # page.clock.pause_at("2020-02-02")
67
67
  # ```
68
+ #
69
+ # For best results, install the clock before navigating the page and set it to a time slightly before the intended test time. This ensures that all timers run normally during page loading, preventing the page from getting stuck. Once the page has fully loaded, you can safely use [`method: Clock.pauseAt`] to pause the clock.
70
+ #
71
+ # ```python sync
72
+ # # Initialize clock with some time before the test time and let the page load
73
+ # # naturally. `Date.now` will progress as the timers fire.
74
+ # page.clock.install(time=datetime.datetime(2024, 12, 10, 8, 0, 0))
75
+ # page.goto("http://localhost:3333")
76
+ # page.clock.pause_at(datetime.datetime(2024, 12, 10, 10, 0, 0))
77
+ # ```
68
78
  def pause_at(time)
69
79
  wrap_impl(@impl.pause_at(unwrap_impl(time)))
70
80
  end
@@ -70,20 +70,20 @@ module Playwright
70
70
 
71
71
  # -- inherited from EventEmitter --
72
72
  # @nodoc
73
- def off(event, callback)
74
- event_emitter_proxy.off(event, callback)
73
+ def on(event, callback)
74
+ event_emitter_proxy.on(event, callback)
75
75
  end
76
76
 
77
77
  # -- inherited from EventEmitter --
78
78
  # @nodoc
79
- def once(event, callback)
80
- event_emitter_proxy.once(event, callback)
79
+ def off(event, callback)
80
+ event_emitter_proxy.off(event, callback)
81
81
  end
82
82
 
83
83
  # -- inherited from EventEmitter --
84
84
  # @nodoc
85
- def on(event, callback)
86
- event_emitter_proxy.on(event, callback)
85
+ def once(event, callback)
86
+ event_emitter_proxy.once(event, callback)
87
87
  end
88
88
 
89
89
  private def event_emitter_proxy
@@ -574,20 +574,20 @@ module Playwright
574
574
 
575
575
  # -- inherited from EventEmitter --
576
576
  # @nodoc
577
- def off(event, callback)
578
- event_emitter_proxy.off(event, callback)
577
+ def on(event, callback)
578
+ event_emitter_proxy.on(event, callback)
579
579
  end
580
580
 
581
581
  # -- inherited from EventEmitter --
582
582
  # @nodoc
583
- def once(event, callback)
584
- event_emitter_proxy.once(event, callback)
583
+ def off(event, callback)
584
+ event_emitter_proxy.off(event, callback)
585
585
  end
586
586
 
587
587
  # -- inherited from EventEmitter --
588
588
  # @nodoc
589
- def on(event, callback)
590
- event_emitter_proxy.on(event, callback)
589
+ def once(event, callback)
590
+ event_emitter_proxy.once(event, callback)
591
591
  end
592
592
 
593
593
  private def event_emitter_proxy
@@ -1038,14 +1038,20 @@ module Playwright
1038
1038
  wrap_impl(@impl.wait_for_url(unwrap_impl(url), timeout: unwrap_impl(timeout), waitUntil: unwrap_impl(waitUntil)))
1039
1039
  end
1040
1040
 
1041
+ # @nodoc
1042
+ def highlight(selector)
1043
+ wrap_impl(@impl.highlight(unwrap_impl(selector)))
1044
+ end
1045
+
1041
1046
  # @nodoc
1042
1047
  def detached=(req)
1043
1048
  wrap_impl(@impl.detached=(unwrap_impl(req)))
1044
1049
  end
1045
1050
 
1051
+ # -- inherited from EventEmitter --
1046
1052
  # @nodoc
1047
- def highlight(selector)
1048
- wrap_impl(@impl.highlight(unwrap_impl(selector)))
1053
+ def on(event, callback)
1054
+ event_emitter_proxy.on(event, callback)
1049
1055
  end
1050
1056
 
1051
1057
  # -- inherited from EventEmitter --
@@ -1060,12 +1066,6 @@ module Playwright
1060
1066
  event_emitter_proxy.once(event, callback)
1061
1067
  end
1062
1068
 
1063
- # -- inherited from EventEmitter --
1064
- # @nodoc
1065
- def on(event, callback)
1066
- event_emitter_proxy.on(event, callback)
1067
- end
1068
-
1069
1069
  private def event_emitter_proxy
1070
1070
  @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
1071
1071
  end
@@ -100,20 +100,20 @@ module Playwright
100
100
 
101
101
  # -- inherited from EventEmitter --
102
102
  # @nodoc
103
- def off(event, callback)
104
- event_emitter_proxy.off(event, callback)
103
+ def on(event, callback)
104
+ event_emitter_proxy.on(event, callback)
105
105
  end
106
106
 
107
107
  # -- inherited from EventEmitter --
108
108
  # @nodoc
109
- def once(event, callback)
110
- event_emitter_proxy.once(event, callback)
109
+ def off(event, callback)
110
+ event_emitter_proxy.off(event, callback)
111
111
  end
112
112
 
113
113
  # -- inherited from EventEmitter --
114
114
  # @nodoc
115
- def on(event, callback)
116
- event_emitter_proxy.on(event, callback)
115
+ def once(event, callback)
116
+ event_emitter_proxy.once(event, callback)
117
117
  end
118
118
 
119
119
  private def event_emitter_proxy
@@ -309,7 +309,6 @@ module Playwright
309
309
  # You can also specify `JSHandle` as the property value if you want live objects to be passed into the event:
310
310
  #
311
311
  # ```python sync
312
- # # note you can only create data_transfer in chromium and firefox
313
312
  # data_transfer = page.evaluate_handle("new DataTransfer()")
314
313
  # locator.dispatch_event("#source", "dragstart", {"dataTransfer": data_transfer})
315
314
  # ```
@@ -801,7 +800,7 @@ module Playwright
801
800
  end
802
801
 
803
802
  #
804
- # Returns whether the element is [editable](../actionability.md#editable).
803
+ # Returns whether the element is [editable](../actionability.md#editable). If the target element is not an `<input>`, `<textarea>`, `<select>`, `[contenteditable]` and does not have a role allowing `[aria-readonly]`, this method throws an error.
805
804
  #
806
805
  # **NOTE**: If you need to assert that an element is editable, prefer [`method: LocatorAssertions.toBeEditable`] to avoid flakiness. See [assertions guide](../test-assertions.md) for more details.
807
806
  #
@@ -896,16 +895,19 @@ module Playwright
896
895
  #
897
896
  # Creates a locator matching all elements that match one or both of the two locators.
898
897
  #
899
- # Note that when both locators match something, the resulting locator will have multiple matches and violate [locator strictness](../locators.md#strictness) guidelines.
898
+ # Note that when both locators match something, the resulting locator will have multiple matches, potentially causing a [locator strictness](../locators.md#strictness) violation.
900
899
  #
901
900
  # **Usage**
902
901
  #
903
902
  # Consider a scenario where you'd like to click on a "New email" button, but sometimes a security settings dialog shows up instead. In this case, you can wait for either a "New email" button, or a dialog and act accordingly.
904
903
  #
904
+ # **NOTE**: If both "New email" button and security dialog appear on screen, the "or" locator will match both of them,
905
+ # possibly throwing the ["strict mode violation" error](../locators.md#strictness). In this case, you can use [`method: Locator.first`] to only match one of them.
906
+ #
905
907
  # ```python sync
906
908
  # new_email = page.get_by_role("button", name="New")
907
909
  # dialog = page.get_by_text("Confirm security settings")
908
- # expect(new_email.or_(dialog)).to_be_visible()
910
+ # expect(new_email.or_(dialog).first).to_be_visible()
909
911
  # if (dialog.is_visible()):
910
912
  # page.get_by_role("button", name="Dismiss").click()
911
913
  # new_email.click()
@@ -84,6 +84,12 @@ module Playwright
84
84
  wrap_impl(@impl.not_to_have_accessible_description(unwrap_impl(name), ignoreCase: unwrap_impl(ignoreCase), timeout: unwrap_impl(timeout)))
85
85
  end
86
86
 
87
+ #
88
+ # The opposite of [`method: LocatorAssertions.toHaveAccessibleErrorMessage`].
89
+ def not_to_have_accessible_error_message(errorMessage, ignoreCase: nil, timeout: nil)
90
+ wrap_impl(@impl.not_to_have_accessible_error_message(unwrap_impl(errorMessage), ignoreCase: unwrap_impl(ignoreCase), timeout: unwrap_impl(timeout)))
91
+ end
92
+
87
93
  #
88
94
  # The opposite of [`method: LocatorAssertions.toHaveAccessibleName`].
89
95
  def not_to_have_accessible_name(name, ignoreCase: nil, timeout: nil)
@@ -150,6 +156,12 @@ module Playwright
150
156
  wrap_impl(@impl.not_to_have_values(unwrap_impl(values), timeout: unwrap_impl(timeout)))
151
157
  end
152
158
 
159
+ #
160
+ # The opposite of [`method: LocatorAssertions.toMatchAriaSnapshot`].
161
+ def not_to_match_aria_snapshot(expected, timeout: nil)
162
+ wrap_impl(@impl.not_to_match_aria_snapshot(unwrap_impl(expected), timeout: unwrap_impl(timeout)))
163
+ end
164
+
153
165
  #
154
166
  # Ensures that `Locator` points to an element that is [connected](https://developer.mozilla.org/en-US/docs/Web/API/Node/isConnected) to a Document or a ShadowRoot.
155
167
  #
@@ -173,8 +185,8 @@ module Playwright
173
185
  # locator = page.get_by_label("Subscribe to newsletter")
174
186
  # expect(locator).to_be_checked()
175
187
  # ```
176
- def to_be_checked(checked: nil, timeout: nil)
177
- wrap_impl(@impl.to_be_checked(checked: unwrap_impl(checked), timeout: unwrap_impl(timeout)))
188
+ def to_be_checked(checked: nil, indeterminate: nil, timeout: nil)
189
+ wrap_impl(@impl.to_be_checked(checked: unwrap_impl(checked), indeterminate: unwrap_impl(indeterminate), timeout: unwrap_impl(timeout)))
178
190
  end
179
191
 
180
192
  #
@@ -385,6 +397,19 @@ module Playwright
385
397
  wrap_impl(@impl.to_have_accessible_description(unwrap_impl(description), ignoreCase: unwrap_impl(ignoreCase), timeout: unwrap_impl(timeout)))
386
398
  end
387
399
 
400
+ #
401
+ # Ensures the `Locator` points to an element with a given [aria errormessage](https://w3c.github.io/aria/#aria-errormessage).
402
+ #
403
+ # **Usage**
404
+ #
405
+ # ```python sync
406
+ # locator = page.get_by_test_id("username-input")
407
+ # expect(locator).to_have_accessible_error_message("Username is required.")
408
+ # ```
409
+ def to_have_accessible_error_message(errorMessage, ignoreCase: nil, timeout: nil)
410
+ wrap_impl(@impl.to_have_accessible_error_message(unwrap_impl(errorMessage), ignoreCase: unwrap_impl(ignoreCase), timeout: unwrap_impl(timeout)))
411
+ end
412
+
388
413
  #
389
414
  # Ensures the `Locator` points to an element with a given [accessible name](https://w3c.github.io/accname/#dfn-accessible-name).
390
415
  #
@@ -414,24 +439,23 @@ module Playwright
414
439
  end
415
440
 
416
441
  #
417
- # Ensures the `Locator` points to an element with given CSS classes. This needs to be a full match
418
- # or using a relaxed regular expression.
442
+ # Ensures the `Locator` points to an element with given CSS classes. When a string is provided, it must fully match the element's `class` attribute. To match individual classes or perform partial matches, use a regular expression:
419
443
  #
420
444
  # **Usage**
421
445
  #
422
446
  # ```html
423
- # <div class='selected row' id='component'></div>
447
+ # <div class='middle selected row' id='component'></div>
424
448
  # ```
425
449
  #
426
450
  # ```python sync
427
451
  # from playwright.sync_api import expect
428
452
  #
429
453
  # locator = page.locator("#component")
430
- # expect(locator).to_have_class(re.compile(r"selected"))
431
- # expect(locator).to_have_class("selected row")
454
+ # expect(locator).to_have_class(re.compile(r"(^|\\s)selected(\\s|$)"))
455
+ # expect(locator).to_have_class("middle selected row")
432
456
  # ```
433
457
  #
434
- # Note that if array is passed as an expected value, entire lists of elements can be asserted:
458
+ # When an array is passed, the method asserts that the list of elements located matches the corresponding list of expected class values. Each element's class attribute is matched against the corresponding string or regular expression in the array:
435
459
  #
436
460
  # ```python sync
437
461
  # from playwright.sync_api import expect
@@ -623,7 +647,7 @@ module Playwright
623
647
  # **Usage**
624
648
  #
625
649
  # ```python sync
626
- # page.goto('https://demo.playwright.dev/todomvc/')
650
+ # page.goto("https://demo.playwright.dev/todomvc/")
627
651
  # expect(page.locator('body')).to_match_aria_snapshot('''
628
652
  # - heading "todos"
629
653
  # - textbox "What needs to be done?"
@@ -957,8 +957,6 @@ module Playwright
957
957
  #
958
958
  # Returns the PDF buffer.
959
959
  #
960
- # **NOTE**: Generating a pdf is currently only supported in Chromium headless.
961
- #
962
960
  # `page.pdf()` generates a pdf of the page with `print` css media. To generate a pdf with `screen` media, call
963
961
  # [`method: Page.emulateMedia`] before calling `page.pdf()`:
964
962
  #
@@ -1790,13 +1788,13 @@ module Playwright
1790
1788
  end
1791
1789
 
1792
1790
  # @nodoc
1793
- def start_css_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
1794
- wrap_impl(@impl.start_css_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
1791
+ def owned_context=(req)
1792
+ wrap_impl(@impl.owned_context=(unwrap_impl(req)))
1795
1793
  end
1796
1794
 
1797
1795
  # @nodoc
1798
- def stop_js_coverage
1799
- wrap_impl(@impl.stop_js_coverage)
1796
+ def guid
1797
+ wrap_impl(@impl.guid)
1800
1798
  end
1801
1799
 
1802
1800
  # @nodoc
@@ -1805,36 +1803,36 @@ module Playwright
1805
1803
  end
1806
1804
 
1807
1805
  # @nodoc
1808
- def stop_css_coverage
1809
- wrap_impl(@impl.stop_css_coverage)
1806
+ def stop_js_coverage
1807
+ wrap_impl(@impl.stop_js_coverage)
1810
1808
  end
1811
1809
 
1812
1810
  # @nodoc
1813
- def guid
1814
- wrap_impl(@impl.guid)
1811
+ def start_css_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
1812
+ wrap_impl(@impl.start_css_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
1815
1813
  end
1816
1814
 
1817
1815
  # @nodoc
1818
- def owned_context=(req)
1819
- wrap_impl(@impl.owned_context=(unwrap_impl(req)))
1816
+ def stop_css_coverage
1817
+ wrap_impl(@impl.stop_css_coverage)
1820
1818
  end
1821
1819
 
1822
1820
  # -- inherited from EventEmitter --
1823
1821
  # @nodoc
1824
- def off(event, callback)
1825
- event_emitter_proxy.off(event, callback)
1822
+ def on(event, callback)
1823
+ event_emitter_proxy.on(event, callback)
1826
1824
  end
1827
1825
 
1828
1826
  # -- inherited from EventEmitter --
1829
1827
  # @nodoc
1830
- def once(event, callback)
1831
- event_emitter_proxy.once(event, callback)
1828
+ def off(event, callback)
1829
+ event_emitter_proxy.off(event, callback)
1832
1830
  end
1833
1831
 
1834
1832
  # -- inherited from EventEmitter --
1835
1833
  # @nodoc
1836
- def on(event, callback)
1837
- event_emitter_proxy.on(event, callback)
1834
+ def once(event, callback)
1835
+ event_emitter_proxy.once(event, callback)
1838
1836
  end
1839
1837
 
1840
1838
  private def event_emitter_proxy
@@ -105,20 +105,20 @@ module Playwright
105
105
 
106
106
  # -- inherited from EventEmitter --
107
107
  # @nodoc
108
- def off(event, callback)
109
- event_emitter_proxy.off(event, callback)
108
+ def on(event, callback)
109
+ event_emitter_proxy.on(event, callback)
110
110
  end
111
111
 
112
112
  # -- inherited from EventEmitter --
113
113
  # @nodoc
114
- def once(event, callback)
115
- event_emitter_proxy.once(event, callback)
114
+ def off(event, callback)
115
+ event_emitter_proxy.off(event, callback)
116
116
  end
117
117
 
118
118
  # -- inherited from EventEmitter --
119
119
  # @nodoc
120
- def on(event, callback)
121
- event_emitter_proxy.on(event, callback)
120
+ def once(event, callback)
121
+ event_emitter_proxy.once(event, callback)
122
122
  end
123
123
 
124
124
  private def event_emitter_proxy
@@ -195,14 +195,20 @@ module Playwright
195
195
  wrap_impl(@impl.url)
196
196
  end
197
197
 
198
+ # @nodoc
199
+ def apply_fallback_overrides(overrides)
200
+ wrap_impl(@impl.apply_fallback_overrides(unwrap_impl(overrides)))
201
+ end
202
+
198
203
  # @nodoc
199
204
  def header_values(name)
200
205
  wrap_impl(@impl.header_values(unwrap_impl(name)))
201
206
  end
202
207
 
208
+ # -- inherited from EventEmitter --
203
209
  # @nodoc
204
- def apply_fallback_overrides(overrides)
205
- wrap_impl(@impl.apply_fallback_overrides(unwrap_impl(overrides)))
210
+ def on(event, callback)
211
+ event_emitter_proxy.on(event, callback)
206
212
  end
207
213
 
208
214
  # -- inherited from EventEmitter --
@@ -217,12 +223,6 @@ module Playwright
217
223
  event_emitter_proxy.once(event, callback)
218
224
  end
219
225
 
220
- # -- inherited from EventEmitter --
221
- # @nodoc
222
- def on(event, callback)
223
- event_emitter_proxy.on(event, callback)
224
- end
225
-
226
226
  private def event_emitter_proxy
227
227
  @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
228
228
  end
@@ -129,20 +129,20 @@ module Playwright
129
129
 
130
130
  # -- inherited from EventEmitter --
131
131
  # @nodoc
132
- def off(event, callback)
133
- event_emitter_proxy.off(event, callback)
132
+ def on(event, callback)
133
+ event_emitter_proxy.on(event, callback)
134
134
  end
135
135
 
136
136
  # -- inherited from EventEmitter --
137
137
  # @nodoc
138
- def once(event, callback)
139
- event_emitter_proxy.once(event, callback)
138
+ def off(event, callback)
139
+ event_emitter_proxy.off(event, callback)
140
140
  end
141
141
 
142
142
  # -- inherited from EventEmitter --
143
143
  # @nodoc
144
- def on(event, callback)
145
- event_emitter_proxy.on(event, callback)
144
+ def once(event, callback)
145
+ event_emitter_proxy.once(event, callback)
146
146
  end
147
147
 
148
148
  private def event_emitter_proxy
@@ -174,20 +174,20 @@ module Playwright
174
174
 
175
175
  # -- inherited from EventEmitter --
176
176
  # @nodoc
177
- def off(event, callback)
178
- event_emitter_proxy.off(event, callback)
177
+ def on(event, callback)
178
+ event_emitter_proxy.on(event, callback)
179
179
  end
180
180
 
181
181
  # -- inherited from EventEmitter --
182
182
  # @nodoc
183
- def once(event, callback)
184
- event_emitter_proxy.once(event, callback)
183
+ def off(event, callback)
184
+ event_emitter_proxy.off(event, callback)
185
185
  end
186
186
 
187
187
  # -- inherited from EventEmitter --
188
188
  # @nodoc
189
- def on(event, callback)
190
- event_emitter_proxy.on(event, callback)
189
+ def once(event, callback)
190
+ event_emitter_proxy.once(event, callback)
191
191
  end
192
192
 
193
193
  private def event_emitter_proxy
@@ -63,20 +63,20 @@ module Playwright
63
63
 
64
64
  # -- inherited from EventEmitter --
65
65
  # @nodoc
66
- def off(event, callback)
67
- event_emitter_proxy.off(event, callback)
66
+ def on(event, callback)
67
+ event_emitter_proxy.on(event, callback)
68
68
  end
69
69
 
70
70
  # -- inherited from EventEmitter --
71
71
  # @nodoc
72
- def once(event, callback)
73
- event_emitter_proxy.once(event, callback)
72
+ def off(event, callback)
73
+ event_emitter_proxy.off(event, callback)
74
74
  end
75
75
 
76
76
  # -- inherited from EventEmitter --
77
77
  # @nodoc
78
- def on(event, callback)
79
- event_emitter_proxy.on(event, callback)
78
+ def once(event, callback)
79
+ event_emitter_proxy.once(event, callback)
80
80
  end
81
81
 
82
82
  private def event_emitter_proxy
@@ -97,20 +97,20 @@ module Playwright
97
97
 
98
98
  # -- inherited from EventEmitter --
99
99
  # @nodoc
100
- def off(event, callback)
101
- event_emitter_proxy.off(event, callback)
100
+ def on(event, callback)
101
+ event_emitter_proxy.on(event, callback)
102
102
  end
103
103
 
104
104
  # -- inherited from EventEmitter --
105
105
  # @nodoc
106
- def once(event, callback)
107
- event_emitter_proxy.once(event, callback)
106
+ def off(event, callback)
107
+ event_emitter_proxy.off(event, callback)
108
108
  end
109
109
 
110
110
  # -- inherited from EventEmitter --
111
111
  # @nodoc
112
- def on(event, callback)
113
- event_emitter_proxy.on(event, callback)
112
+ def once(event, callback)
113
+ event_emitter_proxy.once(event, callback)
114
114
  end
115
115
 
116
116
  private def event_emitter_proxy
@@ -34,20 +34,20 @@ module Playwright
34
34
 
35
35
  # -- inherited from EventEmitter --
36
36
  # @nodoc
37
- def off(event, callback)
38
- event_emitter_proxy.off(event, callback)
37
+ def on(event, callback)
38
+ event_emitter_proxy.on(event, callback)
39
39
  end
40
40
 
41
41
  # -- inherited from EventEmitter --
42
42
  # @nodoc
43
- def once(event, callback)
44
- event_emitter_proxy.once(event, callback)
43
+ def off(event, callback)
44
+ event_emitter_proxy.off(event, callback)
45
45
  end
46
46
 
47
47
  # -- inherited from EventEmitter --
48
48
  # @nodoc
49
- def on(event, callback)
50
- event_emitter_proxy.on(event, callback)
49
+ def once(event, callback)
50
+ event_emitter_proxy.once(event, callback)
51
51
  end
52
52
 
53
53
  private def event_emitter_proxy
@@ -58,20 +58,20 @@ module Playwright
58
58
 
59
59
  # -- inherited from EventEmitter --
60
60
  # @nodoc
61
- def off(event, callback)
62
- event_emitter_proxy.off(event, callback)
61
+ def on(event, callback)
62
+ event_emitter_proxy.on(event, callback)
63
63
  end
64
64
 
65
65
  # -- inherited from EventEmitter --
66
66
  # @nodoc
67
- def once(event, callback)
68
- event_emitter_proxy.once(event, callback)
67
+ def off(event, callback)
68
+ event_emitter_proxy.off(event, callback)
69
69
  end
70
70
 
71
71
  # -- inherited from EventEmitter --
72
72
  # @nodoc
73
- def on(event, callback)
74
- event_emitter_proxy.on(event, callback)
73
+ def once(event, callback)
74
+ event_emitter_proxy.once(event, callback)
75
75
  end
76
76
 
77
77
  private def event_emitter_proxy
data/sig/playwright.rbs CHANGED
@@ -572,6 +572,7 @@ module Playwright
572
572
  def not_to_be_visible: (?timeout: Float, ?visible: bool) -> void
573
573
  def not_to_contain_text: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?ignoreCase: bool, ?timeout: Float, ?useInnerText: bool) -> void
574
574
  def not_to_have_accessible_description: ((String | Regexp) name, ?ignoreCase: bool, ?timeout: Float) -> void
575
+ def not_to_have_accessible_error_message: ((String | Regexp) errorMessage, ?ignoreCase: bool, ?timeout: Float) -> void
575
576
  def not_to_have_accessible_name: ((String | Regexp) name, ?ignoreCase: bool, ?timeout: Float) -> void
576
577
  def not_to_have_attribute: (String name, (String | Regexp) value, ?ignoreCase: bool, ?timeout: Float) -> void
577
578
  def not_to_have_class: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?timeout: Float) -> void
@@ -583,8 +584,9 @@ module Playwright
583
584
  def not_to_have_text: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?ignoreCase: bool, ?timeout: Float, ?useInnerText: bool) -> void
584
585
  def not_to_have_value: ((String | Regexp) value, ?timeout: Float) -> void
585
586
  def not_to_have_values: ((Array[untyped] | Array[untyped] | Array[untyped]) values, ?timeout: Float) -> void
587
+ def not_to_match_aria_snapshot: (String expected, ?timeout: Float) -> void
586
588
  def to_be_attached: (?attached: bool, ?timeout: Float) -> void
587
- def to_be_checked: (?checked: bool, ?timeout: Float) -> void
589
+ def to_be_checked: (?checked: bool, ?indeterminate: bool, ?timeout: Float) -> void
588
590
  def to_be_disabled: (?timeout: Float) -> void
589
591
  def to_be_editable: (?editable: bool, ?timeout: Float) -> void
590
592
  def to_be_empty: (?timeout: Float) -> void
@@ -595,6 +597,7 @@ module Playwright
595
597
  def to_be_visible: (?timeout: Float, ?visible: bool) -> void
596
598
  def to_contain_text: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?ignoreCase: bool, ?timeout: Float, ?useInnerText: bool) -> void
597
599
  def to_have_accessible_description: ((String | Regexp) description, ?ignoreCase: bool, ?timeout: Float) -> void
600
+ def to_have_accessible_error_message: ((String | Regexp) errorMessage, ?ignoreCase: bool, ?timeout: Float) -> void
598
601
  def to_have_accessible_name: ((String | Regexp) name, ?ignoreCase: bool, ?timeout: Float) -> void
599
602
  def to_have_attribute: (String name, (String | Regexp) value, ?ignoreCase: bool, ?timeout: Float) -> void
600
603
  def to_have_class: ((String | Regexp | Array[untyped] | Array[untyped] | Array[untyped]) expected, ?timeout: Float) -> void
@@ -623,7 +626,7 @@ module Playwright
623
626
  class AndroidDevice
624
627
  def close: -> void
625
628
  def info: (untyped selector) -> untyped
626
- def launch_browser: (?acceptDownloads: bool, ?args: Array[untyped], ?baseURL: String, ?bypassCSP: bool, ?colorScheme: ("light" | "dark" | "no-preference" | "null"), ?command: String, ?deviceScaleFactor: Float, ?extraHTTPHeaders: Hash[untyped, untyped], ?forcedColors: ("active" | "none" | "null"), ?geolocation: Hash[untyped, untyped], ?hasTouch: bool, ?httpCredentials: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?isMobile: bool, ?javaScriptEnabled: bool, ?locale: String, ?noViewport: bool, ?offline: bool, ?permissions: Array[untyped], ?proxy: Hash[untyped, untyped], ?record_har_content: ("omit" | "embed" | "attach"), ?record_har_mode: ("full" | "minimal"), ?record_har_omit_content: bool, ?record_har_path: (String | File), ?record_har_url_filter: (String | Regexp), ?record_video_dir: (String | File), ?record_video_size: Hash[untyped, untyped], ?reducedMotion: ("reduce" | "no-preference" | "null"), ?screen: Hash[untyped, untyped], ?serviceWorkers: ("allow" | "block"), ?strictSelectors: bool, ?timezoneId: String, ?userAgent: String, ?viewport: (nil | Hash[untyped, untyped])) ?{ (untyped) -> untyped } -> BrowserContext
629
+ def launch_browser: (?acceptDownloads: bool, ?args: Array[untyped], ?baseURL: String, ?bypassCSP: bool, ?colorScheme: ("light" | "dark" | "no-preference" | "null"), ?deviceScaleFactor: Float, ?extraHTTPHeaders: Hash[untyped, untyped], ?forcedColors: ("active" | "none" | "null"), ?geolocation: Hash[untyped, untyped], ?hasTouch: bool, ?httpCredentials: Hash[untyped, untyped], ?ignoreHTTPSErrors: bool, ?isMobile: bool, ?javaScriptEnabled: bool, ?locale: String, ?noViewport: bool, ?offline: bool, ?permissions: Array[untyped], ?pkg: String, ?proxy: Hash[untyped, untyped], ?record_har_content: ("omit" | "embed" | "attach"), ?record_har_mode: ("full" | "minimal"), ?record_har_omit_content: bool, ?record_har_path: (String | File), ?record_har_url_filter: (String | Regexp), ?record_video_dir: (String | File), ?record_video_size: Hash[untyped, untyped], ?reducedMotion: ("reduce" | "no-preference" | "null"), ?screen: Hash[untyped, untyped], ?serviceWorkers: ("allow" | "block"), ?strictSelectors: bool, ?timezoneId: String, ?userAgent: String, ?viewport: (nil | Hash[untyped, untyped])) ?{ (untyped) -> untyped } -> BrowserContext
627
630
  def model: -> String
628
631
  def screenshot: (?path: (String | File)) -> String
629
632
  def serial: -> String
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playwright-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.49.1
4
+ version: 1.50.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
10
  date: 2025-02-11 00:00:00.000000000 Z
@@ -192,7 +191,6 @@ dependencies:
192
191
  - - ">="
193
192
  - !ruby/object:Gem::Version
194
193
  version: '0'
195
- description:
196
194
  email:
197
195
  - q7w8e9w8q7w8e9@yahoo.co.jp
198
196
  executables: []
@@ -395,7 +393,6 @@ homepage: https://github.com/YusukeIwaki/playwright-ruby-client
395
393
  licenses:
396
394
  - MIT
397
395
  metadata: {}
398
- post_install_message:
399
396
  rdoc_options: []
400
397
  require_paths:
401
398
  - lib
@@ -410,8 +407,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
410
407
  - !ruby/object:Gem::Version
411
408
  version: '0'
412
409
  requirements: []
413
- rubygems_version: 3.3.27
414
- signing_key:
410
+ rubygems_version: 3.6.2
415
411
  specification_version: 4
416
- summary: The Ruby binding of playwright driver 1.49.1
412
+ summary: The Ruby binding of playwright driver 1.50.1
417
413
  test_files: []