playwright-ruby-client 1.57.1 → 1.57.2.alpha1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 197bc18ed9dd0a6e9f6423e6aa92223e5be7437a51fecb4ce47c3c9527554f20
4
- data.tar.gz: 58f407a7c57dc14d18f3dbfce83f17a22a5fa18d8b2765550cbd1ffd5c68c387
3
+ metadata.gz: 6d2a03c73551065e1c8bf121c3784103fb51b5dd4d9fd3b8f63cb2e86907369a
4
+ data.tar.gz: 7a66180bf3f8eae379ae8a4cbd5e1d67d8531cdfc0689719cf96524f294c5b89
5
5
  SHA512:
6
- metadata.gz: 1d8f83fdef9367e6d4e56d2d9f97e73993066f8be1cd40b9051bc90fa4586062a4253efa8db034c41ecfdc6196f30c90ad6dad7478974acef8a2d3c039b8d939
7
- data.tar.gz: 59bd13cb57ffcacae9b57b532b0b4193da3893801227924e2dd761f097b4ff9b367093e295f005d582165eaa5e12342a7e5b75511eb39dbba876365bb5c97b8b
6
+ metadata.gz: 7ec32a794ca503b5d95c147834bbd7dd0b0e6c4b8b803df15c35cbe6f2044062cbc709eab9641a55da9aff084f549b98296ffe64d20a44e0ad2a41099e521927
7
+ data.tar.gz: 6bfce7e393d7ab498639dca2342dfe3434b87ce0bee462b7e8c42017965ff9512e1d232de2126de0b92983dc0eb9faa1c084283eac1521b2bceb4a2d8b152be3
@@ -1,11 +1,45 @@
1
1
  module Playwright
2
2
  define_channel_owner :BindingCall do
3
+ class << self
4
+ def call_queue
5
+ @call_queue ||= Queue.new
6
+ end
7
+
8
+ def worker_mutex
9
+ @worker_mutex ||= Mutex.new
10
+ end
11
+
12
+ def ensure_worker
13
+ worker_mutex.synchronize do
14
+ return if @worker&.alive?
15
+
16
+ @worker = Thread.new do
17
+ loop do
18
+ job = call_queue.pop
19
+ begin
20
+ job.call
21
+ rescue => err
22
+ $stderr.write("BindingCall worker error: #{err.class}: #{err.message}\n")
23
+ err.backtrace&.each { |line| $stderr.write("#{line}\n") }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+
3
31
  def name
4
32
  @initializer['name']
5
33
  end
6
34
 
7
35
  def call_async(callback)
8
- Thread.new(callback) { call(callback) }
36
+ # Binding callbacks can be fired concurrently from multiple threads.
37
+ # Enqueue and execute them on a single worker thread so we:
38
+ # - preserve the delivery order of binding calls
39
+ # - avoid spawning a thread per call (bursty timers create many callbacks)
40
+ # - keep the protocol dispatch thread unblocked
41
+ self.class.ensure_worker
42
+ self.class.call_queue << -> { call(callback) }
9
43
  end
10
44
 
11
45
  # @param callback [Proc]
@@ -31,9 +65,9 @@ module Playwright
31
65
 
32
66
  begin
33
67
  result = PlaywrightApi.unwrap(callback.call(source, *args))
34
- @channel.send_message_to_server('resolve', result: JavaScript::ValueSerializer.new(result).serialize)
68
+ @channel.async_send_message_to_server('resolve', result: JavaScript::ValueSerializer.new(result).serialize)
35
69
  rescue => err
36
- @channel.send_message_to_server('reject', error: { error: { message: err.message, name: 'Error' }})
70
+ @channel.async_send_message_to_server('reject', error: { error: { message: err.message, name: 'Error' }})
37
71
  end
38
72
  end
39
73
  end
@@ -48,7 +48,21 @@ module Playwright
48
48
 
49
49
  waiter.reject_on_event(@parent, 'close', -> { @parent.send(:close_error_with_reason) })
50
50
  waiter.wait_for_event(self, event, predicate: predicate)
