briar 0.0.8 → 0.0.9
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 +9 -9
- data/README.md +15 -17
- data/bin/briar +94 -55
- data/bin/briar_helpers.rb +18 -5
- data/bin/briar_resign.rb +272 -0
- data/briar.gemspec +3 -6
- data/cucumber.yml.example +20 -3
- data/features/step_definitions/briar_core_steps.rb +1 -1
- data/features/step_definitions/control/button_steps.rb +1 -1
- data/features/step_definitions/control/slider_steps.rb +2 -0
- data/features/step_definitions/email_steps.rb +12 -12
- data/features/step_definitions/keyboard_steps.rb +1 -0
- data/features/step_definitions/label_steps.rb +1 -1
- data/features/step_definitions/picker/date_picker_steps.rb +22 -3
- data/features/step_definitions/table_steps.rb +17 -6
- data/features/step_definitions/text_view_steps.rb +4 -10
- data/lib/briar.rb +10 -1
- data/lib/briar/alerts_and_sheets/action_sheet.rb +2 -2
- data/lib/briar/alerts_and_sheets/alert_view.rb +78 -19
- data/lib/briar/bars/navbar.rb +56 -20
- data/lib/briar/briar_core.rb +80 -9
- data/lib/briar/control/button.rb +16 -19
- data/lib/briar/email.rb +88 -30
- data/lib/briar/keyboard.rb +40 -40
- data/lib/briar/label.rb +1 -3
- data/lib/briar/picker/date_picker.rb +9 -1
- data/lib/briar/picker/date_picker_manipulation.rb +2 -2
- data/lib/briar/table.rb +56 -25
- data/lib/briar/text_field.rb +6 -4
- data/lib/briar/text_view.rb +33 -8
- data/lib/briar/version.rb +1 -1
- metadata +6 -34
- data/install-calabash-framework.sh.example +0 -10
data/lib/briar/keyboard.rb
CHANGED
@@ -1,64 +1,51 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
1
|
module Briar
|
5
2
|
module Keyboard
|
6
|
-
#
|
3
|
+
# dismiss the keyboard on iPad
|
4
|
+
# send_uia_command command:"uia.keyboard().buttons()['Hide keyboard'].tap()"
|
5
|
+
|
6
|
+
# these are not ready for prime time
|
7
|
+
# the methods for setting auto correct, spell check, etc. are not ready
|
7
8
|
UITextAutocapitalizationTypeNone = 0
|
8
9
|
UITextAutocapitalizationTypeWords = 1
|
9
10
|
UITextAutocapitalizationTypeSentences = 2
|
10
11
|
UITextAutocapitalizationTypeAllCharacters = 3
|
11
12
|
|
13
|
+
UITextAutocorrectionTypeYes = 0
|
12
14
|
UITextAutocorrectionTypeNo = 1
|
13
|
-
|
15
|
+
|
14
16
|
|
15
17
|
UITextSpellCheckingTypeNo = 1
|
16
18
|
UITextSpellCheckingTypeYes = 2
|
17
19
|
|
18
20
|
@text_entered_by_keyboard = ''
|
19
21
|
|
20
|
-
def should_see_keyboard (timeout=
|
22
|
+
def should_see_keyboard (timeout=BRIAR_WAIT_TIMEOUT)
|
21
23
|
msg = "waited for '#{timeout}' seconds but did not see keyboard"
|
22
24
|
wait_for(:timeout => timeout,
|
23
25
|
:retry_frequency => 0.2,
|
24
26
|
:post_timeout => 0.1,
|
25
|
-
:timeout_message => msg
|
27
|
+
:timeout_message => msg) do
|
26
28
|
element_exists('keyboardAutomatic')
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
30
|
-
def should_not_see_keyboard (timeout=
|
32
|
+
def should_not_see_keyboard (timeout=BRIAR_WAIT_TIMEOUT)
|
31
33
|
msg = "waited for '#{timeout}' seconds but keyboard did not disappear"
|
32
34
|
wait_for(:timeout => timeout,
|
33
35
|
:retry_frequency => 0.2,
|
34
36
|
:post_timeout => 0.1,
|
35
|
-
:timeout_message => msg
|
37
|
+
:timeout_message => msg) do
|
36
38
|
element_does_not_exist 'keyboardAutomatic'
|
37
39
|
end
|
38
40
|
end
|
39
41
|
|
40
42
|
def briar_keyboard_enter_text (text)
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
@text_entered_by_keyboard =
|
43
|
+
keyboard_enter_text text
|
44
|
+
# not ideal, but entering text by uia keyboard will never return what
|
45
|
+
# was text was actually input to the keyboard
|
46
|
+
@text_entered_by_keyboard = text
|
45
47
|
end
|
46
48
|
|
47
|
-
def briar_keyboard_set_text (text, view_id, &do_for_each_char)
|
48
|
-
unless device.ios7?
|
49
|
-
warn 'this is hack for iOS 7 (playback not available yet) - use briar_keyboard_enter_text'
|
50
|
-
end
|
51
|
-
|
52
|
-
query_str = "view marked:'#{view_id}'"
|
53
|
-
accum = ''
|
54
|
-
text.chars.to_a.each { |char|
|
55
|
-
accum << char
|
56
|
-
query(query_str, {setText:accum})
|
57
|
-
do_for_each_char.call(view_id, accum)
|
58
|
-
@text_entered_by_keyboard = accum
|
59
|
-
sleep(0.05)
|
60
|
-
}
|
61
|
-
end
|
62
49
|
|
63
50
|
# is it possible to find what view the keyboard is responding to?
|
64
51
|
def autocapitalization_type ()
|
@@ -71,11 +58,21 @@ module Briar
|
|
71
58
|
end
|
72
59
|
end
|
73
60
|
|
61
|
+
def auto_correct_type()
|
62
|
+
if !query('textView index:0').empty?
|
63
|
+
query('textView index:0', :autocorrectionType).first.to_i
|
64
|
+
elsif !query('textField index:0').empty?
|
65
|
+
query('textField index:0', :autocorrectionType).first.to_i
|
66
|
+
else
|
67
|
+
screenshot_and_raise 'could not find a text view or text field'
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
74
71
|
def set_autocapitalization (type)
|
75
72
|
if !query('textView index:0').empty?
|
76
|
-
query('textView index:0', [{setAutocapitalizationType:type}])
|
73
|
+
query('textView index:0', [{setAutocapitalizationType: type}])
|
77
74
|
elsif !query('textField index:0').empty?
|
78
|
-
query('textField index:0', [{setAutocapitalizationType:type}])
|
75
|
+
query('textField index:0', [{setAutocapitalizationType: type}])
|
79
76
|
else
|
80
77
|
screenshot_and_raise 'could not find a text view or text field'
|
81
78
|
end
|
@@ -87,9 +84,9 @@ module Briar
|
|
87
84
|
|
88
85
|
def set_autocorrect (type)
|
89
86
|
if !query('textView index:0').empty?
|
90
|
-
query('textView index:0',
|
87
|
+
query('textView index:0', [{setAutocorrectionType: type}])
|
91
88
|
elsif !query('textField index:0').empty?
|
92
|
-
query('textField index:0', [{setAutocorrectionType:type}])
|
89
|
+
query('textField index:0', [{setAutocorrectionType: type}])
|
93
90
|
else
|
94
91
|
screenshot_and_raise 'could not find a text view or text field'
|
95
92
|
end
|
@@ -101,20 +98,23 @@ module Briar
|
|
101
98
|
|
102
99
|
def turn_spell_correct_off
|
103
100
|
if !query('textView index:0').empty?
|
104
|
-
query('textView index:0', [{setSpellCheckingType:UITextSpellCheckingTypeNo}])
|
101
|
+
query('textView index:0', [{setSpellCheckingType: UITextSpellCheckingTypeNo}])
|
105
102
|
elsif !query('textField index:0').empty?
|
106
|
-
query('textField index:0', [{setSpellCheckingType:UITextSpellCheckingTypeNo}])
|
103
|
+
query('textField index:0', [{setSpellCheckingType: UITextSpellCheckingTypeNo}])
|
107
104
|
else
|
108
105
|
screenshot_and_raise 'could not find a text view or text field'
|
109
106
|
end
|
110
107
|
end
|
111
108
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
109
|
+
def briar_clear_text(view_id)
|
110
|
+
wait_for_view view_id
|
111
|
+
touch("view marked:'#{view_id}'")
|
112
|
+
wait_for_button 'Select All'
|
113
|
+
step_pause
|
114
|
+
touch_button_and_wait_for_view 'Select All', 'Cut'
|
115
|
+
step_pause
|
116
|
+
touch_button 'Cut'
|
117
|
+
step_pause
|
118
118
|
end
|
119
119
|
|
120
120
|
#def is_capitalize_none (cap_type)
|
data/lib/briar/label.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require "calabash-cucumber"
|
2
|
-
|
3
1
|
module Briar
|
4
2
|
module Label
|
5
3
|
def label_exists? (name)
|
@@ -31,7 +29,7 @@ module Briar
|
|
31
29
|
end
|
32
30
|
end
|
33
31
|
|
34
|
-
def wait_for_label (label_id, timeout=
|
32
|
+
def wait_for_label (label_id, timeout=BRIAR_WAIT_TIMEOUT)
|
35
33
|
msg = "waited for '#{timeout}' seconds but did not see label '#{label_id}'"
|
36
34
|
wait_for(:timeout => timeout,
|
37
35
|
:retry_frequency => 0.2,
|
@@ -25,8 +25,16 @@ module Briar
|
|
25
25
|
include Briar::Picker::DateCore
|
26
26
|
include Briar::Picker::DateManipulation
|
27
27
|
|
28
|
-
|
28
|
+
def should_see_label_has_time_i_just_entered (label_id)
|
29
|
+
should_see_label label_id
|
30
|
+
query_str = "label marked:'#{label_id}'"
|
31
|
+
actual_text = query(query_str, :text).first
|
32
|
+
unless (actual_text.eql? @date_picker_time_12h) or (actual_text.eql? @date_picker_time_24h)
|
33
|
+
screenshot_and_raise "expected to see '#{@date_picker_time_12h}' or '#{@date_picker_time_24h}' in '#{label_id}' but found '#{actual_text}'"
|
34
|
+
end
|
35
|
+
end
|
29
36
|
|
37
|
+
# requires a time or date change. picker does not need to be visible
|
30
38
|
def should_see_row_has_time_i_just_entered (row_id, label_id, table_id=nil)
|
31
39
|
query_str = query_str_for_row row_id, table_id
|
32
40
|
arr = query("#{query_str} descendant label marked:'#{label_id}'", :text)
|
@@ -115,14 +115,14 @@ module Briar
|
|
115
115
|
# pickers that use utc (reminders, alerts, etc. do no usually have
|
116
116
|
# min/max dates
|
117
117
|
def ensure_can_change_picker_to_date(target_dt, picker_id=nil)
|
118
|
-
max_date =
|
118
|
+
max_date = maximum_date_time_from_picker picker_id
|
119
119
|
if max_date and target_dt > max_date
|
120
120
|
p "target: '#{target_dt}'"
|
121
121
|
p " max: '#{max_date}'"
|
122
122
|
screenshot_and_raise "cannot change time to '#{target_dt}' because the picker has a maximum date of '#{max_date}'"
|
123
123
|
end
|
124
124
|
|
125
|
-
min_date =
|
125
|
+
min_date = minimum_date_time_from_picker picker_id
|
126
126
|
if min_date and target_dt < min_date
|
127
127
|
p "target: '#{target_dt}'"
|
128
128
|
p " min: '#{min_date}'"
|
data/lib/briar/table.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
#require 'calabash-cucumber'
|
2
|
-
|
3
1
|
module Briar
|
2
|
+
#noinspection ALL
|
4
3
|
module Table
|
5
4
|
|
6
5
|
def query_str_for_row_content (row_id, table_id = nil)
|
7
6
|
base = query_str_for_row row_id, table_id
|
8
|
-
"#{base}
|
7
|
+
"#{base} descendant"
|
9
8
|
end
|
10
9
|
|
11
10
|
def query_str_for_row (row_id, table_id = nil)
|
@@ -71,12 +70,9 @@ module Briar
|
|
71
70
|
end
|
72
71
|
|
73
72
|
def should_see_row (row_id, table_id = nil)
|
74
|
-
|
75
|
-
screenshot_and_raise "i do not see a row '#{row_id}'"
|
76
|
-
end
|
73
|
+
wait_for_row(row_id, {:table_id => table_id})
|
77
74
|
end
|
78
75
|
|
79
|
-
|
80
76
|
def should_not_see_row(row_id, table_id=nil)
|
81
77
|
if row_visible? row_id, table_id
|
82
78
|
screenshot_and_raise "i should not have seen row named #{row_id}"
|
@@ -84,15 +80,15 @@ module Briar
|
|
84
80
|
end
|
85
81
|
|
86
82
|
def wait_for_row(row_id, options={:table_id => nil,
|
87
|
-
:timeout =>
|
83
|
+
:timeout => BRIAR_WAIT_TIMEOUT})
|
88
84
|
table_id = options[:table_id]
|
89
85
|
query_str = query_str_for_row row_id, table_id
|
90
|
-
timeout = options[:timeout] ||
|
86
|
+
timeout = options[:timeout] || BRIAR_WAIT_TIMEOUT
|
91
87
|
msg = "waited for '#{timeout}' seconds but did not see row '#{query_str}' with query '#{query_str}'"
|
92
88
|
wait_for(:timeout => timeout,
|
93
89
|
:retry_frequency => 0.2,
|
94
90
|
:post_timeout => 0.1,
|
95
|
-
:timeout_message => msg
|
91
|
+
:timeout_message => msg) do
|
96
92
|
row_visible? row_id, table_id
|
97
93
|
end
|
98
94
|
end
|
@@ -118,6 +114,21 @@ module Briar
|
|
118
114
|
end
|
119
115
|
end
|
120
116
|
|
117
|
+
def should_see_row_with_label_that_has_no_text(row_id, label_id)
|
118
|
+
wait_for_row row_id
|
119
|
+
qstr = "#{query_str_for_row_content row_id} label marked:'#{label_id}'"
|
120
|
+
res = query(qstr, :text)
|
121
|
+
if res.empty?
|
122
|
+
screenshot_and_raise "expected to see row '#{row_id}' with label '#{label_id}'"
|
123
|
+
end
|
124
|
+
|
125
|
+
text = res.first
|
126
|
+
unless text.nil? or text.eql?('')
|
127
|
+
screenshot_and_raise "expected to see no text in row '#{row_id}' in label '#{label_id}' but found '#{text}'"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
|
121
132
|
def should_see_row_with_image (row_id, image_id, table_id = nil)
|
122
133
|
should_see_row row_id, table_id
|
123
134
|
query_str = query_str_for_row_content row_id, table_id
|
@@ -189,6 +200,7 @@ module Briar
|
|
189
200
|
|
190
201
|
def touch_row (row_id, table_id = nil)
|
191
202
|
should_see_row row_id
|
203
|
+
step_pause
|
192
204
|
offset = touch_row_offset_hash row_id, table_id
|
193
205
|
query_str = query_str_for_row(row_id, table_id)
|
194
206
|
#puts "touch(\"#{query_str}\", :offset => #{offset})"
|
@@ -200,7 +212,7 @@ module Briar
|
|
200
212
|
def touch_row_and_wait_to_see(row_id, view, table_id = nil)
|
201
213
|
should_see_row row_id, table_id
|
202
214
|
touch_row row_id, table_id
|
203
|
-
wait_for_view view,
|
215
|
+
wait_for_view view, 3.0
|
204
216
|
end
|
205
217
|
|
206
218
|
def table_exists? (table_name)
|
@@ -222,9 +234,10 @@ module Briar
|
|
222
234
|
end
|
223
235
|
|
224
236
|
def swipe_on_row (dir, row_id, table_id=nil)
|
225
|
-
if device.ios7?
|
226
|
-
pending
|
237
|
+
if device.ios7? and device.simulator?
|
238
|
+
pending('swiping on rows is not available on iOS 7 because of a bug in Xcode 5 simulator')
|
227
239
|
end
|
240
|
+
wait_for_row row_id, {:table_id => table_id}
|
228
241
|
query_str = query_str_for_row row_id, table_id
|
229
242
|
swipe(dir, {:query => query_str})
|
230
243
|
step_pause
|
@@ -239,23 +252,33 @@ module Briar
|
|
239
252
|
end
|
240
253
|
end
|
241
254
|
|
255
|
+
def query_str_for_confirm_delete_in_row(row_id, table_id=nil)
|
256
|
+
mark = device.ios7? ? 'Delete' : 'Confirm Deletion'
|
257
|
+
"#{query_str_for_row row_id, table_id} descendant control marked:'#{mark}'"
|
258
|
+
end
|
259
|
+
|
242
260
|
def should_see_delete_confirmation_in_row(row_id, table_id=nil)
|
243
|
-
query_str =
|
244
|
-
|
245
|
-
|
261
|
+
query_str = query_str_for_confirm_delete_in_row(row_id, table_id)
|
262
|
+
timeout = 5
|
263
|
+
msg = "waited for '#{timeout}' seconds but did not see 'Delete' confirmation in row '#{row_id}'"
|
264
|
+
wait_for(:timeout => timeout,
|
265
|
+
:retry_frequency => 0.2,
|
266
|
+
:post_timeout => 0.1,
|
267
|
+
:timeout_message => msg) do
|
268
|
+
element_exists query_str
|
246
269
|
end
|
247
270
|
end
|
248
271
|
|
249
272
|
def touch_delete_confirmation(row_id, table_id=nil)
|
250
|
-
query_str =
|
251
|
-
touch(
|
273
|
+
query_str = query_str_for_confirm_delete_in_row(row_id, table_id)
|
274
|
+
touch(query_str)
|
252
275
|
step_pause
|
253
276
|
end
|
254
277
|
|
255
278
|
def edit_mode_delete_button_exists? (row_id, table_id=nil)
|
256
279
|
query_str = query_str_for_row row_id, table_id
|
257
|
-
|
258
|
-
!query("#{query_str} descendant tableViewCellEditControl").empty?
|
280
|
+
# note the extra space on the Delete
|
281
|
+
!query("#{query_str} descendant tableViewCellEditControl marked:'Delete '").empty?
|
259
282
|
end
|
260
283
|
|
261
284
|
def should_see_edit_mode_delete_button (row_id, table_id=nil)
|
@@ -272,8 +295,6 @@ module Briar
|
|
272
295
|
|
273
296
|
def reorder_button_exists? (row_id, table_id=nil)
|
274
297
|
query_str = query_str_for_row row_id, table_id
|
275
|
-
#!query("tableViewCell marked:'#{row_id}' child tableViewCellReorderControl").empty?
|
276
|
-
#!query("all tableViewCell marked:'#{row_id}' child tableViewCellReorderControl").empty?
|
277
298
|
!query("#{query_str} descendant tableViewCellReorderControl").empty?
|
278
299
|
end
|
279
300
|
|
@@ -299,8 +320,8 @@ module Briar
|
|
299
320
|
|
300
321
|
def touch_edit_mode_delete_button (row_id, table_id=nil)
|
301
322
|
should_see_edit_mode_delete_button row_id, table_id
|
302
|
-
touch("tableViewCell marked:'#{row_id}'
|
303
|
-
|
323
|
+
touch("tableViewCell marked:'#{row_id}' descendant tableViewCellEditControl marked:'Delete '")
|
324
|
+
# this is a wait function - so no step pause is necessary
|
304
325
|
should_see_delete_confirmation_in_row row_id
|
305
326
|
end
|
306
327
|
|
@@ -343,7 +364,9 @@ module Briar
|
|
343
364
|
|
344
365
|
def delete_row_with_edit_mode_delete_button (row_id, table_id=nil)
|
345
366
|
touch_edit_mode_delete_button row_id, table_id
|
367
|
+
2.times { step_pause }
|
346
368
|
touch_delete_confirmation row_id, table_id
|
369
|
+
2.times { step_pause }
|
347
370
|
should_not_see_row row_id, table_id
|
348
371
|
end
|
349
372
|
|
@@ -355,10 +378,12 @@ module Briar
|
|
355
378
|
end
|
356
379
|
|
357
380
|
def swipe_to_delete_row (row_id, table_id = nil)
|
358
|
-
|
381
|
+
step_pause
|
359
382
|
swipe_on_row 'left', row_id, table_id
|
383
|
+
step_pause
|
360
384
|
should_see_delete_confirmation_in_row row_id, table_id
|
361
385
|
touch_delete_confirmation row_id, table_id
|
386
|
+
step_pause
|
362
387
|
should_not_see_row row_id, table_id
|
363
388
|
end
|
364
389
|
|
@@ -393,5 +418,11 @@ module Briar
|
|
393
418
|
touch("#{query_str} descendant view marked:'#{header_id}'")
|
394
419
|
step_pause
|
395
420
|
end
|
421
|
+
|
422
|
+
def touch_button_in_row(button_id, row_id, table_id=nil)
|
423
|
+
query_str = query_str_for_table(table_id)
|
424
|
+
touch("#{query_str} descendant button marked:'#{button_id}'")
|
425
|
+
step_pause
|
426
|
+
end
|
396
427
|
end
|
397
428
|
end
|
data/lib/briar/text_field.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'calabash-cucumber'
|
2
2
|
|
3
3
|
module Briar
|
4
4
|
module TextField
|
@@ -22,10 +22,12 @@ module Briar
|
|
22
22
|
|
23
23
|
def button_in_text_field_is_clear? (text_field_id)
|
24
24
|
ht = query("textField marked:'#{text_field_id}' child button child imageView", :frame).first
|
25
|
-
if
|
26
|
-
|
25
|
+
return false if ht.nil?
|
26
|
+
|
27
|
+
if device.ios7?
|
28
|
+
ht['X'] == 2.5 and ht['Y'] == 2.5 and ht['Width'] == 14 and ht['Height'] == 14
|
27
29
|
else
|
28
|
-
|
30
|
+
ht['X'] == 0 and ht['Y'] == 0 and ht['Width'] == 19 and ht['Height'] == 19
|
29
31
|
end
|
30
32
|
end
|
31
33
|
|
data/lib/briar/text_view.rb
CHANGED
@@ -2,19 +2,44 @@ require "calabash-cucumber"
|
|
2
2
|
|
3
3
|
module Briar
|
4
4
|
module TextView
|
5
|
-
def text_view_exists? (
|
6
|
-
!query("textView marked:'#{
|
5
|
+
def text_view_exists? (view_id)
|
6
|
+
!query("textView marked:'#{view_id}'").empty?
|
7
7
|
end
|
8
8
|
|
9
|
-
def
|
10
|
-
|
11
|
-
|
9
|
+
def wait_for_text_view(view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
10
|
+
msg = "waited for '#{timeout}' seconds but did not see '#{view_id}'"
|
11
|
+
wait_for(:timeout => timeout,
|
12
|
+
:retry_frequency => 0.2,
|
13
|
+
:post_timeout => 0.1,
|
14
|
+
:timeout_message => msg) do
|
15
|
+
text_view_exists? view_id
|
12
16
|
end
|
13
17
|
end
|
14
18
|
|
15
|
-
def
|
16
|
-
|
17
|
-
|
19
|
+
def wait_for_text_view_to_disappear(view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
20
|
+
msg = "waited for '#{timeout}' seconds for '#{view_id}' to disappear but it is still visible"
|
21
|
+
options = {:timeout => timeout,
|
22
|
+
:retry_frequency => 0.2,
|
23
|
+
:post_timeout => 0.1,
|
24
|
+
:timeout_message => msg}
|
25
|
+
wait_for(options) do
|
26
|
+
not text_view_exists? view_id
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def should_see_text_view (view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
31
|
+
wait_for_text_view(view_id, timeout)
|
32
|
+
end
|
33
|
+
|
34
|
+
def should_not_see_text_view (view_id, timeout=BRIAR_WAIT_TIMEOUT)
|
35
|
+
wait_for_text_view_to_disappear(view_id, timeout)
|
36
|
+
end
|
37
|
+
|
38
|
+
def should_see_text_view_with_text(view_id, text)
|
39
|
+
should_see_text_view view_id
|
40
|
+
actual = query("textView marked:'#{view_id}'", :text).first
|
41
|
+
unless @text_entered_by_keyboard.eql?(actual)
|
42
|
+
screenshot_and_raise "i expected to see '#{@text_entered_by_keyboard}' in text view '#{view_id}' but found '#{actual}'"
|
18
43
|
end
|
19
44
|
end
|
20
45
|
end
|