osaka 0.3.1 → 0.3.2
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/lib/osaka/applicationwrapperexpectations.rb +26 -22
- data/lib/osaka/mailmergeflow.rb +3 -0
- data/lib/osaka/typicalapplication.rb +1 -0
- data/lib/osaka/version.rb +1 -1
- data/spec/applicationwrapper_spec.rb +1 -1
- data/spec/assets/mail_merge_data.numbers +0 -0
- data/spec/assets/mail_merge_template.pages +0 -0
- data/spec/calculator_spec.rb +8 -11
- data/spec/keynote_flows_spec.rb +13 -15
- data/spec/keynote_spec.rb +2 -5
- data/spec/mailmergeflow_spec.rb +19 -18
- data/spec/numbers_spec.rb +6 -6
- data/spec/pages_spec.rb +4 -10
- data/spec/textedit_spec.rb +3 -5
- data/spec/typicalapplication_spec.rb +7 -5
- metadata +2 -2
| @@ -3,85 +3,89 @@ module Osaka | |
| 3 3 | 
             
              module ApplicationWrapperExpectations
         | 
| 4 4 |  | 
| 5 5 | 
             
                def expect_clone
         | 
| 6 | 
            -
                   | 
| 6 | 
            +
                  wrapper.should_receive(:clone)
         | 
| 7 7 | 
             
                end
         | 
| 8 8 |  | 
| 9 9 | 
             
                def expect_activate
         | 
| 10 | 
            -
                   | 
| 10 | 
            +
                  wrapper.should_receive(:activate)
         | 
| 11 11 | 
             
                end
         | 
| 12 12 |  | 
| 13 13 | 
             
                def expect_focus
         | 
| 14 | 
            -
                   | 
| 14 | 
            +
                  wrapper.should_receive(:focus)
         | 
| 15 15 | 
             
                end
         | 
| 16 16 |  | 
| 17 17 | 
             
                def expect_set_current_window(name)
         | 
| 18 | 
            -
                   | 
| 18 | 
            +
                  wrapper.should_receive(:set_current_window).with(name)
         | 
| 19 19 | 
             
                end
         | 
| 20 20 |  | 
| 21 21 | 
             
                def expect_running?
         | 
| 22 | 
            -
                   | 
| 22 | 
            +
                  wrapper.should_receive(:running?)
         | 
| 23 23 | 
             
                end
         | 
| 24 24 |  | 
| 25 25 | 
             
                def expect_quit
         | 
| 26 | 
            -
                   | 
| 26 | 
            +
                  wrapper.should_receive(:quit)
         | 
| 27 27 | 
             
                end
         | 
| 28 28 |  | 
| 29 29 | 
             
                def expect_window_list
         | 
| 30 | 
            -
                   | 
| 30 | 
            +
                  wrapper.should_receive(:window_list)
         | 
| 31 31 | 
             
                end
         | 
| 32 32 |  | 
| 33 33 | 
             
                def expect_set(element, location, value)
         | 
| 34 | 
            -
                   | 
| 34 | 
            +
                  wrapper.should_receive(:set).with(element, location, value)
         | 
| 35 35 | 
             
                end
         | 
| 36 36 |  | 
| 37 37 | 
             
                def expect_keystroke(key, modifier = [])
         | 
| 38 | 
            -
                   | 
| 39 | 
            -
                   | 
| 38 | 
            +
                  wrapper.should_receive(:keystroke).with(key, modifier).and_return(wrapper) unless modifier.empty?
         | 
| 39 | 
            +
                  wrapper.should_receive(:keystroke).with(key).and_return(wrapper) if modifier.empty?
         | 
| 40 40 | 
             
                end
         | 
| 41 41 |  | 
| 42 42 | 
             
                def expect_keystroke!(key, modifier = [])
         | 
| 43 | 
            -
                   | 
| 44 | 
            -
                   | 
| 43 | 
            +
                  wrapper.should_receive(:keystroke!).with(key, modifier).and_return(wrapper) unless modifier.empty?
         | 
| 44 | 
            +
                  wrapper.should_receive(:keystroke!).with(key).and_return(wrapper) if modifier.empty?
         | 
| 45 45 | 
             
                end
         | 
