frank-cucumber 1.0.0.pre2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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