51
+ if @closed
52
+ if event == Events::WebSocket::Close
53
+ waiter.force_fulfill(nil)
54
+ else
55
+ waiter.force_reject(SocketClosedError.new)
56
+ end
57
+ end
51
58
  block&.call
59
+ if @closed
60
+ if event == Events::WebSocket::Close
61
+ waiter.force_fulfill(nil)
62
+ else
63
+ waiter.force_reject(SocketClosedError.new)
64
+ end
65
+ end
52
66
 
53
67
  waiter.result.value!
54
68
  end
@@ -11,9 +11,8 @@ module Playwright
11
11
  dispatch(message)
12
12
  end
13
13
  @transport.on_driver_crashed do
14
- @callbacks.each_value do |callback|
15
- callback.reject(::Playwright::DriverCrashedError.new)
16
- end
14
+ callbacks = @callbacks_mutex.synchronize { @callbacks.values }
15
+ callbacks.each { |callback| callback.reject(::Playwright::DriverCrashedError.new) }
17
16
  raise ::Playwright::DriverCrashedError.new
18
17
  end
19
18
  @transport.on_driver_closed do
@@ -21,8 +20,10 @@ module Playwright
21
20
  end
22
21
 
23
22
  @objects = {} # Hash[ guid => ChannelOwner ]
23
+ @objects_mutex = Mutex.new
24
24
  @waiting_for_object = {} # Hash[ guid => Promise<ChannelOwner> ]
25
25
  @callbacks = {} # Hash [ guid => Promise<ChannelOwner> ]
26
+ @callbacks_mutex = Mutex.new
26
27
  @root_object = RootChannelOwner.new(self)
27
28
  @remote = false
28
29
  @tracing_count = 0
@@ -50,10 +51,10 @@ module Playwright
50
51
 
51
52
  def cleanup(cause: nil)
52
53
  @closed_error = TargetClosedError.new(message: cause)
53
- @callbacks.each_value do |callback|
54
- callback.reject(@closed_error)
54
+ callbacks = @callbacks_mutex.synchronize do
55
+ @callbacks.values.tap { @callbacks.clear }
55
56
  end
56
- @callbacks.clear
57
+ callbacks.each { |callback| callback.reject(@closed_error) }
57
58
  end
58
59
 
59
60
  def initialize_playwright
@@ -80,7 +81,7 @@ module Playwright
80
81
  with_generated_id do |id|
81
82
  # register callback promise object first.
82
83
  # @see https://github.com/YusukeIwaki/puppeteer-ruby/pull/34
83
- @callbacks[id] = callback
84
+ @callbacks_mutex.synchronize { @callbacks[id] = callback }
84
85
 
85
86
  _metadata = {}
86
87
  frames = []
@@ -107,12 +108,12 @@ module Playwright
107
108
  begin
108
109
  @transport.send_message(message)
109
110
  rescue => err
110
- @callbacks.delete(id)
111
+ @callbacks_mutex.synchronize { @callbacks.delete(id) }
111
112
  callback.reject(err)
112
113
  raise unless err.is_a?(Transport::AlreadyDisconnectedError)
113
114
  end
114
115
 
115
- if @tracing_count > 0 && !frames.empty? && guid != 'localUtils'
116
+ if @tracing_count > 0 && !frames.empty? && guid != 'localUtils' && !remote?
116
117
  @local_utils.add_stack_to_tracing_no_reply(id, frames)
117
118
  end
118
119
  end
@@ -132,21 +133,24 @@ module Playwright
132
133
  # end
133
134
  # ````
134
135
  def with_generated_id(&block)
135
- @last_id ||= 0
136
- block.call(@last_id += 1)
136
+ id = @callbacks_mutex.synchronize do
137
+ @last_id ||= 0
138
+ @last_id += 1
139
+ end
140
+ block.call(id)
137
141
  end
138
142
 
139
143
  # @param guid [String]
140
144
  # @param parent [Playwright::ChannelOwner]
141
145
  # @note This method should be used internally. Accessed via .send method from Playwright::ChannelOwner, so keep private!
142
146
  def update_object_from_channel_owner(guid, parent)
