briar 0.0.4
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 +15 -0
- data/.gitignore +29 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +36 -0
- data/README.md +25 -0
- data/Rakefile +12 -0
- data/briar.gemspec +26 -0
- data/dotirbc_briar_additions +31 -0
- data/features/step_definitions/alerts_and_sheets/action_sheet_steps.rb +8 -0
- data/features/step_definitions/alerts_and_sheets/alert_view_steps.rb +25 -0
- data/features/step_definitions/bars/navbar_steps.rb +95 -0
- data/features/step_definitions/bars/tabbar_steps.rb +32 -0
- data/features/step_definitions/bars/toolbar_steps.rb +17 -0
- data/features/step_definitions/briar_core_steps.rb +9 -0
- data/features/step_definitions/control/button_steps.rb +57 -0
- data/features/step_definitions/control/segmented_control_steps.rb +85 -0
- data/features/step_definitions/control/slider_steps.rb +9 -0
- data/features/step_definitions/email_steps.rb +59 -0
- data/features/step_definitions/image_view_steps.rb +9 -0
- data/features/step_definitions/keyboard_steps.rb +21 -0
- data/features/step_definitions/label_steps.rb +21 -0
- data/features/step_definitions/picker/date_picker_steps.rb +216 -0
- data/features/step_definitions/picker/picker_steps.rb +58 -0
- data/features/step_definitions/scroll_view_steps.rb +20 -0
- data/features/step_definitions/table_steps.rb +186 -0
- data/features/step_definitions/text_field_steps.rb +37 -0
- data/features/step_definitions/text_view_steps.rb +44 -0
- data/features/support/env.rb +0 -0
- data/features/support/hooks.rb +0 -0
- data/features/support/launch.rb +0 -0
- data/lib/briar.rb +72 -0
- data/lib/briar/alerts_and_sheets/alert_view.rb +16 -0
- data/lib/briar/bars/navbar.rb +104 -0
- data/lib/briar/bars/tabbar.rb +38 -0
- data/lib/briar/bars/toolbar.rb +36 -0
- data/lib/briar/briar_core.rb +56 -0
- data/lib/briar/briar_steps.rb +26 -0
- data/lib/briar/control/button.rb +47 -0
- data/lib/briar/control/segmented_control.rb +22 -0
- data/lib/briar/control/slider.rb +34 -0
- data/lib/briar/cucumber.rb +49 -0
- data/lib/briar/email.rb +58 -0
- data/lib/briar/gestalt.rb +80 -0
- data/lib/briar/image_view.rb +27 -0
- data/lib/briar/keyboard.rb +104 -0
- data/lib/briar/label.rb +34 -0
- data/lib/briar/picker/date_picker.rb +598 -0
- data/lib/briar/picker/picker.rb +32 -0
- data/lib/briar/picker/picker_shared.rb +34 -0
- data/lib/briar/scroll_view.rb +10 -0
- data/lib/briar/table.rb +237 -0
- data/lib/briar/text_field.rb +57 -0
- data/lib/briar/text_view.rb +21 -0
- data/lib/briar/version.rb +3 -0
- data/spec/briar/gestalt_spec.rb +62 -0
- data/spec/spec_helper.rb +17 -0
- metadata +164 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NDRhZjY3ZTNjMzQyMDEzNDY4YTI1MzY2OWU0ZjMyNTgyNzA1YzU5OQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MjRjZWU5ZTI0NjQwMTYxMDlhNjZlZWQ1NjNmNjhjM2U2ZDFkYzE5Mg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MDllMGU4ZmVjYjIwMDdlZjJmNDJkZGJjYTc5MWY1ZjFmOWMwOTFlMDRmYmE3
|
10
|
+
YjVmMDZjODI0NTlmZTJkN2MwOTVmNzAxMTFjYTA2YjIxNDhmOWY4NzI4YmU3
|
11
|
+
NTFkMjhkMmRmMTNlOGI3YWExYjUyZDBhZDkwMjFkNzVhOWVkODk=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZjQ4YWZjMjE4N2NhMGIyYzEzZDFlZTc1NTJlODg3MWI2ZGM1MDU1MzAxNjg3
|
14
|
+
NWU2Zjc2YWViOTg3ZmM3YzJjY2Q0YmVhNzMwM2QxNTEyNjY2ZjcyMDkzYTJj
|
15
|
+
MjM2MmRhMGNlZmJhNGRmMzEzNGYyM2JmNDZiNDFlNjRkMTFjZjk=
|
data/.gitignore
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
vendor
|
10
|
+
coverage
|
11
|
+
doc/
|
12
|
+
lib/bundler/man
|
13
|
+
pkg
|
14
|
+
rdoc
|
15
|
+
spec/reports
|
16
|
+
test/tmp
|
17
|
+
test/version_tmp
|
18
|
+
tmp
|
19
|
+
|
20
|
+
# JetBrains
|
21
|
+
.idea
|
22
|
+
|
23
|
+
# mac
|
24
|
+
.DS_Store
|
25
|
+
__MACOSX
|
26
|
+
|
27
|
+
# emacs turds
|
28
|
+
(.*/)?\#[^/]*\#$
|
29
|
+
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
#
|
2
|
+
# ----------------------------------------------------------------------------
|
3
|
+
# "THE BEER-WARE LICENSE" (Revision 42): As long as you retain this
|
4
|
+
# notice you can do whatever you want with this stuff. If we meet some
|
5
|
+
# day, and you think this stuff is worth it, you can buy me a beer in
|
6
|
+
# return.
|
7
|
+
# ----------------------------------------------------------------------------
|
8
|
+
#
|
9
|
+
#
|
10
|
+
# Copyright (c) 2010 Little Joy Software
|
11
|
+
# All rights reserved.
|
12
|
+
#
|
13
|
+
# Redistribution and use in source and binary forms, with or without
|
14
|
+
# modification, are permitted provided that the following conditions are
|
15
|
+
# met:
|
16
|
+
# * Redistributions of source code must retain the above copyright
|
17
|
+
# notice, this list of conditions and the following disclaimer.
|
18
|
+
# * Redistributions in binary form must reproduce the above copyright
|
19
|
+
# notice, this list of conditions and the following disclaimer in
|
20
|
+
# the documentation and/or other materials provided with the
|
21
|
+
# distribution.
|
22
|
+
# * Neither the name of the Little Joy Software nor the names of its
|
23
|
+
# contributors may be used to endorse or promote products derived
|
24
|
+
# from this software without specific prior written permission.
|
25
|
+
#
|
26
|
+
# THIS SOFTWARE IS PROVIDED BY LITTLE JOY SOFTWARE ''AS IS'' AND ANY
|
27
|
+
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
28
|
+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
29
|
+
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL LITTLE JOY SOFTWARE BE
|
30
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
31
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
32
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
33
|
+
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
34
|
+
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
35
|
+
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,EVEN
|
36
|
+
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Briar
|
2
|
+
|
3
|
+
extends calabash-ios steps to provide steps for controlling complex ui
|
4
|
+
elements like tables and pickers.
|
5
|
+
|
6
|
+
## Why briar?
|
7
|
+
|
8
|
+
* http://en.wikipedia.org/wiki/Smoking_pipe_(tobacco)#Calabash
|
9
|
+
* http://en.wikipedia.org/wiki/Smoking_pipe_(tobacco)#Briar
|
10
|
+
|
11
|
+
## Installation
|
12
|
+
|
13
|
+
not ready for release
|
14
|
+
|
15
|
+
## Usage
|
16
|
+
|
17
|
+
TODO: Write usage instructions here
|
18
|
+
|
19
|
+
## Contributing
|
20
|
+
|
21
|
+
1. Fork it
|
22
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
23
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
24
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
25
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require "./lib/briar/version.rb"
|
3
|
+
task :show_simulator do
|
4
|
+
sh "/usr/bin/osascript -e 'tell application \"iPhone Simulator\" to activate'"
|
5
|
+
sh "/usr/bin/osascript -e 'tell application \"RubyMine\" to activate'"
|
6
|
+
end
|
7
|
+
|
8
|
+
task :gem do
|
9
|
+
sh "rm -f *.gem"
|
10
|
+
sh "gem build briar.gemspec --verbose"
|
11
|
+
sh "gem install briar-#{Briar::VERSION}.gem"
|
12
|
+
end
|
data/briar.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
#lib = File.expand_path('../lib', __FILE__)
|
4
|
+
#$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'briar/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |gem|
|
8
|
+
gem.name = "briar"
|
9
|
+
gem.version = Briar::VERSION
|
10
|
+
gem.authors = ["Joshua Moody"]
|
11
|
+
gem.email = ["joshuajmoody@gmail.com"]
|
12
|
+
gem.description = 'extends calabash-ios steps'
|
13
|
+
gem.summary = "briar-#{gem.version}"
|
14
|
+
gem.homepage = "https://github.com/jmoody/briar"
|
15
|
+
|
16
|
+
gem.add_runtime_dependency 'calabash-cucumber'
|
17
|
+
|
18
|
+
gem.add_development_dependency 'rspec'
|
19
|
+
gem.add_development_dependency 'rvm'
|
20
|
+
|
21
|
+
|
22
|
+
gem.files = `git ls-files`.split($/)
|
23
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
24
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
25
|
+
gem.require_paths = ["lib"]
|
26
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require "briar/gestalt"
|
2
|
+
require "briar/briar_core"
|
3
|
+
require "briar/alerts_and_sheets/alert_view"
|
4
|
+
require "briar/bars/tabbar"
|
5
|
+
require "briar/bars/navbar"
|
6
|
+
require "briar/bars/toolbar"
|
7
|
+
require "briar/control/button"
|
8
|
+
require "briar/control/segmented_control"
|
9
|
+
require "briar/control/slider"
|
10
|
+
require "briar/picker/picker_shared"
|
11
|
+
require "briar/picker/picker"
|
12
|
+
require "briar/picker/date_picker"
|
13
|
+
require "briar/email"
|
14
|
+
require "briar/image_view"
|
15
|
+
require "briar/keyboard"
|
16
|
+
require "briar/label"
|
17
|
+
require "briar/scroll_view"
|
18
|
+
require "briar/table"
|
19
|
+
require "briar/text_field"
|
20
|
+
require "briar/text_view"
|
21
|
+
|
22
|
+
include Briar::Bars
|
23
|
+
include Briar::Alerts_and_Sheets
|
24
|
+
include Briar::Control::Button
|
25
|
+
include Briar::Control::Segmented_Control
|
26
|
+
include Briar::Control::Slider
|
27
|
+
include Briar::Picker
|
28
|
+
include Briar::Picker::Date
|
29
|
+
include Briar::Picker_Shared
|
30
|
+
include Briar::Core
|
31
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#include Briar::Alerts_and_Sheets
|
2
|
+
|
3
|
+
Then /^I should see alert with "([^"]*)" button$/ do |button_id|
|
4
|
+
should_see_alert_button button_id
|
5
|
+
end
|
6
|
+
|
7
|
+
Then /^I should see alert with title "([^"]*)"$/ do |title|
|
8
|
+
unless query("alertView child label", :text).include?(title)
|
9
|
+
screenshot_and_raise "i do not see an alert view with title '#{title}'"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
Then /^I should see alert with message "([^"]*)"$/ do |message|
|
15
|
+
unless query("alertView child label", :text).include?(message)
|
16
|
+
screenshot_and_raise "i do not see an alert view with message '#{message}'"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
Then /^I should not see an alert$/ do
|
21
|
+
res = query("alertView")
|
22
|
+
unless res.empty?
|
23
|
+
screenshot_and_raise "i expected to see no alert view, but found '#{res}'"
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
#include Briar::Bars
|
2
|
+
|
3
|
+
# navigation back item, distinct from left bar button item
|
4
|
+
Then /^I should see navbar back button$/ do
|
5
|
+
should_see_navbar_back_button
|
6
|
+
end
|
7
|
+
|
8
|
+
Then /^I should see a back button in the navbar$/ do
|
9
|
+
should_see_navbar_back_button
|
10
|
+
end
|
11
|
+
|
12
|
+
# navigation back item, distinct from left bar button item
|
13
|
+
Then /^I should not see navbar back button$/ do
|
14
|
+
if navbar_has_back_button?
|
15
|
+
screenshot_and_raise "there should be no navigation bar back button"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Then /^I touch navbar button "([^"]*)"$/ do |name|
|
20
|
+
touch_navbar_item(name)
|
21
|
+
end
|
22
|
+
|
23
|
+
Then /^I touch right navbar button$/ do
|
24
|
+
touch("navigationButton index:1")
|
25
|
+
step_pause
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
Then /^I should see navbar with title "([^\"]*)"$/ do |title|
|
30
|
+
navbar_should_have_title title
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
Then /^I should (not see|see) (?:the|an?) "([^"]*)" button in the navbar$/ do |visibility, name|
|
35
|
+
if visibility.eql? "see"
|
36
|
+
should_see_navbar_button name
|
37
|
+
else
|
38
|
+
should_not_see_navbar_button name
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
When /^I touch the "([^"]*)" navbar button, then I should see the "([^"]*)" view$/ do |button_name, view_id|
|
43
|
+
idx = index_of_navbar_button button_name
|
44
|
+
if idx
|
45
|
+
touch_transition("navigationButton index:#{idx}",
|
46
|
+
"view marked:'#{view_id}'",
|
47
|
+
{:timeout=>TOUCH_TRANSITION_TIMEOUT,
|
48
|
+
:retry_frequency=>TOUCH_TRANSITION_RETRY_FREQ})
|
49
|
+
else
|
50
|
+
screenshot_and_raise "could not find navbar item '#{button_name}'"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
Then /^I go back after waiting$/ do
|
55
|
+
go_back_after_waiting
|
56
|
+
end
|
57
|
+
|
58
|
+
Then /^I go back and wait for "([^\"]*)"$/ do |view|
|
59
|
+
go_back_and_wait_for_view view
|
60
|
+
end
|
61
|
+
|
62
|
+
Then /^I touch the "([^"]*)" navbar button$/ do |name|
|
63
|
+
touch_navbar_item name
|
64
|
+
end
|
65
|
+
|
66
|
+
Then /^I should see that the navbar has title "([^"]*)"$/ do |title|
|
67
|
+
navbar_should_have_title title
|
68
|
+
end
|
69
|
+
|
70
|
+
Then /^I touch the "([^"]*)" button in the navbar$/ do |name|
|
71
|
+
touch_navbar_item name
|
72
|
+
end
|
73
|
+
|
74
|
+
Then /^I should see a back button in the navbar with the title "([^"]*)"$/ do |title|
|
75
|
+
if query("navigationItemButtonView marked:'#{title}'").empty?
|
76
|
+
screenshot_and_raise "the navbar should have a back button with title #{title}"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
When /^I go back, I should see the "([^"]*)" view$/ do |view_id|
|
81
|
+
touch_transition("navigationItemButtonView first",
|
82
|
+
"view marked:'#{view_id}'",
|
83
|
+
{:timeout=>TOUCH_TRANSITION_TIMEOUT,
|
84
|
+
:retry_frequency=>TOUCH_TRANSITION_RETRY_FREQ})
|
85
|
+
end
|
86
|
+
|
87
|
+
Then /^I should see today's date in the navbar$/ do
|
88
|
+
now = Time.now
|
89
|
+
unless date_is_in_navbar(now)
|
90
|
+
with_leading = now.strftime("%a %b %d")
|
91
|
+
without_leading = now.strftime("%a %b #{date.day}")
|
92
|
+
screenshot_and_raise "could not find #{with_leading} or #{without_leading} " +
|
93
|
+
"in the date bar"
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#include Briar::Bars
|
2
|
+
|
3
|
+
Then /^I should see tabbar button "([^"]*)" at index (\d+)$/ do |name, index|
|
4
|
+
unless tabbar_item_is_at_index(name, index)
|
5
|
+
screenshot_and_raise "tabbar button with name #{name} does not exist at index " +
|
6
|
+
index.to_s
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
Given /^that the tabbar is visible$/ do
|
11
|
+
should_see_tabbar
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
Then /^I should not see the tabbar$/ do
|
16
|
+
screenshot_and_raise "should not be able to see tabbar" if tabbar_visible?
|
17
|
+
end
|
18
|
+
|
19
|
+
Then /I touch (?:the) "([^"]*)" tab$/ do |name|
|
20
|
+
touch_tabbar_item name
|
21
|
+
end
|
22
|
+
|
23
|
+
Then /^the tabbar is visible$/ do
|
24
|
+
macro 'that the tabbar is visible'
|
25
|
+
end
|
26
|
+
|
27
|
+
When /^I touch the "([^"]*)" tab I should see the "([^"]*)" view$/ do |tab_label, view_id|
|
28
|
+
should_see_tabbar
|
29
|
+
touch_tabbar_item tab_label
|
30
|
+
should_see_view_after_animation view_id
|
31
|
+
end
|
32
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#include Briar::Bars
|
2
|
+
#include Briar::Core
|
3
|
+
|
4
|
+
Then /^I touch the "([^"]*)" toolbar button$/ do |name|
|
5
|
+
should_see_toolbar_button name
|
6
|
+
touch("toolbar descendant view marked:'#{name}'")
|
7
|
+
step_pause
|
8
|
+
end
|
9
|
+
|
10
|
+
When /^I touch the "([^"]*)" toolbar button, then I should see the "([^"]*)" view$/ do |button_name, view_id|
|
11
|
+
should_see_toolbar_button button_name
|
12
|
+
touch_transition("toolbar descendant view marked:'done with info'",
|
13
|
+
"view marked:'#{view_id}'",
|
14
|
+
{:timeout=>TOUCH_TRANSITION_TIMEOUT,
|
15
|
+
:retry_frequency=>TOUCH_TRANSITION_RETRY_FREQ})
|
16
|
+
end
|
17
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
#include Briar::Control::Button
|
2
|
+
|
3
|
+
Then /^I should see button "([^\"]*)" is enabled$/ do |name|
|
4
|
+
should_see_button name
|
5
|
+
unless button_is_enabled name
|
6
|
+
screenshot_and_raise "i did not see that #{name} was enabled"
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
Then /^I should see button "([^\"]*)" is disabled$/ do |name|
|
11
|
+
should_see_button name
|
12
|
+
if button_is_enabled name
|
13
|
+
screenshot_and_raise "i did not see that #{name} was disabled"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /^I touch "([^"]*)" button$/ do |name|
|
18
|
+
touch_button name
|
19
|
+
end
|
20
|
+
|
21
|
+
When /^I touch the "([^"]*)" button, then I should see the "([^"]*)" view$/ do |button_id, view_id|
|
22
|
+
touch_transition("button marked:'#{button_id}'",
|
23
|
+
"view marked:'#{view_id}'",
|
24
|
+
{:timeout=>TOUCH_TRANSITION_TIMEOUT,
|
25
|
+
:retry_frequency=>TOUCH_TRANSITION_RETRY_FREQ})
|
26
|
+
end
|
27
|
+
|
28
|
+
Then /^I touch the "([^"]*)" button and wait for (?:the|a) "([^"]*)" view$/ do |button_id, view_id|
|
29
|
+
touch_transition("button marked:'#{button_id}'",
|
30
|
+
"view marked:'#{view_id}'",
|
31
|
+
{:timeout=>TOUCH_TRANSITION_TIMEOUT,
|
32
|
+
:retry_frequency=>TOUCH_TRANSITION_RETRY_FREQ})
|
33
|
+
end
|
34
|
+
|
35
|
+
Then /^I should see the "([^"]*)" button has title "([^"]*)"$/ do |button_id, title|
|
36
|
+
should_see_button_with_title button_id, title
|
37
|
+
end
|
38
|
+
|
39
|
+
Then /^I should not see "([^"]*)" button$/ do |button_id|
|
40
|
+
if button_exists? button_id
|
41
|
+
screenshot_and_raise "should not see button: '#{button_id}'"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
Then /^I should see "([^"]*)" button$/ do |button_id|
|
46
|
+
unless button_exists? button_id
|
47
|
+
screenshot_and_raise "should see button '#{button_id}'"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
Then /^I should see the "([^"]*)" button is (disabled|enabled)$/ do |button_id, state|
|
52
|
+
res = query("button marked:'record an urge'", :isEnabled).first
|
53
|
+
str_state = state.eql?("disabled") ? "0" : "1"
|
54
|
+
unless res.eql?(str_state)
|
55
|
+
screenshot_and_raise "expected to see '#{button_id}' that is '#{state}' but found '#{res}'"
|
56
|
+
end
|
57
|
+
end
|