| 46 46 |  | 
| 47 47 | 
             
                def expect_click!(location)
         | 
| 48 | 
            -
                   | 
| 48 | 
            +
                  wrapper.should_receive(:click!).with(location).and_return(wrapper)
         | 
| 49 49 | 
             
                end
         | 
| 50 50 |  | 
| 51 51 | 
             
                def expect_click(location)
         | 
| 52 | 
            -
                   | 
| 52 | 
            +
                  wrapper.should_receive(:click).with(location).and_return(wrapper)
         | 
| 53 53 | 
             
                end
         | 
| 54 54 |  | 
| 55 55 | 
             
                def expect_click_menu_bar(menu_item, menu_name)
         | 
| 56 | 
            -
                   | 
| 56 | 
            +
                  wrapper.should_receive(:click_menu_bar).with(menu_item, menu_name).and_return(wrapper)
         | 
| 57 | 
            +
                end
         | 
| 58 | 
            +
                
         | 
| 59 | 
            +
                def expect_get!(element, location)
         | 
| 60 | 
            +
                  wrapper.should_receive(:get!).with(element, location)
         | 
| 57 61 | 
             
                end
         | 
| 58 62 |  | 
| 59 63 | 
             
                def expect_tell(do_this)
         | 
| 60 | 
            -
                   | 
| 64 | 
            +
                  wrapper.should_receive(:tell).with(do_this)
         | 
| 61 65 | 
             
                end
         | 
| 62 66 |  | 
| 63 67 | 
             
                def expect_system_event(event)
         | 
| 64 | 
            -
                   | 
| 68 | 
            +
                  wrapper.should_receive(:system_event).with(event)
         | 
| 65 69 | 
             
                end
         | 
| 66 70 |  | 
| 67 71 | 
             
                def expect_exists(location)
         | 
| 68 | 
            -
                   | 
| 72 | 
            +
                  wrapper.should_receive(:exists).with(location)
         | 
| 69 73 | 
             
                end
         | 
| 70 74 |  | 
| 71 75 | 
             
                def expect_wait_until_exists(location)
         | 
| 72 | 
            -
                   | 
| 76 | 
            +
                  wrapper.should_receive(:wait_until_exists).with(location)
         | 
| 73 77 | 
             
                end
         | 
| 74 78 |  | 
| 75 79 | 
             
                def expect_wait_until_exists!(*location)
         | 
| 76 | 
            -
                   | 
| 80 | 
            +
                  wrapper.should_receive(:wait_until_exists!).with(*location)
         | 
| 77 81 | 
             
                end
         | 
| 78 82 |  | 
| 79 83 | 
             
                def expect_wait_until_not_exists(location)
         | 
| 80 | 
            -
                   | 
| 84 | 
            +
                  wrapper.should_receive(:wait_until_not_exists).with(location)
         | 
| 81 85 | 
             
                end
         | 
| 82 86 |  | 
| 83 87 | 
             
                def expect_until_not_exists!(element)
         | 
| 84 | 
            -
                   | 
| 88 | 
            +
                  wrapper.should_receive(:until_not_exists!).with(element).and_yield
         | 
| 85 89 | 
             
                end  
         | 
| 86 90 | 
             
              end
         | 
| 87 91 | 
             
            end
         | 
    
        data/lib/osaka/mailmergeflow.rb
    CHANGED
    
    
    
        data/lib/osaka/version.rb
    CHANGED
    
    
| @@ -19,7 +19,7 @@ describe "Osaka::ApplicationWrapper" do | |
| 19 19 | 
             
                subject.set_current_window "Window"
         | 
| 20 20 | 
             
                new_wrapper = subject.clone
         | 
| 21 21 | 
             
                new_wrapper.should == subject
         | 
| 22 | 
            -
                new_wrapper.should_not | 
| 22 | 
            +
                new_wrapper.should_not equal(subject)
         | 
| 23 23 | 
             
              end
         | 
| 24 24 |  | 
| 25 25 | 
             
              it "Should be able to compare objects using names" do
         | 
| Binary file | 
| Binary file | 
    
        data/spec/calculator_spec.rb
    CHANGED
    
    | @@ -6,20 +6,17 @@ describe "Mac GUI Calculator" do | |
| 6 6 | 
             
              include(*Osaka::ApplicationWrapperExpectations)
         | 