143
- @objects[guid] = parent
147
+ @objects_mutex.synchronize { @objects[guid] = parent }
144
148
  end
145
149
 
146
150
  # @param guid [String]
147
151
  # @note This method should be used internally. Accessed via .send method from Playwright::ChannelOwner, so keep private!
148
152
  def delete_object_from_channel_owner(guid)
149
- @objects.delete(guid)
153
+ @objects_mutex.synchronize { @objects.delete(guid) }
150
154
  end
151
155
 
152
156
  def dispatch(msg)
@@ -154,7 +158,7 @@ module Playwright
154
158
 
155
159
  id = msg['id']
156
160
  if id
157
- callback = @callbacks.delete(id)
161
+ callback = @callbacks_mutex.synchronize { @callbacks.delete(id) }
158
162
 
159
163
  unless callback
160
164
  raise "Cannot find command to respond: #{id}"
@@ -190,13 +194,13 @@ module Playwright
190
194
  return
191
195
  end
192
196
 
193
- object = @objects[guid]
197
+ object = @objects_mutex.synchronize { @objects[guid] }
194
198
  unless object
195
199
  raise "Cannot find object to \"#{method}\": #{guid}"
196
200
  end
197
201
 
198
202
  if method == "__adopt__"
199
- child = @objects[params["guid"]]
203
+ child = @objects_mutex.synchronize { @objects[params["guid"]] }
200
204
  unless child
201
205
  raise "Unknown new child: #{params['guid']}"
202
206
  end
@@ -243,8 +247,9 @@ module Playwright
243
247
 
244
248
  if payload.is_a?(Hash)
245
249
  guid = payload['guid']
246
- if guid && @objects[guid]
247
- return @objects[guid].channel
250
+ if guid
251
+ object = @objects_mutex.synchronize { @objects[guid] }
252
+ return object.channel if object
248
253
  end
249
254
 
250
255
  return payload.map { |k, v| [k, replace_guids_with_channels(v)] }.to_h
@@ -255,7 +260,7 @@ module Playwright
255
260
 
256
261
  # @return [Playwright::ChannelOwner|nil]
257
262
  def create_remote_object(parent_guid:, type:, guid:, initializer:)
258
- parent = @objects[parent_guid]
263
+ parent = @objects_mutex.synchronize { @objects[parent_guid] }
259
264
  unless parent
260
265
  raise "Cannot find parent object #{parent_guid} to create #{guid}"
261
266
  end
@@ -273,7 +278,7 @@ module Playwright
273
278
  raise "Missing type #{type}"
274
279
  end
275
280
 
276
- callback = @waiting_for_object.delete(guid)
281
+ callback = @objects_mutex.synchronize { @waiting_for_object.delete(guid) }
277
282
  callback&.fulfill(result)
278
283
 
279
284
  result
@@ -1,5 +1,6 @@
1
1
  require_relative './visitor_info'
2
2
  require_relative './regex'
3
+ require 'uri'
3
4
 
4
5
  module Playwright
5
6
  module JavaScript
@@ -60,7 +61,7 @@ module Playwright
60
61
  when Time
61
62
  require 'time'
62
63
  { d: value.utc.iso8601 }
63
- when URI
64
+ when ::URI
64
65
  { u: value.to_s }
65
66
  when Regexp
66
67
  regex_value = Regex.new(value)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playwright
4
- VERSION = '1.57.1'
4
+ VERSION = '1.57.2.alpha1'
5
5
  COMPATIBLE_PLAYWRIGHT_VERSION = '1.57.0'
6
6
  end
@@ -10,6 +10,7 @@ module Playwright
10
10
  @event = wait_name
11
11
  @channel = channel_owner.channel
12
12
  @registered_listeners = Set.new
13
+ @listeners_mutex = Mutex.new
13
14
  @logs = []
14
15
  wait_for_event_info_before
15
16
  end
@@ -50,8 +51,7 @@ module Playwright
50
51
  end
51
52
  end
52
53
  }
53
- emitter.on(event, listener)
54
- @registered_listeners << [emitter, event, listener]
54
+ register_listener(emitter, event, listener)
55
55
 
