spec/split_screen_spec.rb in ProMotion-0.6.0 vs spec/split_screen_spec.rb in ProMotion-0.6.1
- old
+ new
@@ -1,16 +1,20 @@
describe "split screen functionality" do
before do
@app = TestDelegate.new
- @master_screen = HomeScreen.new nav_bar: true
- @detail_screen = BasicScreen.new # no nav_bar on this one
+ @master_screen = MasterScreen.new nav_bar: true
+ @detail_screen = DetailScreen.new # no nav_bar on this one
@split_screen = @app.open_split_screen @master_screen, @detail_screen
end
+ after do
+ @split_screen.delegate = nil # dereference to avoid memory issue
+ end
+
it "should have created a split screen" do
@split_screen.should != nil
@split_screen.is_a?(UISplitViewController).should == true
end
@@ -20,16 +24,44 @@
it "should set the root view to the UISplitScreenViewController" do
@app.window.rootViewController.should == @split_screen
end
- it "should set the first viewController to HomeScreen" do
+ it "should set the first viewController to MasterScreen" do
@split_screen.master_screen.should == @master_screen
@split_screen.viewControllers.first.should == @master_screen.main_controller
end
- it "should set the second viewController to BasicScreen" do
+ it "should set the second viewController to DetailScreen" do
@split_screen.detail_screen.should == @detail_screen
@split_screen.viewControllers.last.should == @detail_screen.main_controller
end
-end
\ No newline at end of file
+ it "should set the title on both screens" do
+ @master_screen.class.send(:get_title).should == "Master"
+ @master_screen.title.should == "Master"
+ @detail_screen.class.send(:get_title).should == "Detail"
+ @detail_screen.title.should == "Detail"
+ end
+end
+
+# Regression test for https://github.com/clearsightstudio/ProMotion/issues/74
+describe "split screen with UIViewControllers with ScreenModule" do
+
+ before do
+ @app = TestDelegate.new
+
+ @master_screen = ScreenModuleViewController.new
+ @detail_screen = DetailScreen.new(nav_bar: true)
+
+ @split_screen = @app.open_split_screen @master_screen, @detail_screen
+ end
+
+ it "should set the title on both screens" do
+ @master_screen.class.send(:get_title).should == "Test Title"
+ @master_screen.title.should == "Test Title"
+ @detail_screen.class.send(:get_title).should == "Detail"
+ @detail_screen.title.should == "Detail"
+ end
+
+end
+