frank-cucumber 1.0.0.pre2 → 1.0.0

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.
@@ -73,6 +73,8 @@ module Frank
73
73
 
74
74
  FileUtils.mv( Dir.glob( "#{build_output_dir}/*.app" ).first, frankified_app_dir )
75
75
 
76
+ fix_frankified_apps_bundle_identifier
77
+
76
78
  in_root do
77
79
  FileUtils.cp_r(
78
80
  File.join( 'Frank',static_bundle),
@@ -163,6 +165,20 @@ module Frank
163
165
  File.join( build_output_dir, app_bundle_name )
164
166
  end
165
167
 
168
+ def fix_frankified_apps_bundle_identifier
169
+ # as of iOS 6 the iOS Simulator locks up with a black screen if you try and launch an app which has the same
170
+ # bundle identifier as a previously installed app but which is in fact a different app. This impacts us because our
171
+ # Frankified app is different but has the same bundle identifier as the standard non-Frankified app which most users
172
+ # will want to have installed in the simulator as well.
173
+ #
174
+ # We work around this by modifying the Frankified app's bundle identifier inside its Info.plist.
175
+ inside frankified_app_dir do
176
+ existing_bundle_identifier = `/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' Info.plist`.chomp
177
+ new_bundle_identifier = existing_bundle_identifier + '.frankified'
178
+ run %Q|/usr/libexec/PlistBuddy -c 'Set :CFBundleIdentifier #{new_bundle_identifier}' Info.plist|
179
+ end
180
+ end
181
+
166
182
  end
167
183
  end
168
184
 
@@ -3,6 +3,7 @@ require 'frank-cucumber/gateway'
3
3
  require 'frank-cucumber/host_scripting'
4
4
  require 'frank-cucumber/wait_helper'
5
5
  require 'frank-cucumber/keyboard_helper'
6
+ require 'frank-cucumber/scroll_helper'
6
7
  require 'frank-cucumber/bonjour'
7
8
 
8
9
  module Frank module Cucumber
@@ -24,6 +25,7 @@ module Frank module Cucumber
24
25
  module FrankHelper
25
26
  include WaitHelper
26
27
  include KeyboardHelper
28
+ include ScrollHelper
27
29
  include HostScripting
28
30
 
29
31
  # @!attribute [rw] selector_engine
@@ -16,6 +16,8 @@ module Frank
16
16
  :zh
17
17
  when /^ja_/
18
18
  :ja
19
+ when /^es_/
20
+ :es
19
21
  else
20
22
  :en
21
23
  end
@@ -19,10 +19,15 @@ class Frankifier
19
19
  decide_on_project
20
20
  decide_on_target
21
21
  report_project_and_target
22
+
23
+ check_target_build_configuration_is_valid!
24
+
22
25
  say ''
23
26
  add_linker_flag
27
+
24
28
  say ''
25
29
  add_library_search_path
30
+
26
31
  save_changes
27
32
  end
28
33
 
@@ -78,11 +83,11 @@ class Frankifier
78
83
  setting_array = Array( build_settings_to_edit[build_setting] )
79
84
 
80
85
  if setting_array.find{ |flag| flag.start_with? "$(FRANK_" }
81
- say "It appears that your Debug configuration's #{build_setting} build setting already include some FRANK setup. Namely: #{setting_array.inspect}. I won't change anything here."
86
+ say "It appears that your '#{@target_build_configuration}' configuration's #{build_setting} build setting already include some FRANK setup. Namely: #{setting_array.inspect}. I won't change anything here."
82
87
  return
83
88
  end
84
89
 
85
- say "Adding $(inherited) and $(#{entry_to_add}) to your Debug configuration's #{build_setting} build setting ..."
90
+ say "Adding $(inherited) and $(#{entry_to_add}) to your '#{@target_build_configuration}' configuration's #{build_setting} build setting ..."
86
91
  setting_array.unshift "$(inherited)"
87
92
  setting_array << "$(#{entry_to_add})"
88
93
  setting_array.uniq! # mainly to avoid duplicate $(inherited) entries
@@ -91,6 +96,19 @@ class Frankifier
91
96
  build_settings_to_edit[build_setting] = setting_array
92
97
  end
93
98
 
99
+ def check_target_build_configuration_is_valid!
100
+ unless @target.build_configuration_list.build_configurations.object_named @target_build_configuration
101
+ say %Q|I'm trying to Frankify the '#{@target_build_configuration}' build configuration, but I don't see it that build configuration in your XCode target. Here's a list of the build configurations I see:|
102
+ @target.build_configuration_list.build_configurations.each do |bc|
103
+ say " '#{bc.name}'"
104
+ end
105
+ say ''
106
+ say %Q|Please specify one of those build configurations using the --build_configuration flag|
107
+ exit
108
+ end
109
+
110
+ end
111
+
94
112
  def build_settings_to_edit
95
113
  @_build_settings_to_edit ||= @target.build_configuration_list.build_settings(@target_build_configuration)
96
114
  end
@@ -63,3 +63,14 @@ ja:
63
63
  simulate_memory_warning: メモリ警告をシミュレート
64
64
  toggle_in_call_status_bar: 着信ステータスバーを切り替える
65
65
  simulate_hardware_keyboard: ハードウェアキーボードをシミュレート
66
+
67
+ es:
68
+ iphone_simulator: Simulador iOS
69
+ hardware: Hardware
70
+ home: Inicio
71
+ rotate_left: Girar a la izquierda
72
+ rotate_right: Girar a la derecha
73
+ shake_gesture: Agitar
74
+ simulate_memory_warning: Simular aviso de memoria
75
+ toggle_in_call_status_bar: Activar/Desactivar barra de estado durante llamada
76
+ simulate_hardware_keyboard: Simular teclado físico
@@ -0,0 +1,24 @@
1
+ module Frank
2
+ module Cucumber
3
+
4
+ module ScrollHelper
5
+
6
+ def scroll_view_to_top( selector )
7
+ frankly_map( selector, "FEX_scrollToTop" )
8
+ end
9
+
10
+ def scroll_view_to_bottom( selector )
11
+ frankly_map( selector, "FEX_scrollToBottom" )
12
+ end
13
+
14
+ def scroll_view_to_position( selector, x, y )
15
+ frankly_map( selector, "FEX_setContentOffsetX:y:", x.to_i, y.to_i)
16
+ end
17
+
18
+ def scroll_table_view( selector, row, section = 0)
19
+ frankly_map(selector, "FEX_scrollToRow:inSection:", row.to_i, section.to_i)
20
+ end
21
+
22
+ end
23
+
24
+ end end
@@ -1,5 +1,5 @@
1
1
  module Frank
2
2
  module Cucumber
3
- VERSION = "1.0.0.pre2"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frank-cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre2
5
- prerelease: 6
4
+ version: 1.0.0
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Pete Hodgson
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-10-01 00:00:00.000000000 Z
13
+ date: 2012-10-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: cucumber
17
- requirement: &70209931333500 !ruby/object:Gem::Requirement
17
+ requirement: &70208581084520 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70209931333500
25
+ version_requirements: *70208581084520
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &70209931332480 !ruby/object:Gem::Requirement
28
+ requirement: &70208581083440 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '2.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70209931332480
36
+ version_requirements: *70208581083440
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: sim_launcher
39
- requirement: &70209931331180 !ruby/object:Gem::Requirement
39
+ requirement: &70208581081540 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.4.6
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70209931331180
47
+ version_requirements: *70208581081540
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: i18n
50
- requirement: &70209931329940 !ruby/object:Gem::Requirement
50
+ requirement: &70208581081080 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70209931329940
58
+ version_requirements: *70208581081080
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: plist
61
- requirement: &70209931328260 !ruby/object:Gem::Requirement
61
+ requirement: &70208581080240 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *70209931328260
69
+ version_requirements: *70208581080240
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: json
72
- requirement: &70209931326220 !ruby/object:Gem::Requirement
72
+ requirement: &70208581079260 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *70209931326220
80
+ version_requirements: *70208581079260
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: dnssd
83
- requirement: &70209931324360 !ruby/object:Gem::Requirement
83
+ requirement: &70208581078520 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *70209931324360
91
+ version_requirements: *70208581078520
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: thor
94
- requirement: &70209931323000 !ruby/object:Gem::Requirement
94
+ requirement: &70208581077540 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *70209931323000
102
+ version_requirements: *70208581077540
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: xcodeproj
105
- requirement: &70209931321020 !ruby/object:Gem::Requirement
105
+ requirement: &70208581093100 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *70209931321020
113
+ version_requirements: *70208581093100
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rr
116
- requirement: &70209931318860 !ruby/object:Gem::Requirement
116
+ requirement: &70208581092520 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *70209931318860
124
+ version_requirements: *70208581092520
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: yard
127
- requirement: &70209931316340 !ruby/object:Gem::Requirement
127
+ requirement: &70208581090820 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *70209931316340
135
+ version_requirements: *70208581090820
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: pry
138
- requirement: &70209935385440 !ruby/object:Gem::Requirement
138
+ requirement: &70208581090320 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: '0'
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *70209935385440
146
+ version_requirements: *70208581090320
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: pry-debugger
149
- requirement: &70209935381600 !ruby/object:Gem::Requirement
149
+ requirement: &70208581089780 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ! '>='
@@ -154,7 +154,7 @@ dependencies:
154
154
  version: '0'
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *70209935381600
157
+ version_requirements: *70208581089780
158
158
  description: Use cucumber to test native iOS apps via Frank
159
159
  email:
160
160
  - gems@thepete.net
@@ -192,6 +192,7 @@ files:
192
192
  - lib/frank-cucumber/keyboard_helper.rb
193
193
  - lib/frank-cucumber/launcher.rb
194
194
  - lib/frank-cucumber/localize.yml
195
+ - lib/frank-cucumber/scroll_helper.rb
195
196
  - lib/frank-cucumber/version.rb
196
197
  - lib/frank-cucumber/wait_helper.rb
197
198
  - test/keyboard_helper_test.rb
@@ -285,9 +286,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
285
286
  required_rubygems_version: !ruby/object:Gem::Requirement
286
287
  none: false
287
288
  requirements:
288
- - - ! '>'
289
+ - - ! '>='
289
290
  - !ruby/object:Gem::Version
290
- version: 1.3.1
291
+ version: '0'
291
292
  requirements: []
292
293
  rubyforge_project:
293
294
  rubygems_version: 1.8.10