56
56
  self
57
57
  end
@@ -69,16 +69,22 @@ module Playwright
69
69
  end
70
70
 
71
71
  private def cleanup
72
- @registered_listeners.each do |emitter, event, listener|
72
+ listeners = @listeners_mutex.synchronize do
73
+ @registered_listeners.to_a.tap { @registered_listeners.clear }
74
+ end
75
+ listeners.each do |emitter, event, listener|
73
76
  emitter.off(event, listener)
74
77
  end
75
- @registered_listeners.clear
76
78
  end
77
79
 
78
80
  def force_fulfill(result)
79
81
  fulfill(result)
80
82
  end
81
83
 
84
+ def force_reject(error)
85
+ reject(error)
86
+ end
87
+
82
88
  private def fulfill(result)
83
89
  cleanup
84
90
  return if @result.resolved?
@@ -107,12 +113,24 @@ module Playwright
107
113
  reject(err)
108
114
  end
109
115
  }
110
- emitter.on(event, listener)
111
- @registered_listeners << [emitter, event, listener]
116
+ register_listener(emitter, event, listener)
112
117
 
113
118
  self
114
119
  end
115
120
 
121
+ private def register_listener(emitter, event, listener)
122
+ emitter.on(event, listener)
123
+ remove_later = false
124
+ @listeners_mutex.synchronize do
125
+ if @result.resolved?
126
+ remove_later = true
127
+ else
128
+ @registered_listeners << [emitter, event, listener]
129
+ end
130
+ end
131
+ emitter.off(event, listener) if remove_later
132
+ end
133
+
116
134
  attr_reader :result
117
135
 
118
136
  def log(message)
@@ -45,8 +45,8 @@ module Playwright
45
45
 
46
46
  # -- inherited from EventEmitter --
47
47
  # @nodoc
48
- def off(event, callback)
49
- event_emitter_proxy.off(event, callback)
48
+ def once(event, callback)
49
+ event_emitter_proxy.once(event, callback)
50
50
  end
51
51
 
52
52
  # -- inherited from EventEmitter --
@@ -57,8 +57,8 @@ module Playwright
57
57
 
58
58
  # -- inherited from EventEmitter --
59
59
  # @nodoc
60
- def once(event, callback)
61
- event_emitter_proxy.once(event, callback)
60
+ def off(event, callback)
61
+ event_emitter_proxy.off(event, callback)
62
62
  end
63
63
 
64
64
  private def event_emitter_proxy
@@ -195,19 +195,19 @@ module Playwright
195
195
  end
196
196
 
197
197
  # @nodoc
198
- def tap_on(selector, duration: nil, timeout: nil)
199
- wrap_impl(@impl.tap_on(unwrap_impl(selector), duration: unwrap_impl(duration), timeout: unwrap_impl(timeout)))
198
+ def should_close_connection_on_close!
199
+ wrap_impl(@impl.should_close_connection_on_close!)
200
200
  end
201
201
 
202
202
  # @nodoc
203
- def should_close_connection_on_close!
204
- wrap_impl(@impl.should_close_connection_on_close!)
203
+ def tap_on(selector, duration: nil, timeout: nil)
204
+ wrap_impl(@impl.tap_on(unwrap_impl(selector), duration: unwrap_impl(duration), timeout: unwrap_impl(timeout)))
205
205
  end
206
206
 
207
207
  # -- inherited from EventEmitter --
208
208
  # @nodoc
209
- def off(event, callback)
210
- event_emitter_proxy.off(event, callback)
209
+ def once(event, callback)
210
+ event_emitter_proxy.once(event, callback)
211
211
  end
212
212
 
213
213
  # -- inherited from EventEmitter --
@@ -218,8 +218,8 @@ module Playwright
218
218
 
219
219
  # -- inherited from EventEmitter --
220
220
  # @nodoc
221
- def once(event, callback)
222
- event_emitter_proxy.once(event, callback)
221
+ def off(event, callback)
222
+ event_emitter_proxy.off(event, callback)
223
223
  end
224
224
 
