spec/unit/split_screen_spec.rb in ProMotion-2.2.2 vs spec/unit/split_screen_spec.rb in ProMotion-2.3.0

- old
+ new

@@ -1,47 +1,54 @@ describe "split screen functionality" do - before do - @app = TestDelegate.new + def master_screen + @master_screen ||= MasterScreen.new nav_bar: true + end - @master_screen = MasterScreen.new nav_bar: true - @detail_screen = DetailScreen.new # no nav_bar on this one + def detail_screen + @detail_screen ||= DetailScreen.new # no nav_bar on this one + end - @split_screen = @app.open_split_screen @master_screen, @detail_screen + def app + @app ||= TestDelegate.new end + def split_screen + @split_screen ||= app.open_split_screen master_screen, detail_screen + end + after do - @split_screen.delegate = nil # dereference to avoid memory issue + 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 + split_screen.should != nil + split_screen.is_a?(UISplitViewController).should == true end it "should have two viewControllers" do - @split_screen.viewControllers.length.should == 2 + split_screen.viewControllers.length.should == 2 end it "should set the root view to the UISplitScreenViewController" do - @app.window.rootViewController.should == @split_screen + app.window.rootViewController.should == split_screen end it "should set the first viewController to MasterScreen" do - @split_screen.master_screen.should == @master_screen - @split_screen.viewControllers.first.should == (@master_screen.navigationController || @master_screen) + split_screen.master_screen.should == master_screen + split_screen.viewControllers.first.should == (master_screen.navigationController || master_screen) end it "should set the second viewController to DetailScreen" do - @split_screen.detail_screen.should == @detail_screen - @split_screen.viewControllers.last.should == (@detail_screen.navigationController || @detail_screen) + split_screen.detail_screen.should == detail_screen + split_screen.viewControllers.last.should == (detail_screen.navigationController || detail_screen) end it "should set the title on both screens" do - @master_screen.class.title.should == "Master" - @master_screen.title.should == "Master" - @detail_screen.class.title.should == "Detail" - @detail_screen.title.should == "Detail" + master_screen.class.title.should == "Master" + master_screen.title.should == "Master" + detail_screen.class.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