| 7 7 |  | 
| 8 8 | 
             
              subject { Osaka::Calculator.new }
         | 
| 9 | 
            +
              let(:wrapper) { subject.wrapper = double("Osaka::ApplicationWrapper")}
         | 
| 9 10 |  | 
| 10 | 
            -
              before (:each) do
         | 
| 11 | 
            -
                @wrapper = subject.wrapper = double("Osaka::ApplicationWrapper")
         | 
| 12 | 
            -
              end
         | 
| 13 | 
            -
              
         | 
| 14 11 | 
             
              it "Should be setting the window when starting the Calculator" do
         | 
| 15 12 |  | 
| 16 13 | 
             
                # TODO: Fix this duplication between this and TextEdit.
         | 
| 17 14 |  | 
| 18 | 
            -
                 | 
| 19 | 
            -
                 | 
| 15 | 
            +
                wrapper.should_receive(:activate)
         | 
| 16 | 
            +
                wrapper.should_receive(:current_window_name).and_return("")
         | 
| 20 17 | 
             
                subject.should_receive(:wait_for_new_window).with([])
         | 
| 21 | 
            -
                 | 
| 22 | 
            -
                 | 
| 18 | 
            +
                wrapper.should_receive(:window_list).and_return(["Calculator"])
         | 
| 19 | 
            +
                wrapper.should_receive(:set_current_window).with("Calculator")
         | 
| 23 20 | 
             
                subject.activate
         | 
| 24 21 | 
             
              end
         | 
| 25 22 |  | 
| @@ -34,14 +31,14 @@ describe "Mac GUI Calculator" do | |
| 34 31 | 
             
              end
         | 
| 35 32 |  | 
| 36 33 | 
             
              it "Should be able to quit the calculator" do
         | 
| 37 | 
            -
                 | 
| 38 | 
            -
                 | 
| 34 | 
            +
                wrapper.should_receive(:running?).and_return(true)
         | 
| 35 | 
            +
                wrapper.should_receive(:quit)
         | 
| 39 36 | 
             
                subject.quit
         | 
| 40 37 | 
             
              end
         | 
| 41 38 |  | 
| 42 39 | 
             
              it "Should be able to get the value from the screen" do
         | 
| 43 40 | 
             
                expect_wait_until_exists!(at.static_text(1).group(1))
         | 
| 44 | 
            -
                 | 
| 41 | 
            +
                wrapper.should_receive(:get!).with("value", at.static_text(1).group(1)).and_return("0")
         | 
| 45 42 | 
             
                subject.result.should == "0"
         | 
| 46 43 | 
             
              end
         | 
| 47 44 |  | 
    
        data/spec/keynote_flows_spec.rb
    CHANGED
    
    | @@ -3,28 +3,26 @@ require "osaka" | |
| 3 3 |  | 
| 4 4 | 
             
            describe "Common flows in keynote" do
         | 
| 5 5 |  | 
| 6 | 
            -
               | 
| 7 | 
            -
                @mock_keynote = double(:Keynote)
         | 
| 8 | 
            -
              end
         | 
| 6 | 
            +
              let(:mock_keynote) { double(:Keynote)}
         | 
| 9 7 |  | 
| 10 8 | 
             
              it "Should be able to combine just one single file" do
         | 