225
225
  private def event_emitter_proxy
@@ -288,8 +288,8 @@ module Playwright
288
288
 
289
289
  # -- inherited from EventEmitter --
290
290
  # @nodoc
291
- def off(event, callback)
292
- event_emitter_proxy.off(event, callback)
291
+ def once(event, callback)
292
+ event_emitter_proxy.once(event, callback)
293
293
  end
294
294
 
295
295
  # -- inherited from EventEmitter --
@@ -300,8 +300,8 @@ module Playwright
300
300
 
301
301
  # -- inherited from EventEmitter --
302
302
  # @nodoc
303
- def once(event, callback)
304
- event_emitter_proxy.once(event, callback)
303
+ def off(event, callback)
304
+ event_emitter_proxy.off(event, callback)
305
305
  end
306
306
 
307
307
  private def event_emitter_proxy
@@ -205,8 +205,8 @@ module Playwright
205
205
 
206
206
  # -- inherited from EventEmitter --
207
207
  # @nodoc
208
- def off(event, callback)
209
- event_emitter_proxy.off(event, callback)
208
+ def once(event, callback)
209
+ event_emitter_proxy.once(event, callback)
210
210
  end
211
211
 
212
212
  # -- inherited from EventEmitter --
@@ -217,8 +217,8 @@ module Playwright
217
217
 
218
218
  # -- inherited from EventEmitter --
219
219
  # @nodoc
220
- def once(event, callback)
221
- event_emitter_proxy.once(event, callback)
220
+ def off(event, callback)
221
+ event_emitter_proxy.off(event, callback)
222
222
  end
223
223
 
224
224
  private def event_emitter_proxy
@@ -464,34 +464,34 @@ module Playwright
464
464
  end
465
465
 
466
466
  # @nodoc
467
- def enable_debug_console!
468
- wrap_impl(@impl.enable_debug_console!)
467
+ def owner_page=(req)
468
+ wrap_impl(@impl.owner_page=(unwrap_impl(req)))
469
469
  end
470
470
 
471
471
  # @nodoc
472
- def pause
473
- wrap_impl(@impl.pause)
472
+ def browser=(req)
473
+ wrap_impl(@impl.browser=(unwrap_impl(req)))
474
474
  end
475
475
 
476
476
  # @nodoc
477
- def owner_page=(req)
478
- wrap_impl(@impl.owner_page=(unwrap_impl(req)))
477
+ def options=(req)
478
+ wrap_impl(@impl.options=(unwrap_impl(req)))
479
479
  end
480
480
 
481
481
  # @nodoc
482
- def options=(req)
483
- wrap_impl(@impl.options=(unwrap_impl(req)))
482
+ def enable_debug_console!
483
+ wrap_impl(@impl.enable_debug_console!)
484
484
  end
485
485
 
486
486
  # @nodoc
487
- def browser=(req)
488
- wrap_impl(@impl.browser=(unwrap_impl(req)))
487
+ def pause
488
+ wrap_impl(@impl.pause)
489
489
  end
490
490
 
491
491
  # -- inherited from EventEmitter --
492
492
  # @nodoc
493
- def off(event, callback)
494
- event_emitter_proxy.off(event, callback)
493
+ def once(event, callback)
494
+ event_emitter_proxy.once(event, callback)
495
495
  end
496
496
 
497
497
  # -- inherited from EventEmitter --
@@ -502,8 +502,8 @@ module Playwright
502
502
 
503
503
  # -- inherited from EventEmitter --
504
504
  # @nodoc
505
- def once(event, callback)
506
- event_emitter_proxy.once(event, callback)
505
+ def off(event, callback)
506
+ event_emitter_proxy.off(event, callback)
507
507
  end
508
508
 
509
509
  private def event_emitter_proxy
@@ -182,8 +182,8 @@ module Playwright
182
182
 
183
183
  # -- inherited from EventEmitter --
184
184
  # @nodoc
185
- def off(event, callback)
186
- event_emitter_proxy.off(event, callback)
185
+ def once(event, callback)
186
+ event_emitter_proxy.once(event, callback)
187
187
  end
