calabash-cucumber 0.9.47 → 0.9.48
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.
- data/Gemfile.lock +3 -3
- data/bin/CalabashSetup +0 -0
- data/bin/calabash-ios-setup.rb +16 -4
- data/features-skeleton/support/launch.rb +23 -7
- data/lib/calabash-cucumber/operations.rb +1 -1
- data/lib/calabash-cucumber/version.rb +2 -2
- metadata +14 -14
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
calabash-cucumber (0.9.
|
4
|
+
calabash-cucumber (0.9.48)
|
5
5
|
CFPropertyList
|
6
6
|
cucumber
|
7
7
|
json
|
@@ -26,8 +26,8 @@ GEM
|
|
26
26
|
gherkin (2.9.0)
|
27
27
|
json (>= 1.4.6)
|
28
28
|
json (1.6.5)
|
29
|
-
libxml-ruby (2.
|
30
|
-
net-http-persistent (2.
|
29
|
+
libxml-ruby (2.3.0)
|
30
|
+
net-http-persistent (2.6)
|
31
31
|
rack (1.4.1)
|
32
32
|
rack-protection (1.2.0)
|
33
33
|
rack
|
data/bin/CalabashSetup
CHANGED
Binary file
|
data/bin/calabash-ios-setup.rb
CHANGED
@@ -45,9 +45,6 @@ def calabash_setup(args)
|
|
45
45
|
puts "Go to your project (the dir containing the .xcodeproj file)."
|
46
46
|
puts "Then run calabash-ios gen"
|
47
47
|
puts "(if you don't already have a features folder)."
|
48
|
-
sleep 2
|
49
|
-
system(%Q[open "#{xpath}"])
|
50
|
-
|
51
48
|
end
|
52
49
|
|
53
50
|
else
|
@@ -97,6 +94,15 @@ def calabash_download(args)
|
|
97
94
|
download_calabash(File.expand_path("."))
|
98
95
|
end
|
99
96
|
|
97
|
+
def has_proxy?
|
98
|
+
ENV['http_proxy'] ? true : false
|
99
|
+
end
|
100
|
+
|
101
|
+
def proxy
|
102
|
+
url_parts = URI.split(ENV['http_proxy'])
|
103
|
+
[url_parts[2], url_parts[3]]
|
104
|
+
end
|
105
|
+
|
100
106
|
def download_calabash(project_path)
|
101
107
|
file = 'calabash.framework'
|
102
108
|
##Download calabash.framework
|
@@ -109,7 +115,13 @@ def download_calabash(project_path)
|
|
109
115
|
|
110
116
|
uri = URI.parse "http://cloud.github.com/downloads/calabash/calabash-ios/#{zip_file}"
|
111
117
|
success = false
|
112
|
-
|
118
|
+
if has_proxy?
|
119
|
+
proxy_url = proxy
|
120
|
+
connection = Net::HTTP::Proxy(proxy_url[0], proxy_url[1])
|
121
|
+
else
|
122
|
+
connection = Net::HTTP
|
123
|
+
end
|
124
|
+
connection.start(uri.host, uri.port) do |http|
|
113
125
|
request = Net::HTTP::Get.new uri.request_uri
|
114
126
|
|
115
127
|
http.request request do |response|
|
@@ -22,18 +22,36 @@
|
|
22
22
|
########################################
|
23
23
|
|
24
24
|
require 'calabash-cucumber/launch/simulator_helper'
|
25
|
+
require 'sim_launcher'
|
25
26
|
|
26
27
|
# Uncomment and replace ?? appropriately
|
27
28
|
# This should point to your Simulator build
|
28
29
|
# which includes calabash framework
|
29
30
|
# this is usually the Calabash build configuration
|
30
31
|
# of your production target.
|
31
|
-
#APP_BUNDLE_PATH = "~/Library/Developer/Xcode/DerivedData/??/Build/Products/Calabash-iphonesimulator/??.app"
|
32
|
+
#APP_BUNDLE_PATH = "~/Library/Developer/Xcode/DerivedData/??/Build/Products/Calabash-iphonesimulator/??.app"
|
32
33
|
#
|
33
34
|
|
35
|
+
def reset_app_jail(sdk, app_path)
|
36
|
+
app = File.basename(app_path)
|
37
|
+
bundle = `find "#{ENV['HOME']}/Library/Application Support/iPhone Simulator/#{sdk}/Applications/" -type d -depth 2 -name #{app} | head -n 1`
|
38
|
+
return if bundle.empty? # Assuming we're already clean
|
39
|
+
|
40
|
+
sandbox = File.dirname(bundle)
|
41
|
+
['Library', 'Documents', 'tmp'].each do |dir|
|
42
|
+
FileUtils.rm_rf(File.join(sandbox, dir))
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
34
46
|
def relaunch
|
35
|
-
if ENV['NO_LAUNCH']
|
36
|
-
|
47
|
+
if ENV['NO_LAUNCH']!="1"
|
48
|
+
sdk = ENV['SDK_VERSION'] || SimLauncher::SdkDetector.new().latest_sdk_version
|
49
|
+
path = Calabash::Cucumber::SimulatorHelper.app_bundle_or_raise(app_path)
|
50
|
+
if ENV['RESET_BETWEEN_SCENARIOS']=="1"
|
51
|
+
reset_app_jail(sdk, path)
|
52
|
+
end
|
53
|
+
|
54
|
+
Calabash::Cucumber::SimulatorHelper.relaunch(path,sdk,ENV['DEVICE'] || 'iphone')
|
37
55
|
end
|
38
56
|
end
|
39
57
|
|
@@ -42,14 +60,12 @@ def app_path
|
|
42
60
|
ENV['APP_BUNDLE_PATH'] || (defined?(APP_BUNDLE_PATH) && APP_BUNDLE_PATH)
|
43
61
|
end
|
44
62
|
|
45
|
-
##TODO Reset simulator between features!
|
46
|
-
|
47
63
|
Before do |scenario|
|
48
64
|
relaunch
|
49
65
|
end
|
50
66
|
|
51
67
|
at_exit do
|
52
|
-
if ENV['NO_LAUNCH']
|
68
|
+
if ENV['NO_LAUNCH']!="1" and ENV['NO_STOP']!="1"
|
53
69
|
Calabash::Cucumber::SimulatorHelper.stop
|
54
70
|
end
|
55
|
-
end
|
71
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: calabash-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.48
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cucumber
|
16
|
-
requirement: &
|
16
|
+
requirement: &70222530853720 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70222530853720
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &70222530851080 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70222530851080
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: CFPropertyList
|
38
|
-
requirement: &
|
38
|
+
requirement: &70222530848560 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70222530848560
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sim_launcher
|
49
|
-
requirement: &
|
49
|
+
requirement: &70222530846780 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70222530846780
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: slowhandcuke
|
60
|
-
requirement: &
|
60
|
+
requirement: &70222530845600 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70222530845600
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: net-http-persistent
|
71
|
-
requirement: &
|
71
|
+
requirement: &70222530843660 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70222530843660
|
80
80
|
description: calabash-cucumber drives tests for native iOS apps. You must link your
|
81
81
|
app with calabash-ios-server framework to execute tests.
|
82
82
|
email:
|