spec/test_task_spec.rb in xctasks-0.5.0 vs spec/test_task_spec.rb in xctasks-0.6.0

- old
+ new

@@ -348,10 +348,11 @@ s.destination('platform=iOS Simulator,OS=7.1,name=iPhone Retina (4-inch)') s.destination platform: :ios, id: '437750527b43cff55a46f42ae86dbf870c7591b1' end end end + describe 'spec:unit' do subject { Rake.application['spec:unit'] } it "executes the appropriate commands" do @@ -375,9 +376,45 @@ "/usr/bin/xcodebuild -workspace LayerKit.xcworkspace -scheme 'Functional Tests' -sdk iphonesimulator -destination platform='iOS Simulator',name='iPad Retina',OS='latest' -destination platform\\=iOS\\ Simulator,OS\\=7.1,name\\=iPhone\\ Retina\\ \\(4-inch\\) -destination platform='iOS',id='437750527b43cff55a46f42ae86dbf870c7591b1' clean build test 2> stderr.log"] end end end + describe 'Global destination configuration applies to multiple subtasks' do + let!(:task) do + XCTasks::TestTask.new(:spec) do |t| + t.workspace = 'LayerKit.xcworkspace' + t.runner = :xctool + t.subtasks = {unit: 'Unit Tests', functional: 'Functional Tests'} + t.destination do |d| + d.platform = :iossimulator + d.name = 'iPhone 6 Plus' + d.os = :latest + end + end + end + + describe 'spec:unit' do + it "configures the destination for each subtask" do + task.subtasks do |t| + t.destination.platform.should == :iossimulator + t.destination.name.should == 'iPhone 6 Plus' + t.destination.os.should == :latest + end + end + end + + describe 'spec:unit' do + subject { Rake.application['spec:unit'] } + it "configures the appropriate destination commands" do + subject.invoke + @commands.should == [ + "killall \"iPhone Simulator\"", + "/usr/local/bin/xctool -workspace LayerKit.xcworkspace -scheme 'Unit Tests' -sdk iphonesimulator -destination platform='iOS Simulator',name='iPhone 6 Plus',OS='latest' clean build test" + ] + end + end + end + describe 'SDK Configuration' do let!(:task) do XCTasks::TestTask.new(:spec) do |t| t.workspace = 'LayerKit.xcworkspace' t.runner = :xctool