188
188
 
189
189
  # -- inherited from EventEmitter --
@@ -194,8 +194,8 @@ module Playwright
194
194
 
195
195
  # -- inherited from EventEmitter --
196
196
  # @nodoc
197
- def once(event, callback)
198
- event_emitter_proxy.once(event, callback)
197
+ def off(event, callback)
198
+ event_emitter_proxy.off(event, callback)
199
199
  end
200
200
 
201
201
  private def event_emitter_proxy
@@ -33,8 +33,8 @@ module Playwright
33
33
 
34
34
  # -- inherited from EventEmitter --
35
35
  # @nodoc
36
- def off(event, callback)
37
- event_emitter_proxy.off(event, callback)
36
+ def once(event, callback)
37
+ event_emitter_proxy.once(event, callback)
38
38
  end
39
39
 
40
40
  # -- inherited from EventEmitter --
@@ -45,8 +45,8 @@ module Playwright
45
45
 
46
46
  # -- inherited from EventEmitter --
47
47
  # @nodoc
48
- def once(event, callback)
49
- event_emitter_proxy.once(event, callback)
48
+ def off(event, callback)
49
+ event_emitter_proxy.off(event, callback)
50
50
  end
51
51
 
52
52
  private def event_emitter_proxy
@@ -70,8 +70,8 @@ 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 once(event, callback)
74
+ event_emitter_proxy.once(event, callback)
75
75
  end
76
76
 
77
77
  # -- inherited from EventEmitter --
@@ -82,8 +82,8 @@ module Playwright
82
82
 
83
83
  # -- inherited from EventEmitter --
84
84
  # @nodoc
85
- def once(event, callback)
86
- event_emitter_proxy.once(event, callback)
85
+ def off(event, callback)
86
+ event_emitter_proxy.off(event, callback)
87
87
  end
88
88
 
89
89
  private def event_emitter_proxy
@@ -576,8 +576,8 @@ module Playwright
576
576
 
577
577
  # -- inherited from EventEmitter --
578
578
  # @nodoc
579
- def off(event, callback)
580
- event_emitter_proxy.off(event, callback)
579
+ def once(event, callback)
580
+ event_emitter_proxy.once(event, callback)
581
581
  end
582
582
 
583
583
  # -- inherited from EventEmitter --
@@ -588,8 +588,8 @@ module Playwright
588
588
 
589
589
  # -- inherited from EventEmitter --
590
590
  # @nodoc
591
- def once(event, callback)
592
- event_emitter_proxy.once(event, callback)
591
+ def off(event, callback)
592
+ event_emitter_proxy.off(event, callback)
593
593
  end
594
594
 
595
595
  private def event_emitter_proxy
@@ -1057,8 +1057,8 @@ module Playwright
1057
1057
 
1058
1058
  # -- inherited from EventEmitter --
1059
1059
  # @nodoc
1060
- def off(event, callback)
1061
- event_emitter_proxy.off(event, callback)
1060
+ def once(event, callback)
1061
+ event_emitter_proxy.once(event, callback)
1062
1062
  end
1063
1063
 
1064
1064
  # -- inherited from EventEmitter --
@@ -1069,8 +1069,8 @@ module Playwright
1069
1069
 
1070
1070
  # -- inherited from EventEmitter --
1071
1071
  # @nodoc
1072
- def once(event, callback)
1073
- event_emitter_proxy.once(event, callback)
1072
+ def off(event, callback)
1073
+ event_emitter_proxy.off(event, callback)
1074
1074
  end
1075
1075
 
1076
1076
  private def event_emitter_proxy
@@ -100,8 +100,8 @@ 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 once(event, callback)
104
+ event_emitter_proxy.once(event, callback)
105
105
  end
106
106
 
107
107
  # -- inherited from EventEmitter --
@@ -112,8 +112,8 @@ module Playwright
112
112
 
113
113
  # -- inherited from EventEmitter --
114
114
  # @nodoc
115
- def once(event, callback)
116
- event_emitter_proxy.once(event, callback)
115
+ def off(event, callback)
116
+ event_emitter_proxy.off(event, callback)
117
117
  end
