zucchini-ios 0.5.8 → 0.5.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zucchini-ios (0.5.6)
4
+ zucchini-ios (0.5.9)
5
5
  clamp
6
6
 
7
7
  GEM
data/lib/config.rb CHANGED
@@ -10,10 +10,17 @@ module Zucchini
10
10
  def self.base_path=(base_path)
11
11
  @@base_path = base_path
12
12
  @@config = YAML::load_file("#{base_path}/support/config.yml")
13
+ @@default_device_name = nil
14
+ devices.each do |device_name, device|
15
+ if device['default']
16
+ raise "Default device already provided" if @@default_device_name
17
+ @@default_device_name = device_name
18
+ end
19
+ end
13
20
  end
14
21
 
15
22
  def self.app
16
- device_name = ENV['ZUCCHINI_DEVICE']
23
+ device_name = ENV['ZUCCHINI_DEVICE'] || @@default_device_name
17
24
  app_path = File.absolute_path(devices[device_name]['app'] || @@config['app'])
18
25
 
19
26
  if device_name == 'iOS Simulator' && !File.exists?(app_path)
@@ -30,7 +37,13 @@ module Zucchini
30
37
  @@config['devices']
31
38
  end
32
39
 
40
+ def self.default_device_name
41
+ @@default_device_name
42
+ end
43
+
33
44
  def self.device(device_name)
45
+ device_name ||= @@default_device_name
46
+ raise "Neither default device nor ZUCCHINI_DEVICE environment variable was set" unless device_name
34
47
  raise "Device not listed in config.yml" unless (device = devices[device_name])
35
48
  {
36
49
  :name => device_name,
data/lib/detector.rb CHANGED
@@ -9,7 +9,6 @@ class Zucchini::Detector < Clamp::Command
9
9
  @path = File.expand_path(path)
10
10
  Zucchini::Config.base_path = File.exists?("#{path}/feature.zucchini") ? File.dirname(path) : path
11
11
 
12
- raise "ZUCCHINI_DEVICE environment variable not set" unless ENV['ZUCCHINI_DEVICE']
13
12
  @device = Zucchini::Config.device(ENV['ZUCCHINI_DEVICE'])
14
13
 
15
14
  @template = detect_template
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Zucchini
2
- VERSION = "0.5.8"
2
+ VERSION = "0.5.9"
3
3
  end
@@ -4,16 +4,27 @@ describe Zucchini::Config do
4
4
  before(:all) { Zucchini::Config.base_path = "spec/sample_setup" }
5
5
 
6
6
  describe "device" do
7
- context "device present in config.yml" do
8
- it "should return the device hash" do
9
- Zucchini::Config.device("My iDevice").should eq({:name =>"My iDevice", :udid =>"lolffb28d74a6fraj2156090784avasc50725dd0", :screen =>"ipad_ios5"})
7
+ context "device present in config.yml" do
8
+ it "should return the device hash" do
9
+ Zucchini::Config.device("My iDevice").should eq({:name =>"My iDevice", :udid =>"lolffb28d74a6fraj2156090784avasc50725dd0", :screen =>"ipad_ios5"})
10
+ end
10
11
  end
11
- end
12
12
 
13
- context "device not present in config.yml" do
14
- it "should raise an error" do
15
- expect { Zucchini::Config.device("My Android Phone")}.to raise_error "Device not listed in config.yml"
16
- end
13
+ context "device not present in config.yml" do
14
+ it "should raise an error" do
15
+ expect { Zucchini::Config.device("My Android Phone")}.to raise_error "Device not listed in config.yml"
16
+ end
17
+ end
18
+
19
+ context "default device" do
20
+ it "should use default device if device name argument is nil" do
21
+ Zucchini::Config.device(nil).should eq({:name =>"Default Device", :screen =>"low_ios5", :udid => nil})
22
+ end
23
+
24
+ it "should raise error if no default device provided" do
25
+ Zucchini::Config.base_path = "spec/sample_setup_2"
26
+ expect { Zucchini::Config.device(nil) }.to raise_error "Neither default device nor ZUCCHINI_DEVICE environment variable was set"
27
+ end
17
28
  end
18
29
  end
19
30
 
@@ -5,6 +5,10 @@ devices:
5
5
  UDID : lolffb28d74a6fraj2156090784avasc50725dd0
6
6
  screen: ipad_ios5
7
7
 
8
+ Default Device:
9
+ screen : low_ios5
10
+ default: true
11
+
8
12
 
9
13
  servers:
10
14
  backend:
@@ -0,0 +1,15 @@
1
+ app: MyApp.app
2
+
3
+ devices:
4
+ My iDevice:
5
+ UDID : lolffb28d74a6fraj2156090784avasc50725dd0
6
+ screen: ipad_ios5
7
+
8
+ Default Device:
9
+ screen : low_ios5
10
+
11
+
12
+ servers:
13
+ backend:
14
+ host: 192.168.1.2
15
+ port: 8080
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zucchini-ios
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.5.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-02-03 00:00:00.000000000 Z
14
+ date: 2013-02-05 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: clamp
@@ -117,6 +117,7 @@ files:
117
117
  - spec/sample_setup/support/lib/helpers.coffee
118
118
  - spec/sample_setup/support/masks/retina_ios5.png
119
119
  - spec/sample_setup/support/screens/splash.coffee
120
+ - spec/sample_setup_2/support/config.yml
120
121
  - spec/spec_helper.rb
121
122
  - templates/feature/feature.zucchini
122
123
  - templates/feature/masks/retina_ios5/.gitkeep
@@ -178,4 +179,5 @@ test_files:
178
179
  - spec/sample_setup/support/lib/helpers.coffee
179
180
  - spec/sample_setup/support/masks/retina_ios5.png
180
181
  - spec/sample_setup/support/screens/splash.coffee
182
+ - spec/sample_setup_2/support/config.yml
181
183
  - spec/spec_helper.rb