frank-pivotal 1.2.3.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +38 -0
- data/bin/frank +6 -0
- data/bin/frank-skeleton +33 -0
- data/frank-pivotal.gemspec +37 -0
- data/frank-skeleton/features/my_first.feature +12 -0
- data/frank-skeleton/features/step_definitions/launch_steps.rb +20 -0
- data/frank-skeleton/features/support/env.rb +8 -0
- data/frank-skeleton/frank_static_resources.bundle/ViewAttributeMapping.plist +63 -0
- data/frank-skeleton/frank_static_resources.bundle/ViewAttributeMappingMac.plist +99 -0
- data/frank-skeleton/frank_static_resources.bundle/images/ajax-loader.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/file.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/folder-closed.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/folder.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/loader.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/loader.png +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/minus.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/plus.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-black-line.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-black.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-default-line.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-default.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-famfamfam-line.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-famfamfam.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-gray-line.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-gray.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-red-line.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/images/treeview-red.gif +0 -0
- data/frank-skeleton/frank_static_resources.bundle/index.html +86 -0
- data/frank-skeleton/frank_static_resources.bundle/index.html.haml +76 -0
- data/frank-skeleton/frank_static_resources.bundle/js/accessible_views_view.coffee +41 -0
- data/frank-skeleton/frank_static_resources.bundle/js/accessible_views_view.js +46 -0
- data/frank-skeleton/frank_static_resources.bundle/js/controller.coffee +134 -0
- data/frank-skeleton/frank_static_resources.bundle/js/controller.js +139 -0
- data/frank-skeleton/frank_static_resources.bundle/js/details_view.coffee +42 -0
- data/frank-skeleton/frank_static_resources.bundle/js/details_view.js +51 -0
- data/frank-skeleton/frank_static_resources.bundle/js/dropdown_control.coffee +64 -0
- data/frank-skeleton/frank_static_resources.bundle/js/dropdown_control.js +73 -0
- data/frank-skeleton/frank_static_resources.bundle/js/ersatz_model.coffee +46 -0
- data/frank-skeleton/frank_static_resources.bundle/js/ersatz_model.js +60 -0
- data/frank-skeleton/frank_static_resources.bundle/js/ersatz_view.coffee +167 -0
- data/frank-skeleton/frank_static_resources.bundle/js/ersatz_view.js +205 -0
- data/frank-skeleton/frank_static_resources.bundle/js/experiment_bar_model.coffee +10 -0
- data/frank-skeleton/frank_static_resources.bundle/js/experiment_bar_model.js +17 -0
- data/frank-skeleton/frank_static_resources.bundle/js/experiment_bar_view.coffee +44 -0
- data/frank-skeleton/frank_static_resources.bundle/js/experiment_bar_view.js +63 -0
- data/frank-skeleton/frank_static_resources.bundle/js/frank.coffee +96 -0
- data/frank-skeleton/frank_static_resources.bundle/js/frank.js +146 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/backbone.js +1431 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/coffee-script.js +8 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/jquery-ui.min.js +405 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/jquery.min.js +4 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/jquery.treeview.js +251 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/json2.js +481 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/raphael.js +5815 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/require.js +2053 -0
- data/frank-skeleton/frank_static_resources.bundle/js/lib/underscore.js +1059 -0
- data/frank-skeleton/frank_static_resources.bundle/js/main.coffee +27 -0
- data/frank-skeleton/frank_static_resources.bundle/js/main.js +29 -0
- data/frank-skeleton/frank_static_resources.bundle/js/tabs_controller.coffee +13 -0
- data/frank-skeleton/frank_static_resources.bundle/js/tabs_controller.js +22 -0
- data/frank-skeleton/frank_static_resources.bundle/js/toast_controller.coffee +15 -0
- data/frank-skeleton/frank_static_resources.bundle/js/toast_controller.js +28 -0
- data/frank-skeleton/frank_static_resources.bundle/js/transform_stack.coffee +59 -0
- data/frank-skeleton/frank_static_resources.bundle/js/transform_stack.js +78 -0
- data/frank-skeleton/frank_static_resources.bundle/js/tree_view.coffee +53 -0
- data/frank-skeleton/frank_static_resources.bundle/js/tree_view.js +64 -0
- data/frank-skeleton/frank_static_resources.bundle/js/view_hier_model.coffee +37 -0
- data/frank-skeleton/frank_static_resources.bundle/js/view_hier_model.js +48 -0
- data/frank-skeleton/frank_static_resources.bundle/js/view_model.coffee +39 -0
- data/frank-skeleton/frank_static_resources.bundle/js/view_model.js +62 -0
- data/frank-skeleton/frank_static_resources.bundle/pictos/index.html +329 -0
- data/frank-skeleton/frank_static_resources.bundle/pictos/pictos-web.eot +0 -0
- data/frank-skeleton/frank_static_resources.bundle/pictos/pictos-web.svg +114 -0
- data/frank-skeleton/frank_static_resources.bundle/pictos/pictos-web.ttf +0 -0
- data/frank-skeleton/frank_static_resources.bundle/pictos/pictos-web.woff +0 -0
- data/frank-skeleton/frank_static_resources.bundle/pictos/pictos.css +20 -0
- data/frank-skeleton/frank_static_resources.bundle/pictos/pictos_base64.css +18 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/css/symbiote.css +1 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_elements.scss +28 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_header.scss +61 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_inspect_tabs_list_tabs.scss +194 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_jquery.treeview.scss +68 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_jqui.scss +2 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_layout.scss +13 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_mixins.sass +137 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_reset.scss +32 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_selector_test_toolbar.scss +81 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_solarized.scss +16 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_typography.scss +11 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_unicode.scss +3 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/_z_index.scss +2 -0
- data/frank-skeleton/frank_static_resources.bundle/stylesheets/sass/symbiote.scss +26 -0
- data/frank-skeleton/frankify.xcconfig.tt +6 -0
- data/frank-skeleton/libCocoaAsyncSocket.a +0 -0
- data/frank-skeleton/libCocoaAsyncSocketMac.a +0 -0
- data/frank-skeleton/libCocoaHTTPServer.a +0 -0
- data/frank-skeleton/libCocoaHTTPServerMac.a +0 -0
- data/frank-skeleton/libCocoaLumberjack.a +0 -0
- data/frank-skeleton/libCocoaLumberjackMac.a +0 -0
- data/frank-skeleton/libFrank.a +0 -0
- data/frank-skeleton/libFrankMac.a +0 -0
- data/frank-skeleton/libShelley.a +0 -0
- data/frank-skeleton/libShelleyMac.a +0 -0
- data/frank-skeleton/plugins/.empty_directory +0 -0
- data/lib/frank-pivotal/app_bundle_locator.rb +58 -0
- data/lib/frank-pivotal/bonjour.rb +78 -0
- data/lib/frank-pivotal/cli.rb +307 -0
- data/lib/frank-pivotal/color_helper.rb +13 -0
- data/lib/frank-pivotal/console.rb +28 -0
- data/lib/frank-pivotal/core_frank_steps.rb +264 -0
- data/lib/frank-pivotal/frank.xcconfig.erb +17 -0
- data/lib/frank-pivotal/frank_helper.rb +467 -0
- data/lib/frank-pivotal/frank_localize.rb +43 -0
- data/lib/frank-pivotal/frank_mac_helper.rb +120 -0
- data/lib/frank-pivotal/frankifier.rb +153 -0
- data/lib/frank-pivotal/gateway.rb +135 -0
- data/lib/frank-pivotal/gesture_helper.rb +99 -0
- data/lib/frank-pivotal/host_scripting.rb +102 -0
- data/lib/frank-pivotal/keyboard_helper.rb +69 -0
- data/lib/frank-pivotal/launcher.rb +118 -0
- data/lib/frank-pivotal/localize.yml +104 -0
- data/lib/frank-pivotal/location_helper.rb +20 -0
- data/lib/frank-pivotal/plugins/plugin.rb +57 -0
- data/lib/frank-pivotal/rect.rb +26 -0
- data/lib/frank-pivotal/scroll_helper.rb +24 -0
- data/lib/frank-pivotal/version.rb +5 -0
- data/lib/frank-pivotal/wait_helper.rb +57 -0
- data/lib/frank-pivotal.rb +14 -0
- data/test/keyboard_helper_test.rb +84 -0
- data/test/launcher_test.rb +57 -0
- data/test/rect_test.rb +25 -0
- data/test/test_helper.rb +16 -0
- metadata +367 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'frank-cucumber/frank_helper'
|
2
|
+
require 'frank-cucumber/frank_mac_helper'
|
3
|
+
require 'frank-cucumber/launcher'
|
4
|
+
|
5
|
+
module Frank
|
6
|
+
class Console
|
7
|
+
include Frank::Cucumber::FrankHelper
|
8
|
+
include Frank::Cucumber::FrankMacHelper
|
9
|
+
include Frank::Cucumber::Launcher
|
10
|
+
|
11
|
+
def check_for_running_app
|
12
|
+
print 'connecting to app...'
|
13
|
+
begin
|
14
|
+
Timeout::timeout(5) do
|
15
|
+
until frankly_ping
|
16
|
+
print '.'
|
17
|
+
sleep 0.2
|
18
|
+
end
|
19
|
+
end
|
20
|
+
rescue Timeout::Error
|
21
|
+
puts ' failed to connect.'
|
22
|
+
return false
|
23
|
+
end
|
24
|
+
puts ' connected'
|
25
|
+
return true
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,264 @@
|
|
1
|
+
WAIT_TIMEOUT = ENV['WAIT_TIMEOUT'].to_i || 240
|
2
|
+
|
3
|
+
require 'rspec/expectations'
|
4
|
+
|
5
|
+
# -- See -- #
|
6
|
+
Then /^I wait to see "([^\"]*)"$/ do |expected_mark|
|
7
|
+
quote = get_selector_quote(expected_mark)
|
8
|
+
wait_until(:message => "waited to see view marked #{quote}#{expected_mark}#{quote}"){
|
9
|
+
view_with_mark_exists( expected_mark )
|
10
|
+
}
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^I wait to not see "([^\"]*)"$/ do |expected_mark|
|
14
|
+
sleep 3 # ugh, this should be removed but I'm worried it'll break existing tests
|
15
|
+
quote = get_selector_quote(expected_mark)
|
16
|
+
wait_until(:message => "waited to not see view marked #{quote}#{expected_mark}#{quote}"){
|
17
|
+
!view_with_mark_exists( expected_mark )
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
Then /^I should see a navigation bar titled "([^\"]*)"$/ do |expected_mark|
|
22
|
+
quote = get_selector_quote(expected_mark)
|
23
|
+
check_element_exists( "navigationItemView marked:#{quote}#{expected_mark}#{quote}" )
|
24
|
+
end
|
25
|
+
|
26
|
+
Then /^I wait to see a navigation bar titled "([^\"]*)"$/ do |expected_mark|
|
27
|
+
quote = get_selector_quote(expected_mark)
|
28
|
+
wait_until( :timeout => 30, :message => "waited to see a navigation bar titled #{quote}#{expected_mark}#{quote}" ) {
|
29
|
+
element_exists( "navigationItemView marked:#{quote}#{expected_mark}#{quote}" )
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
Then /^I wait to not see a navigation bar titled "([^\"]*)"$/ do |expected_mark|
|
34
|
+
quote = get_selector_quote(expected_mark)
|
35
|
+
wait_until( :timeout => 30, :message => "waited to not see a navigation bar titled #{quote}#{expected_mark}#{quote}" ) {
|
36
|
+
!element_exists( "navigationItemView marked:#{quote}#{expected_mark}#{quote}" )
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
Then /^I should see a "([^\"]*)" button$/ do |expected_mark|
|
41
|
+
quote = get_selector_quote(expected_mark)
|
42
|
+
check_element_exists("button marked:#{quote}#{expected_mark}#{quote}")
|
43
|
+
end
|
44
|
+
|
45
|
+
Then /^I should see "([^\"]*)"$/ do |expected_mark|
|
46
|
+
check_view_with_mark_exists(expected_mark)
|
47
|
+
end
|
48
|
+
|
49
|
+
Then /^I should not see "([^\"]*)"$/ do |expected_mark|
|
50
|
+
quote = get_selector_quote(expected_mark)
|
51
|
+
check_element_does_not_exist_or_is_not_visible("view marked:#{quote}#{expected_mark}#{quote}")
|
52
|
+
end
|
53
|
+
|
54
|
+
Then /I should see the following:/ do |table|
|
55
|
+
values = frankly_map( 'view', 'FEX_accessibilityLabel' )
|
56
|
+
table.raw.each do |expected_mark|
|
57
|
+
values.should include( expected_mark.first )
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
Then /I should not see the following:/ do |table|
|
62
|
+
values = frankly_map( 'view', 'FEX_accessibilityLabel' )
|
63
|
+
table.raw.each do |expected_mark|
|
64
|
+
values.should_not include( expected_mark.first )
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
Then /^I should see an alert view titled "([^\"]*)"$/ do |expected_mark|
|
69
|
+
values = frankly_map( 'alertView', 'title')
|
70
|
+
values.should include(expected_mark)
|
71
|
+
end
|
72
|
+
|
73
|
+
Then /^I should see an alert view with the message "([^\"]*)"$/ do |expected_mark|
|
74
|
+
values = frankly_map( 'alertView', 'message')
|
75
|
+
values.should include(expected_mark)
|
76
|
+
end
|
77
|
+
|
78
|
+
Then /^I should not see an alert view$/ do
|
79
|
+
check_element_does_not_exist( 'alertView' )
|
80
|
+
end
|
81
|
+
|
82
|
+
Then /^I should see an element of class "([^\"]*)" with name "([^\"]*)" with the following labels: "([^\"]*)"$/ do |className, classLabel, listOfLabels|
|
83
|
+
arrayOfLabels = listOfLabels.split(',');
|
84
|
+
arrayOfLabels.each do |label|
|
85
|
+
quote = get_selector_quote(label)
|
86
|
+
check_element_exists("view marked:'#{classLabel}' parent view:'#{className}' descendant view marked:#{quote}#{label}#{quote}")
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
Then /^I should see an element of class "([^\"]*)" with name "([^\"]*)" with a "([^\"]*)" button$/ do |className, classLabel, buttonName|
|
91
|
+
quote = get_selector_quote(buttonName)
|
92
|
+
check_element_exists("view marked:'#{classLabel}' parent view:'#{className}' descendant button marked:#{quote}#{buttonName}#{quote}")
|
93
|
+
end
|
94
|
+
|
95
|
+
Then /^I should not see a hidden button marked "([^\"]*)"$/ do |expected_mark|
|
96
|
+
quote = get_selector_quote(expected_mark)
|
97
|
+
element_is_not_hidden("button marked:#{quote}#{expected_mark}#{quote}").should be_false
|
98
|
+
end
|
99
|
+
|
100
|
+
Then /^I should see a nonhidden button marked "([^\"]*)"$/ do |expected_mark|
|
101
|
+
quote = get_selector_quote(expected_mark)
|
102
|
+
element_is_not_hidden("button marked:#{quote}#{expected_mark}#{quote}").should be_true
|
103
|
+
end
|
104
|
+
|
105
|
+
Then /^I should see an element of class "([^\"]*)"$/ do |className|
|
106
|
+
element_is_not_hidden("view:'#{className}'").should be_true
|
107
|
+
end
|
108
|
+
|
109
|
+
Then /^I should not see an element of class "([^\"]*)"$/ do |className|
|
110
|
+
selector = "view:'#{className}'"
|
111
|
+
element_exists_and_is_not_hidden = element_exists( selector ) && element_is_not_hidden(selector)
|
112
|
+
element_exists_and_is_not_hidden.should be_false
|
113
|
+
end
|
114
|
+
|
115
|
+
|
116
|
+
# -- Rotate -- #
|
117
|
+
Given /^the device is in (a )?(landscape|portrait) orientation$/ do |_,orientation|
|
118
|
+
frankly_set_orientation orientation
|
119
|
+
end
|
120
|
+
|
121
|
+
When /^I simulate a memory warning$/ do
|
122
|
+
simulate_memory_warning
|
123
|
+
end
|
124
|
+
|
125
|
+
Then /^I rotate to the "([^\"]*)"$/ do |direction|
|
126
|
+
if direction == "right"
|
127
|
+
rotate_simulator_right
|
128
|
+
elsif direction == "left"
|
129
|
+
rotate_simulator_left
|
130
|
+
else
|
131
|
+
raise %Q|Rotation direction specified ("#{direction}") is invalid. Please specify right or left.|
|
132
|
+
end
|
133
|
+
sleep 1
|
134
|
+
end
|
135
|
+
|
136
|
+
# -- touch -- #
|
137
|
+
# generic views
|
138
|
+
When /^I touch "([^\"]*)"$/ do |mark|
|
139
|
+
quote = get_selector_quote(mark)
|
140
|
+
selector = "view marked:#{quote}#{mark}#{quote} first"
|
141
|
+
if element_exists(selector)
|
142
|
+
touch( selector )
|
143
|
+
else
|
144
|
+
raise "Could not touch [#{mark}], it does not exist."
|
145
|
+
end
|
146
|
+
sleep 1
|
147
|
+
end
|
148
|
+
|
149
|
+
When /^I touch "([^\"]*)" if exists$/ do |mark|
|
150
|
+
sleep 1
|
151
|
+
quote = get_selector_quote(mark)
|
152
|
+
selector = "view marked:#{quote}#{mark}#{quote} first"
|
153
|
+
if element_exists(selector)
|
154
|
+
touch(selector)
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
# table cells
|
159
|
+
When /^I touch the first table cell$/ do
|
160
|
+
touch("tableViewCell first")
|
161
|
+
end
|
162
|
+
|
163
|
+
When /^I touch the table cell marked "([^\"]*)"$/ do |mark|
|
164
|
+
quote = get_selector_quote(mark)
|
165
|
+
touch("tableViewCell marked:#{quote}#{mark}#{quote}")
|
166
|
+
end
|
167
|
+
|
168
|
+
When /^I touch the (\d*)(?:st|nd|rd|th)? table cell$/ do |ordinal|
|
169
|
+
ordinal = ordinal.to_i - 1
|
170
|
+
touch("tableViewCell index:#{ordinal}")
|
171
|
+
end
|
172
|
+
|
173
|
+
Then /I touch the following:/ do |table|
|
174
|
+
values = frankly_map( 'view', 'FEX_accessibilityLabel' )
|
175
|
+
table.raw.each do |expected_mark|
|
176
|
+
quote = get_selector_quote(expected_mark)
|
177
|
+
touch( "view marked:#{quote}#{expected_mark}#{quote}" )
|
178
|
+
sleep 2
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
# buttons
|
183
|
+
When /^I touch the button marked "([^\"]*)"$/ do |mark|
|
184
|
+
quote = get_selector_quote(mark)
|
185
|
+
touch( "button marked:#{quote}#{mark}#{quote}" )
|
186
|
+
end
|
187
|
+
|
188
|
+
# action sheets
|
189
|
+
When /^I touch the "([^\"]*)" action sheet button$/ do |mark|
|
190
|
+
quote = get_selector_quote(mark)
|
191
|
+
touch( "actionSheet threePartButton marked:#{quote}#{mark}#{quote}" )
|
192
|
+
end
|
193
|
+
|
194
|
+
When /^I touch the (\d*)(?:st|nd|rd|th)? action sheet button$/ do |ordinal|
|
195
|
+
ordinal = ordinal.to_i
|
196
|
+
touch( "actionSheet threePartButton tag:#{ordinal}" )
|
197
|
+
end
|
198
|
+
|
199
|
+
# alert views
|
200
|
+
When /^I touch the "([^\"]*)" alert view button$/ do |mark|
|
201
|
+
quote = get_selector_quote(mark)
|
202
|
+
touch( "alertView threePartButton marked:#{quote}#{mark}#{quote}" )
|
203
|
+
end
|
204
|
+
|
205
|
+
When /^I touch the (\d*)(?:st|nd|rd|th)? alert view button$/ do |ordinal|
|
206
|
+
ordinal = ordinal.to_i
|
207
|
+
touch( "alertView threePartButton tag:#{ordinal}" )
|
208
|
+
end
|
209
|
+
|
210
|
+
# -- switch -- #
|
211
|
+
|
212
|
+
When /^I flip switch "([^\"]*)"$/ do |mark|
|
213
|
+
quote = get_selector_quote(mark)
|
214
|
+
touch("view:'UISwitch' marked:#{quote}#{mark}#{quote}")
|
215
|
+
end
|
216
|
+
|
217
|
+
|
218
|
+
Then /^switch "([^\"]*)" should be (on|off)$/ do |mark,expected_state|
|
219
|
+
expected_state = expected_state == 'on'
|
220
|
+
|
221
|
+
quote = get_selector_quote(mark)
|
222
|
+
selector = "view:'UISwitch' marked:#{quote}#{mark}#{quote}"
|
223
|
+
switch_states = frankly_map( selector, "isOn" )
|
224
|
+
|
225
|
+
switch_states.each do |switch_state|
|
226
|
+
if switch_state
|
227
|
+
[true, 1].should include expected_state
|
228
|
+
else
|
229
|
+
[false, 0].should include expected_state
|
230
|
+
end
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
# -- misc -- #
|
235
|
+
|
236
|
+
When /^I wait for ([\d\.]+) second(?:s)?$/ do |num_seconds|
|
237
|
+
num_seconds = num_seconds.to_f
|
238
|
+
sleep num_seconds
|
239
|
+
end
|
240
|
+
|
241
|
+
Then /^a pop\-over menu is displayed with the following:$/ do |table|
|
242
|
+
sleep 1
|
243
|
+
table.raw.each do |expected_mark|
|
244
|
+
quote = get_selector_quote(expected_mark)
|
245
|
+
check_element_exists "actionSheet view marked:#{quote}#{expected_mark}#{quote}"
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
Then /^I navigate back$/ do
|
250
|
+
touch( "navigationItemButtonView" )
|
251
|
+
wait_for_nothing_to_be_animating
|
252
|
+
end
|
253
|
+
|
254
|
+
When /^I dump the DOM$/ do
|
255
|
+
dom = frankly_dump
|
256
|
+
end
|
257
|
+
|
258
|
+
When /^I quit the simulator/ do
|
259
|
+
quit_simulator
|
260
|
+
end
|
261
|
+
|
262
|
+
When /^I reset the simulator/ do
|
263
|
+
simulator_reset_data
|
264
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#include "frankify.xcconfig"
|
2
|
+
<% plugins.each do |plugin| %>
|
3
|
+
#include "plugins/<%=plugin.name%>/<%=plugin.xcconfig%>"
|
4
|
+
<% end %>
|
5
|
+
INSTALL_PATH = /./
|
6
|
+
|
7
|
+
<% plugin_names = plugins.map {|plugin| plugin.name } %>
|
8
|
+
|
9
|
+
FRANK_LDFLAGS_iphoneos = $(FRANK_CORE_LDFLAGS) <%= plugin_names.map {|name| "$(#{name.upcase}_LDFLAGS)"}.join(' ') %>
|
10
|
+
|
11
|
+
FRANK_LDFLAGS_macosx = $(FRANK_CORE_MAC_LDFLAGS) <%= plugin_names.map {|name| "$(#{name.upcase}_MAC_LDFLAGS)"}.join(' ') %>
|
12
|
+
|
13
|
+
FRANK_LDFLAGS_iphonesimulator = $(FRANK_LDFLAGS_iphoneos)
|
14
|
+
|
15
|
+
FRANK_LDFLAGS = $(FRANK_LDFLAGS_$(PLATFORM_NAME))
|
16
|
+
|
17
|
+
FRANK_GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = $(FRANK_CORE_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS) <%= plugin_names.map {|name| "$(#{name.upcase}_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)"}.join(' ') %>
|