118
118
 
119
119
  private def event_emitter_proxy
@@ -1287,13 +1287,13 @@ module Playwright
1287
1287
  end
1288
1288
 
1289
1289
  # @nodoc
1290
- def expect(expression, options, title)
1291
- wrap_impl(@impl.expect(unwrap_impl(expression), unwrap_impl(options), unwrap_impl(title)))
1290
+ def resolve_selector
1291
+ wrap_impl(@impl.resolve_selector)
1292
1292
  end
1293
1293
 
1294
1294
  # @nodoc
1295
- def resolve_selector
1296
- wrap_impl(@impl.resolve_selector)
1295
+ def expect(expression, options, title)
1296
+ wrap_impl(@impl.expect(unwrap_impl(expression), unwrap_impl(options), unwrap_impl(title)))
1297
1297
  end
1298
1298
 
1299
1299
  # @nodoc
@@ -1849,8 +1849,8 @@ module Playwright
1849
1849
 
1850
1850
  # -- inherited from EventEmitter --
1851
1851
  # @nodoc
1852
- def off(event, callback)
1853
- event_emitter_proxy.off(event, callback)
1852
+ def once(event, callback)
1853
+ event_emitter_proxy.once(event, callback)
1854
1854
  end
1855
1855
 
1856
1856
  # -- inherited from EventEmitter --
@@ -1861,8 +1861,8 @@ module Playwright
1861
1861
 
1862
1862
  # -- inherited from EventEmitter --
1863
1863
  # @nodoc
1864
- def once(event, callback)
1865
- event_emitter_proxy.once(event, callback)
1864
+ def off(event, callback)
1865
+ event_emitter_proxy.off(event, callback)
1866
1866
  end
1867
1867
 
1868
1868
  private def event_emitter_proxy
@@ -105,8 +105,8 @@ 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 once(event, callback)
109
+ event_emitter_proxy.once(event, callback)
110
110
  end
111
111
 
112
112
  # -- inherited from EventEmitter --
@@ -117,8 +117,8 @@ module Playwright
117
117
 
118
118
  # -- inherited from EventEmitter --
119
119
  # @nodoc
120
- def once(event, callback)
121
- event_emitter_proxy.once(event, callback)
120
+ def off(event, callback)
121
+ event_emitter_proxy.off(event, callback)
122
122
  end
123
123
 
124
124
  private def event_emitter_proxy
@@ -207,8 +207,8 @@ module Playwright
207
207
 
208
208
  # -- inherited from EventEmitter --
209
209
  # @nodoc
210
- def off(event, callback)
211
- event_emitter_proxy.off(event, callback)
210
+ def once(event, callback)
211
+ event_emitter_proxy.once(event, callback)
212
212
  end
213
213
 
214
214
  # -- inherited from EventEmitter --
@@ -219,8 +219,8 @@ module Playwright
219
219
 
220
220
  # -- inherited from EventEmitter --
221
221
  # @nodoc
222
- def once(event, callback)
223
- event_emitter_proxy.once(event, callback)
222
+ def off(event, callback)
223
+ event_emitter_proxy.off(event, callback)
224
224
  end
225
225
 
226
226
  private def event_emitter_proxy
@@ -118,19 +118,19 @@ module Playwright
118
118
  end
119
119
 
120
120
  # @nodoc
121
- def from_service_worker?
122
- wrap_impl(@impl.from_service_worker?)
121
+ def ok?
122
+ wrap_impl(@impl.ok?)
123
123
  end
124
124
 
125
125
  # @nodoc
126
- def ok?
127
- wrap_impl(@impl.ok?)
126
+ def from_service_worker?
127
+ wrap_impl(@impl.from_service_worker?)
128
128
  end
129
129
 
130
130
  # -- inherited from EventEmitter --
131
131
  # @nodoc
132
- def off(event, callback)
133
- event_emitter_proxy.off(event, callback)
132
+ def once(event, callback)
133
+ event_emitter_proxy.once(event, callback)
134
134
  end
135
135
 