| 11 | 
            -
                Osaka::Keynote.should_receive(:new).and_return( | 
| 12 | 
            -
                 | 
| 13 | 
            -
                 | 
| 14 | 
            -
                 | 
| 15 | 
            -
                 | 
| 9 | 
            +
                Osaka::Keynote.should_receive(:new).and_return(mock_keynote)
         | 
| 10 | 
            +
                mock_keynote.should_receive(:open).with("one_file.key")
         | 
| 11 | 
            +
                mock_keynote.should_receive(:save_as).with("result.key")
         | 
| 12 | 
            +
                mock_keynote.should_receive(:save)
         | 
| 13 | 
            +
                mock_keynote.should_receive(:quit)
         | 
| 16 14 | 
             
                CommonFlows.keynote_combine_files("result.key", "one_file.key")
         | 
| 17 15 | 
             
              end
         | 
| 18 16 |  | 
| 19 17 | 
             
              it "Should be able to combine multiple files in one result" do
         | 
| 20 18 | 
             
                mock2_keynote = double(:Keynote)
         | 
| 21 19 | 
             
                mock3_keynote = double(:Keynote)
         | 
| 22 | 
            -
                Osaka::Keynote.should_receive(:new).and_return( | 
| 23 | 
            -
                 | 
| 24 | 
            -
                 | 
| 25 | 
            -
                 | 
| 26 | 
            -
                 | 
| 27 | 
            -
                 | 
| 20 | 
            +
                Osaka::Keynote.should_receive(:new).and_return(mock_keynote, mock2_keynote, mock3_keynote)  
         | 
| 21 | 
            +
                mock_keynote.should_receive(:open).with("one_file.key")
         | 
| 22 | 
            +
                mock_keynote.should_receive(:save_as).with("result.key")
         | 
| 23 | 
            +
                mock_keynote.should_receive(:select_all_slides).exactly(2).times
         | 
| 24 | 
            +
                mock_keynote.should_receive(:paste).exactly(2).times
         | 
| 25 | 
            +
                mock_keynote.should_receive(:save)
         | 
| 28 26 |  | 
| 29 27 |  | 
| 30 28 | 
             
                mock2_keynote.should_receive(:open).with("two_file.key")
         | 
| @@ -37,7 +35,7 @@ describe "Common flows in keynote" do | |
| 37 35 | 
             
                mock3_keynote.should_receive(:copy)
         | 
| 38 36 | 
             
                mock3_keynote.should_receive(:close)
         | 
| 39 37 |  | 
| 40 | 
            -
                 | 
| 38 | 
            +
                mock_keynote.should_receive(:quit)
         | 
| 41 39 | 
             
                CommonFlows.keynote_combine_files("result.key", ["one_file.key", "two_file.key", "three_file.key"])    
         | 
| 42 40 | 
             
              end
         | 
| 43 41 |  | 
    
        data/spec/keynote_spec.rb
    CHANGED
    
    | @@ -6,13 +6,10 @@ describe "Osaka::Keynote" do | |
| 6 6 | 
             
              include(*Osaka::ApplicationWrapperExpectations)
         | 
| 7 7 |  | 
| 8 8 | 
             
              subject { Osaka::Keynote.new }
         | 
| 9 | 
            -
              
         | 
| 10 | 
            -
              before (:each) do
         | 
| 11 | 
            -
                @wrapper = subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object
         | 
| 12 | 
            -
              end
         | 
| 9 | 
            +
              let(:wrapper) {subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object}
         | 
| 13 10 |  | 
| 14 11 | 
             
              it "Should create the correct keynote print dialog" do
         | 
| 15 | 
            -
                subject.create_print_dialog("window"). | 
| 12 | 
            +
                subject.create_print_dialog("window").should be_instance_of Osaka::KeynotePrintDialog
         | 
| 16 13 | 
             
              end
         | 
| 17 14 |  | 
| 18 15 | 
             
              it "Should be possible to select all the slides in the default location" do
         | 
    
        data/spec/mailmergeflow_spec.rb
    CHANGED
    
    | @@ -3,38 +3,39 @@ require "osaka" | |
| 3 3 |  | 
| 4 4 | 
             
            describe "Mail Merge to PDF common flow" do
         | 
| 5 5 |  | 
| 6 | 
            -
               | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
              end
         | 
| 10 | 
            -
              
         | 
| 6 | 
            +
              let(:mock_numbers) { double(:Numbers)}
         | 
| 7 | 
            +
              let(:mock_pages) { double(:Pages) }
         | 
| 8 | 
            +
             | 
| 11 9 | 
             
              it "Should do a good mail merge with Pages and Keynote flow" do
         | 
| 12 | 
            -
                Osaka::Numbers.should_receive(:new).and_return( | 
| 13 | 
            -
                Osaka::Pages.should_receive(:new).and_return( | 
| 10 | 
            +
                Osaka::Numbers.should_receive(:new).and_return(mock_numbers)
         | 
| 11 | 
            +
                Osaka::Pages.should_receive(:new).and_return(mock_pages)
         | 
| 14 12 |  | 
| 15 | 
            -
                 | 
| 16 | 
            -
                 | 
| 13 | 
            +
                mock_numbers.should_receive(:open).with("/template/numbers")    
         | 
| 14 | 
            +
                mock_numbers.should_receive(:save)
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                mock_pages.should_receive(:open).with("/template/pages")
         | 
| 17 | 
            +
                mock_pages.should_receive(:mail_merge_to_pdf).with("/output/file.pdf")
         | 
| 17 18 |  | 
| 18 | 
            -
                 | 
| 19 | 
            -
                 | 
| 19 | 
            +
                mock_numbers.should_receive(:close).with(:dont_save)
         | 
| 20 | 
            +
                mock_pages.should_receive(:close).with(:dont_save)
         | 
| 20 21 |  | 
| 21 | 
            -
                 | 
| 22 | 
            -
                 | 
| 22 | 
            +
                mock_numbers.should_receive(:quit).with(:dont_save)
         | 
| 23 | 
            +
                mock_pages.should_receive(:quit).with(:dont_save)
         | 
| 23 24 |  | 
| 24 25 | 
             
                CommonFlows.number_and_pages_mail_merge("/template/numbers", "/template/pages", "/output/file.pdf") {}
         | 
| 25 26 | 
             
              end
         | 
| 26 27 |  | 
| 27 28 | 
             
              it "Should yield for filling in the numbers fields" do
         | 
| 28 | 
            -
                 | 
| 29 | 
            -
                 | 
| 30 | 
            -
                Osaka::Numbers.should_receive(:new).and_return( | 
| 31 | 
            -
                Osaka::Pages.should_receive(:new).and_return( | 
| 29 | 
            +
                mock_numbers.as_null_object
         | 
| 30 | 
            +
                mock_pages.as_null_object
         | 
| 31 | 
            +
                Osaka::Numbers.should_receive(:new).and_return(mock_numbers)
         | 
| 32 | 
            +
                Osaka::Pages.should_receive(:new).and_return(mock_pages)
         | 
| 32 33 |  | 
| 33 34 | 
             
                retrieved_numbers = nil
         | 
| 34 35 | 
             
                CommonFlows.number_and_pages_mail_merge("1", "2", "3") { |numbers|
         | 
| 35 36 | 
             
                  retrieved_numbers = numbers
         | 
| 36 37 | 
             
                }    
         | 
| 37 | 
            -
                retrieved_numbers.should ==  | 
| 38 | 
            +
                retrieved_numbers.should == mock_numbers
         | 
| 38 39 | 
             
              end
         | 
| 39 40 |  | 
| 40 41 | 
             
            end
         | 
    
        data/spec/numbers_spec.rb
    CHANGED
    
    | @@ -3,14 +3,14 @@ require 'osaka' | |
| 3 3 |  | 
| 4 4 | 
             
            describe "Osaka::Numbers" do
         | 
| 5 5 |  | 
| 6 | 
            -
               | 
| 7 | 
            -
             | 
| 8 | 
            -
               | 
| 9 | 
            -
             | 
| 10 | 
            -
              end
         | 
| 6 | 
            +
              include(*Osaka::ApplicationWrapperExpectations)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              subject { Osaka::Numbers.new }  
         | 
| 9 | 
            +
              let(:wrapper) { subject.wrapper = double("Osaka::Number").as_null_object}
         | 
| 11 10 |  | 
| 12 11 | 
             
              it "Should be able to fill in data in cells" do
         | 
| 13 | 
            -
                subject.wrapper.should_receive(:tell).with('tell document 1; tell sheet 1; tell table 1; set value of cell 1 of row 2 to "30"; end tell; end tell; end tell')
         | 
| 12 | 
            +
                # subject.wrapper.should_receive(:tell).with('tell document 1; tell sheet 1; tell table 1; set value of cell 1 of row 2 to "30"; end tell; end tell; end tell')
         | 
| 13 | 
            +
                expect_tell('tell document 1; tell sheet 1; tell table 1; set value of cell 1 of row 2 to "30"; end tell; end tell; end tell')
         | 
| 14 14 | 
             
                subject.fill_cell(1, 2, "30")
         | 
| 15 15 | 
             
              end
         | 
| 16 16 |  | 
    
        data/spec/pages_spec.rb
    CHANGED
    
    | @@ -7,9 +7,7 @@ describe "Osaka::Pages" do | |
| 7 7 |  | 
| 8 8 | 
             
              subject { Osaka::Pages.new }
         | 
| 9 9 |  | 
| 10 | 
            -
               | 
| 11 | 
            -
                @wrapper = subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object
         | 
| 12 | 
            -
              end
         | 
| 10 | 
            +
              let (:wrapper) { subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object}
         | 
| 13 11 |  | 
| 14 12 | 
             
              it "Should be able to do mail merge to a PDF flow" do
         | 
| 15 13 |  | 
| @@ -25,14 +23,14 @@ describe "Osaka::Pages" do | |
| 25 23 | 
             
              end
         | 
| 26 24 |  | 
| 27 25 | 
             
              it "Should be able to select the Mail Merge" do
         | 
| 28 | 
            -
                 | 
| 26 | 
            +
                wrapper.should_receive(:current_window_name).any_number_of_times.and_return("Pages.pages")
         | 
| 29 27 | 
             
                expect_click_menu_bar(at.menu_item(20), "Edit")
         | 
| 30 28 | 
             
                expect_wait_until_exists(at.button("Merge").sheet(1))
         | 
| 31 29 | 
             
                subject.mail_merge
         | 
| 32 30 | 
             
              end
         | 
| 33 31 |  | 
| 34 32 | 
             
              it "Should click the merge button of the mail merge dialog" do
         | 
| 35 | 
            -
                 | 
| 33 | 
            +
                wrapper.should_receive(:current_window_name).any_number_of_times.and_return("Pages.pages")
         | 
| 36 34 | 
             
                expect_click!(at.button("Merge").sheet(1))
         | 
| 37 35 | 
             
                expect_wait_until_exists!(at.menu_button("PDF").window("Print"))
         | 
| 38 36 | 
             
                subject.mail_merge.merge
         | 
| @@ -44,11 +42,7 @@ describe "Osaka::Pages Mail Merge dialog" do | |
| 44 42 | 
             
              include(*Osaka::ApplicationWrapperExpectations)
         | 
| 45 43 |  | 
| 46 44 | 
             
              subject { Osaka::PagesMailMergeDialog.new("", nil) }
         | 
| 47 | 
            -
              
         | 
| 48 | 
            -
              before (:each) do
         | 
| 49 | 
            -
                @wrapper = subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object
         | 
| 50 | 
            -
                @location = subject.location = "window \"Pages.pages\""
         | 
| 51 | 
            -
              end
         | 
| 45 | 
            +
              let(:wrapper) {subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object}
         | 
| 52 46 |  | 
| 53 47 | 
             
              it "Should be able to set the mail merge dialog to merge to new document" do
         | 
| 54 48 | 
             
                expect_click(at.pop_up_button(2).sheet(1))
         | 
    
        data/spec/textedit_spec.rb
    CHANGED
    
    | @@ -7,17 +7,15 @@ describe "TextEdit" do | |
| 7 7 |  | 
| 8 8 | 
             
              subject { Osaka::TextEdit.new }
         | 
| 9 9 |  | 
| 10 | 
            -
               | 
| 11 | 
            -
             | 
| 12 | 
            -
              end
         | 
| 13 | 
            -
                
         | 
| 10 | 
            +
              let(:wrapper) { subject.wrapper = double("Osaka::ApplicationWrapper") }
         | 
| 11 | 
            +
             | 
| 14 12 | 
             
              it "Should be able to type some text" do
         | 
| 15 13 | 
             
                expect_keystroke('Hello World')
         | 
| 16 14 | 
             
                subject.type("Hello World")
         | 
| 17 15 | 
             
              end
         | 
| 18 16 |  | 
| 19 17 | 
             
              it "Should be able to get the text from the document" do
         | 
| 20 | 
            -
                 | 
| 18 | 
            +
                expect_get!("value", 'text area 1 of scroll area 1').and_return("Hello")
         | 
| 21 19 | 
             
                subject.text.should == "Hello"
         | 
| 22 20 | 
             
              end
         | 
| 23 21 |  | 
| @@ -7,8 +7,9 @@ describe "Osaka::TypicalApplication" do | |
| 7 7 |  | 
| 8 8 | 
             
              subject { Osaka::TypicalApplication.new("ApplicationName") }
         | 
| 9 9 |  | 
| 10 | 
            +
              let(:wrapper) { subject.wrapper = double("Osaka::ApplicationWrapper") }
         | 
| 11 | 
            +
              
         | 
| 10 12 | 
             
              before (:each) do
         | 
| 11 | 
            -
                @wrapper = subject.wrapper = double("Osaka::ApplicationWrapper")
         | 
| 12 13 | 
             
                Osaka::ScriptRunner.enable_debug_prints
         | 
| 13 14 | 
             
              end
         | 
| 14 15 |  | 
| @@ -99,7 +100,7 @@ describe "Osaka::TypicalApplication" do | |
| 99 100 | 
             
                subject.should_receive(:duplicate_available?).and_return(true)
         | 
| 100 101 | 
             
                subject.should_receive(:duplicate).and_return(new_instance)
         | 
| 101 102 | 
             
                new_instance.should_receive(:wrapper).and_return(new_instance_wrapper)
         | 
| 102 | 
            -
                new_instance_wrapper.should_receive(:clone).and_return( | 
| 103 | 
            +
                new_instance_wrapper.should_receive(:clone).and_return(wrapper)
         | 
| 103 104 |  | 
| 104 105 | 
             
                subject.should_receive(:close)
         | 
| 105 106 | 
             
                subject.should_receive(:save_dialog).and_return(save_dialog)
         | 
| @@ -123,7 +124,8 @@ describe "Osaka::TypicalApplication" do | |
| 123 124 | 
             
                subject.should_receive(:do_and_wait_for_new_window).and_yield.and_return("duplicate window", "New name duplicate window")
         | 
| 124 125 | 
             
                expect_keystroke("s", [:command, :shift])  
         | 
| 125 126 | 
             
                subject.should_receive(:clone).and_return(new_instance)
         | 
| 126 | 
            -
                new_instance.should_receive(:wrapper).and_return( | 
| 127 | 
            +
                new_instance.should_receive(:wrapper).and_return(wrapper)
         | 
| 128 | 
            +
                subject.should_receive(:sleep).with(0.4) # Avoiding Mountain Lion crash
         | 
| 127 129 | 
             
                expect_keystroke!(:return)
         | 
| 128 130 | 
             
                expect_set_current_window("New name duplicate window")
         | 
| 129 131 | 
             
                subject.duplicate.should == new_instance
         | 
| @@ -253,7 +255,7 @@ describe "Osaka::TypicalApplication" do | |
| 253 255 | 
             
                end
         | 
| 254 256 |  | 
| 255 257 | 
             
                it "Should set the path when a full path is given" do
         | 
| 256 | 
            -
                   | 
| 258 | 
            +
                  wrapper.as_null_object
         | 
| 257 259 | 
             
                  subject.should_receive(:set_filename)
         | 
| 258 260 | 
             
                  subject.should_receive(:set_folder).with("/path/second")
         | 
| 259 261 | 
             
                  subject.save("/path/second/name")
         | 
| @@ -266,7 +268,7 @@ describe "Osaka::TypicalApplication" do | |
| 266 268 | 
             
                end
         | 
| 267 269 |  | 
| 268 270 | 
             
                it "Should be able to set the filename" do
         | 
| 269 | 
            -
                   | 
| 271 | 
            +
                  wrapper.should_receive(:set).with('value', at.text_field(1).sheet(1), "filename")
         | 
| 270 272 | 
             
                  subject.set_filename("filename")
         | 
| 271 273 | 
             
                end
         | 
| 272 274 |  | 
    
        metadata
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            name: osaka
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 4 | 
             
              prerelease: 
         | 
| 5 | 
            -
              version: 0.3. | 
| 5 | 
            +
              version: 0.3.2
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors: 
         | 
| 8 8 | 
             
            - Bas Vodde
         | 
| @@ -10,7 +10,7 @@ autorequire: | |
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 12 |  | 
| 13 | 
            -
            date: 2012-08- | 
| 13 | 
            +
            date: 2012-08-13 00:00:00 -05:00
         | 
| 14 14 | 
             
            default_executable: 
         | 
| 15 15 | 
             
            dependencies: 
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency 
         |