136
136
  # -- inherited from EventEmitter --
@@ -141,8 +141,8 @@ module Playwright
141
141
 
142
142
  # -- inherited from EventEmitter --
143
143
  # @nodoc
144
- def once(event, callback)
145
- event_emitter_proxy.once(event, callback)
144
+ def off(event, callback)
145
+ event_emitter_proxy.off(event, callback)
146
146
  end
147
147
 
148
148
  private def event_emitter_proxy
@@ -176,8 +176,8 @@ module Playwright
176
176
 
177
177
  # -- inherited from EventEmitter --
178
178
  # @nodoc
179
- def off(event, callback)
180
- event_emitter_proxy.off(event, callback)
179
+ def once(event, callback)
180
+ event_emitter_proxy.once(event, callback)
181
181
  end
182
182
 
183
183
  # -- inherited from EventEmitter --
@@ -188,8 +188,8 @@ module Playwright
188
188
 
189
189
  # -- inherited from EventEmitter --
190
190
  # @nodoc
191
- def once(event, callback)
192
- event_emitter_proxy.once(event, callback)
191
+ def off(event, callback)
192
+ event_emitter_proxy.off(event, callback)
193
193
  end
194
194
 
195
195
  private def event_emitter_proxy
@@ -105,8 +105,8 @@ 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 once(event, callback)
109
+ event_emitter_proxy.once(event, callback)
110
110
  end
111
111
 
112
112
  # -- inherited from EventEmitter --
@@ -117,8 +117,8 @@ module Playwright
117
117
 
118
118
  # -- inherited from EventEmitter --
119
119
  # @nodoc
120
- def once(event, callback)
121
- event_emitter_proxy.once(event, callback)
120
+ def off(event, callback)
121
+ event_emitter_proxy.off(event, callback)
122
122
  end
123
123
 
124
124
  private def event_emitter_proxy
@@ -36,8 +36,8 @@ module Playwright
36
36
 
37
37
  # -- inherited from EventEmitter --
38
38
  # @nodoc
39
- def off(event, callback)
40
- event_emitter_proxy.off(event, callback)
39
+ def once(event, callback)
40
+ event_emitter_proxy.once(event, callback)
41
41
  end
42
42
 
43
43
  # -- inherited from EventEmitter --
@@ -48,8 +48,8 @@ module Playwright
48
48
 
49
49
  # -- inherited from EventEmitter --
50
50
  # @nodoc
51
- def once(event, callback)
52
- event_emitter_proxy.once(event, callback)
51
+ def off(event, callback)
52
+ event_emitter_proxy.off(event, callback)
53
53
  end
54
54
 
55
55
  private def event_emitter_proxy
@@ -64,19 +64,19 @@ module Playwright
64
64
  end
65
65
 
66
66
  # @nodoc
67
- def context=(req)
68
- wrap_impl(@impl.context=(unwrap_impl(req)))
67
+ def page=(req)
68
+ wrap_impl(@impl.page=(unwrap_impl(req)))
69
69
  end
70
70
 
71
71
  # @nodoc
72
- def page=(req)
73
- wrap_impl(@impl.page=(unwrap_impl(req)))
72
+ def context=(req)
73
+ wrap_impl(@impl.context=(unwrap_impl(req)))
74
74
  end
75
75
 
76
76
  # -- inherited from EventEmitter --
77
77
  # @nodoc
78
- def off(event, callback)
79
- event_emitter_proxy.off(event, callback)
78
+ def once(event, callback)
79
+ event_emitter_proxy.once(event, callback)
80
80
  end
81
81
 
82
82
  # -- inherited from EventEmitter --
@@ -87,8 +87,8 @@ module Playwright
87
87
 
88
88
  # -- inherited from EventEmitter --
89
89
  # @nodoc
90
- def once(event, callback)
91
- event_emitter_proxy.once(event, callback)
90
+ def off(event, callback)
91
+ event_emitter_proxy.off(event, callback)
92
92
  end
93
93
 
94
94
  private def event_emitter_proxy
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playwright-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.57.1
4
+ version: 1.57.2.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - YusukeIwaki