osaka 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,104 +1,43 @@
1
1
  # encoding: utf-8
2
2
  module Osaka
3
3
 
4
- class TypicalSaveDialog
5
- attr_accessor :wrapper
6
-
7
- def initialize(self_location, wrapper)
8
- @self_location = self_location
9
- @wrapper = wrapper.clone
10
- @wrapper.set_current_window("") if self_location.has_top_level_element?
11
- end
12
-
13
- def set_filename(filename)
14
- @wrapper.set("value", at.text_field(1) + @self_location, filename)
15
- end
16
-
17
- def set_folder(pathname)
18
- @wrapper.keystroke("g", [ :command, :shift ]).wait_until_exists(at.sheet(1) + @self_location)
19
- @wrapper.set("value", at.text_field(1).sheet(1) + @self_location, pathname)
20
- @wrapper.click(at.button("Go").sheet(1) + @self_location).wait_until_not_exists(at.sheet(1) + @self_location)
21
- end
22
-
23
- def click_save
24
- @wrapper.click(at.button("Save") + @self_location).wait_until_not_exists(@self_location)
25
- end
26
-
27
- def save(filename)
28
- set_filename(File.basename(filename))
29
- set_folder(File.dirname(filename)) unless File.dirname(filename) == "."
30
- click_save
31
- end
32
-
33
- end
34
-
35
- class TypicalPrintDialog
36
- attr_accessor :wrapper
37
-
38
- def initialize(parent, wrapper)
39
- @parent = parent
40
- @wrapper = wrapper
41
- end
42
-
43
- def create_save_dialog(location, app)
44
- TypicalSaveDialog.new(location, app)
45
- end
46
-
47
- def save_as_pdf(filename)
48
- @wrapper.click!(at.menu_button("PDF") + @parent).wait_until_exists!(at.menu(1).menu_button("PDF") + @parent)
49
- @wrapper.click!(at.menu_item(2).menu(1).menu_button("PDF") + @parent)
50
-
51
- save_location = @wrapper.wait_until_exists!(at.window("Save"), at.sheet(1).window("Print"))
52
- save_dialog = create_save_dialog(save_location, @wrapper)
53
- save_dialog.save(filename)
54
-
55
- @wrapper.until_not_exists!(@parent) {
56
- # Weird, but sometimes the dialog "hangs around" and clicking this checkbox will make it go away.
57
- # Anyone who knows a better solution, please let me know!
58
- # This is for snow leopard
59
- @wrapper.click!(at.checkbox(1) + @parent) if @wrapper.exists(at.checkbox(1) + @parent)
60
- }
61
- end
62
- end
63
-
64
4
  class ApplicationInfo
65
5
 
66
6
  attr_reader :name
67
7
 
68
8
  def initialize(script_info)
69
9
  @name = script_info.match(/name:(.+?), creation date/)[1]
70
- end
71
-
10
+ end
72
11
  end
73
12
 
74
13
  class TypicalApplication
75
14
 
76
- attr_accessor :wrapper
15
+ attr_accessor :control
77
16
 
78
17
  def initialize(name)
79
18
  @name = name
80
- @wrapper = ApplicationWrapper.new(name)
19
+ @control = RemoteControl.new(name)
81
20
  end
82
21
 
83
22
  def initialize_copy(other)
84
23
  super
85
- @wrapper = other.wrapper.clone
24
+ @control = other.control.clone
86
25
  end
87
26
 
88
27
  def get_info
89
- script_info = @wrapper.tell("get info for (path to application \"#{@name}\")")
28
+ script_info = control.tell("get info for (path to application \"#{@name}\")")
90
29
  ApplicationInfo.new(script_info)
91
30
  end
92
31
 
93
32
  def open (filename)
94
33
  abolutePathFileName = File.absolute_path(filename)
95
- @wrapper.tell("open \"#{abolutePathFileName}\"")
96
- @wrapper.set_current_window(File.basename(filename))
34
+ control.tell("open \"#{abolutePathFileName}\"")
35
+ control.set_current_window(File.basename(filename))
97
36
  end
98
37
 
99
38
  def wait_for_window_and_dialogs_to_close(option)
100
39
  if (option != :user_chose)
101
- @wrapper.until_not_exists!(@wrapper.current_window_location) {
40
+ control.until_not_exists!(control.base_location) {
102
41
  close_dialog_sheet_with_dont_save
103
42
  }
104
43
  end
@@ -106,44 +45,44 @@ module Osaka
106
45
 
107
46
  def wait_for_application_to_quit(option)
108
47
  if (option != :user_chose)
109
- while @wrapper.running?
48
+ while control.running?
110
49
  close_dialog_sheet_with_dont_save
111
50
  end
112
51
  end
113
52
  end
114
53
 
115
54
  def close_dialog_sheet_with_dont_save
116
- if (@wrapper.exists(at.sheet(1)))
117
- @wrapper.click!(at.button("Don’t Save").sheet(1))
55
+ if (control.exists?(at.sheet(1)))
56
+ control.click!(at.button("Don’t Save").sheet(1))
118
57
  end
119
58
  end
120
59
 
121
60
  def quit(option = :user_chose)
122
- if @wrapper.running?
123
- @wrapper.quit
61
+ if control.running?
62
+ control.quit
124
63
  wait_for_application_to_quit(option)
125
64
  end
126
65
  end
127
66
 
128
67
  def do_and_wait_for_new_window
129
- @wrapper.activate
130
- latest_window_list = original_window_list = @wrapper.window_list
68
+ control.activate
69
+ latest_window_list = original_window_list = control.window_list
131
70
  yield
132
71
  while (original_window_list == latest_window_list)
133
- latest_window_list = @wrapper.window_list
72
+ latest_window_list = control.window_list
134
73
  end
135
74
  (latest_window_list - original_window_list)[0]
136
75
  end
137
76
 
138
77
  def new_document
139
- @wrapper.set_current_window(do_and_wait_for_new_window {
140
- @wrapper.keystroke("n", :command)
78
+ control.set_current_window(do_and_wait_for_new_window {
79
+ control.keystroke("n", :command)
141
80
  })
142
- @wrapper.focus
81
+ control.focus
143
82
  end
144
83
 
145
84
  def duplicate_available?
146
- @wrapper.exists(at.menu_item("Duplicate").menu(1).menu_bar_item("File").menu_bar(1))
85
+ control.exists?(at.menu_item("Duplicate").menu(1).menu_bar_item("File").menu_bar(1))
147
86
  end
148
87
 
149
88
  def duplicate
@@ -151,90 +90,93 @@ module Osaka
151
90
  raise(Osaka::VersioningError, "MacOS Versioning Error: Duplicate is not available on this Mac version")
152
91
  end
153
92
  new_window = do_and_wait_for_new_window {
154
- @wrapper.keystroke("s", [:command, :shift])
93
+ control.click_menu_bar(at.menu_item("Duplicate"), "File")
155
94
  }
156
95
  new_instance = clone
157
- new_instance.wrapper.set_current_window(do_and_wait_for_new_window {
96
+ new_instance.control.set_current_window(do_and_wait_for_new_window {
158
97
  sleep(0.4) # This sleep is added because mountain lion keynote crashes without it!
159
- @wrapper.keystroke!(:return)
160
- })
98
+ control.keystroke!(:return)
99
+ }) unless control.mac_version == :lion
161
100
 
162
101
  new_instance
163
102
  end
164
103
 
165
104
  def save
166
- @wrapper.keystroke("s", :command)
105
+ control.keystroke("s", :command)
167
106
  end
168
107
 
169
108
  def save_pops_up_dialog?
170
- @wrapper.exists(at.menu_item("Save…").menu(1).menu_bar_item("File").menu_bar(1))
109
+ control.exists?(at.menu_item("Save…").menu(1).menu_bar_item("File").menu_bar(1))
171
110
  end
172
111
 
173
112
  def save_dialog
174
113
  if save_pops_up_dialog?
175
114
  save
176
- @wrapper.wait_until_exists(at.sheet(1))
115
+ control.wait_until_exists(at.sheet(1))
177
116
  else
178
- @wrapper.keystroke("s", [:command, :shift]).wait_until_exists(at.sheet(1))
117
+ control.keystroke("s", [:command, :shift]).wait_until_exists(at.sheet(1))
179
118
  end
180
- create_save_dialog(at.sheet(1))
119
+ create_save_dialog(at.sheet(1) + control.base_location)
181
120
  end
182
121
 
183
122
  def save_as(filename)
184
123
  if duplicate_available?
185
- new_instance = duplicate
186
- close
187
- @wrapper = new_instance.wrapper.clone
188
- end
124
+ new_instance = duplicate
125
+ close
126
+ @control = new_instance.control.clone
127
+ end
189
128
  dialog = save_dialog
190
129
  dialog.save(filename)
191
- @wrapper.set_current_window(File.basename(filename))
130
+ control.set_current_window(File.basename(filename))
192
131
  end
193
132
 
194
133
  def close(option = :user_chose)
195
- @wrapper.keystroke("w", :command)
134
+ control.keystroke("w", :command)
196
135
  wait_for_window_and_dialogs_to_close(option)
197
136
  end
198
137
 
199
138
  def activate
200
- @wrapper.activate
139
+ if (control.mac_version == :lion)
140
+ control.launch unless control.running?
141
+ end
142
+ control.activate
201
143
  end
202
144
 
203
145
  def focus
204
- @wrapper.focus
146
+ control.focus
205
147
  end
206
148
 
207
149
  def running?
208
- @wrapper.running?
150
+ control.running?
209
151
  end
210
152
 
211
153
  def copy
212
- @wrapper.keystroke("c", :command)
154
+ control.keystroke("c", :command)
213
155
  end
214
156
 
215
157
  def paste
216
- @wrapper.keystroke("v", :command)
158
+ control.keystroke("v", :command)
217
159
  end
218
160
 
219
161
  def cut
220
- @wrapper.keystroke("x", :command)
162
+ control.keystroke("x", :command)
221
163
  end
222
164
 
223
165
  def select_all
224
- @wrapper.keystroke("a", :command)
166
+ control.keystroke("a", :command)
225
167
  end
226
168
 
227
169
  def create_print_dialog(location)
228
- TypicalPrintDialog.new(location, @wrapper)
170
+ TypicalPrintDialog.new(control.name, location)
229
171
  end
230
172
 
231
173
  def create_save_dialog(location)
232
- TypicalSaveDialog.new(location, @wrapper)
174
+ TypicalSaveDialog.new(control.name, location)
233
175
  end
234
176
 
235
177
  def print_dialog
236
- @wrapper.keystroke("p", :command).wait_until_exists(at.sheet(1))
237
- create_print_dialog(at.sheet(1))
178
+ control.keystroke("p", :command).wait_until_exists(at.sheet(1))
179
+ create_print_dialog(at.sheet(1) + control.base_location)
238
180
  end
239
181
 
240
182
  end
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+ module Osaka
3
+
4
+ class TypicalPrintDialog
5
+ attr_accessor :control
6
+
7
+ def initialize(application_name, own_location)
8
+ @control = Osaka::RemoteControl.new(application_name, own_location)
9
+ end
10
+
11
+ def create_save_dialog(application_name, own_location)
12
+ TypicalSaveDialog.new(application_name, own_location)
13
+ end
14
+
15
+ def save_as_pdf(filename)
16
+ control.click!(at.menu_button("PDF")).wait_until_exists!(at.menu(1).menu_button("PDF"))
17
+ control.click!(at.menu_item(2).menu(1).menu_button("PDF"))
18
+
19
+ save_location = control.wait_until_exists!(at.window("Save"), at.sheet(1) + control.base_location)
20
+ save_dialog = create_save_dialog(control.name, save_location)
21
+ save_dialog.save(filename)
22
+
23
+ control.until_not_exists!(control.base_location) {
24
+ # Weird, but sometimes the dialog "hangs around" and clicking this checkbox will make it go away.
25
+ # Anyone who knows a better solution, please let me know!
26
+ # This is for snow leopard
27
+ control.click!(at.checkbox(1)) if control.exists?(at.checkbox(1))
28
+ }
29
+ end
30
+ end
31
+
32
+ end
@@ -0,0 +1,33 @@
1
+ # encoding: utf-8
2
+ module Osaka
3
+
4
+ class TypicalSaveDialog
5
+ attr_accessor :control
6
+
7
+ def initialize(application_name, own_location)
8
+ @control = Osaka::RemoteControl.new(application_name, own_location)
9
+ end
10
+
11
+ def set_filename(filename)
12
+ control.set("value", at.text_field(1), filename)
13
+ end
14
+
15
+ def set_folder(pathname)
16
+ control.keystroke("g", [ :command, :shift ]).wait_until_exists(at.sheet(1))
17
+ control.set("value", at.text_field(1).sheet(1), pathname)
18
+ control.click(at.button("Go").sheet(1)).wait_until_not_exists(at.sheet(1))
19
+ end
20
+
21
+ def click_save
22
+ control.click(at.button("Save")).wait_until_not_exists(control.base_location)
23
+ end
24
+
25
+ def save(filename)
26
+ set_filename(File.basename(filename))
27
+ set_folder(File.dirname(filename)) unless File.dirname(filename) == "."
28
+ click_save
29
+ end
30
+
31
+ end
32
+
33
+ end
data/lib/osaka/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Osaka
3
- VERSION = "0.3.2"
3
+ VERSION = "0.4.0"
4
4
  end
data/lib/osaka.rb CHANGED
@@ -1,9 +1,10 @@
1
1
 
2
2
  require 'osaka/scriptrunner'
3
3
  require 'osaka/location'
4
- require 'osaka/applicationwrapper'
5
- require 'osaka/applicationwrapperexpectations'
4
+ require 'osaka/remotecontrol'
6
5
  require 'osaka/typicalapplication'
6
+ require 'osaka/typicalsavedialog'
7
+ require 'osaka/typicalprintdialog'
7
8
  require 'osaka/pages'
8
9
  require 'osaka/numbers'
9
10
  require 'osaka/keynote'
@@ -11,4 +12,5 @@ require 'osaka/calculator'
11
12
  require 'osaka/textedit'
12
13
  require 'osaka/mailmergeflow'
13
14
  require 'osaka/keynoteflow'
15
+ require 'osaka/osakaexpectations'
14
16
 
Binary file
Binary file
@@ -3,20 +3,18 @@ require 'osaka'
3
3
 
4
4
  describe "Mac GUI Calculator" do
5
5
 
6
- include(*Osaka::ApplicationWrapperExpectations)
6
+ include(*Osaka::OsakaExpectations)
7
7
 
8
8
  subject { Osaka::Calculator.new }
9
- let(:wrapper) { subject.wrapper = double("Osaka::ApplicationWrapper")}
9
+ let(:control) { subject.control = mock("RemoteControl", :mac_version => :mountain_lion)}
10
10
 
11
11
  it "Should be setting the window when starting the Calculator" do
12
-
13
- # TODO: Fix this duplication between this and TextEdit.
14
-
15
- wrapper.should_receive(:activate)
16
- wrapper.should_receive(:current_window_name).and_return("")
12
+
13
+ expect_activate
14
+ expect_current_window_name.and_return("")
17
15
  subject.should_receive(:wait_for_new_window).with([])
18
- wrapper.should_receive(:window_list).and_return(["Calculator"])
19
- wrapper.should_receive(:set_current_window).with("Calculator")
16
+ expect_window_list.and_return(["Calculator"])
17
+ expect_set_current_window("Calculator")
20
18
  subject.activate
21
19
  end
22
20
 
@@ -31,14 +29,14 @@ describe "Mac GUI Calculator" do
31
29
  end
32
30
 
33
31
  it "Should be able to quit the calculator" do
34
- wrapper.should_receive(:running?).and_return(true)
35
- wrapper.should_receive(:quit)
32
+ expect_running?.and_return(true)
33
+ expect_quit
36
34
  subject.quit
37
35
  end
38
36
 
39
37
  it "Should be able to get the value from the screen" do
40
38
  expect_wait_until_exists!(at.static_text(1).group(1))
41
- wrapper.should_receive(:get!).with("value", at.static_text(1).group(1)).and_return("0")
39
+ expect_get!("value", at.static_text(1).group(1)).and_return("0")
42
40
  subject.result.should == "0"
43
41
  end
44
42
 
@@ -4,6 +4,7 @@ require 'osaka'
4
4
  describe "Integration tests for Keynote and Common Flows" do
5
5
 
6
6
  it "Should be able to do a combine with just one file" do
7
+
7
8
  assets_directory = File.join(File.dirname(__FILE__), "assets")
8
9
 
9
10
  keynote_file = File.join(assets_directory, "01_first_slides.key")
@@ -4,7 +4,7 @@ require 'osaka'
4
4
  describe "Integration of mail merge flow with Pages and Numbers" do
5
5
 
6
6
  it "Should mail merge the assets and generate a PDF" do
7
-
7
+
8
8
  assets_directory = File.join(File.dirname(__FILE__), "assets")
9
9
  numbers_data = File.join(assets_directory, "mail_merge_data.numbers")
10
10
  pages_template = File.join(assets_directory, "mail_merge_template.pages")
@@ -3,7 +3,7 @@ require "osaka"
3
3
 
4
4
  describe "Common flows in keynote" do
5
5
 
6
- let(:mock_keynote) { double(:Keynote)}
6
+ let(:mock_keynote) { mock("First keynote")}
7
7
 
8
8
  it "Should be able to combine just one single file" do
9
9
  Osaka::Keynote.should_receive(:new).and_return(mock_keynote)
@@ -15,8 +15,8 @@ describe "Common flows in keynote" do
15
15
  end
16
16
 
17
17
  it "Should be able to combine multiple files in one result" do
18
- mock2_keynote = double(:Keynote)
19
- mock3_keynote = double(:Keynote)
18
+ mock2_keynote = mock("Second keynote")
19
+ mock3_keynote = mock("Third keynote")
20
20
  Osaka::Keynote.should_receive(:new).and_return(mock_keynote, mock2_keynote, mock3_keynote)
21
21
  mock_keynote.should_receive(:open).with("one_file.key")
22
22
  mock_keynote.should_receive(:save_as).with("result.key")
@@ -50,7 +50,7 @@ describe "Common flows in keynote" do
50
50
  it "Should be able to combine multiple files from one directory sorted with pattern" do
51
51
  files_in_dir = [".", "..", "05_file.key", "02key.wrong", "another", "01hey.key", "last"]
52
52
  files_in_dir_to_be_used = ["dirname/01hey.key", "dirname/05_file.key"]
53
- mocked_dir = double(:Dir)
53
+ mocked_dir = mock("Directory with keynote files")
54
54
  Dir.should_receive(:new).with("dirname").and_return(mocked_dir)
55
55
  mocked_dir.should_receive(:entries).and_return(files_in_dir)
56
56
  CommonFlows.should_receive(:keynote_combine_files).with("results.key", files_in_dir_to_be_used)
data/spec/keynote_spec.rb CHANGED
@@ -3,10 +3,10 @@ require 'osaka'
3
3
 
4
4
  describe "Osaka::Keynote" do
5
5
 
6
- include(*Osaka::ApplicationWrapperExpectations)
6
+ include(*Osaka::OsakaExpectations)
7
7
 
8
8
  subject { Osaka::Keynote.new }
9
- let(:wrapper) {subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object}
9
+ let(:control) {subject.control = mock("RemoteControl").as_null_object}
10
10
 
11
11
  it "Should create the correct keynote print dialog" do
12
12
  subject.create_print_dialog("window").should be_instance_of Osaka::KeynotePrintDialog
@@ -14,7 +14,7 @@ describe "Osaka::Keynote" do
14
14
 
15
15
  it "Should be possible to select all the slides in the default location" do
16
16
  slides_button_location = at.button("Slides").group(1).outline(1).scroll_area(2).splitter_group(1).splitter_group(1)
17
- expect_exists(slides_button_location).and_return(true)
17
+ expect_exists?(slides_button_location).and_return(true)
18
18
  expect_click(slides_button_location)
19
19
  subject.should_receive(:select_all)
20
20
  subject.select_all_slides
@@ -23,7 +23,7 @@ describe "Osaka::Keynote" do
23
23
  it "Should be possible to select all the slides in the alternative location" do
24
24
  slides_button_location = at.button("Slides").group(1).outline(1).scroll_area(2).splitter_group(1).splitter_group(1)
25
25
  alternative_slides_button_location = at.button("Slides").group(1).outline(1).scroll_area(1).splitter_group(1).splitter_group(1)
26
- expect_exists(slides_button_location).and_return(false)
26
+ expect_exists?(slides_button_location).and_return(false)
27
27
  expect_click(alternative_slides_button_location)
28
28
  subject.should_receive(:select_all)
29
29
  subject.select_all_slides
@@ -13,6 +13,12 @@ describe "Location path for an applescript command" do
13
13
  location.to_s.should == "location"
14
14
  end
15
15
 
16
+ it "Should be able to get the top-level element out" do
17
+ location = at.sheet(1).sheet(2).window("three")
18
+ location.top_level_element.should == at.window("three")
19
+ end
20
+
21
+
16
22
  it "Should be able to create locations using at" do
17
23
  at.button(1).to_s.should == "button 1"
18
24
  end
@@ -3,8 +3,8 @@ require "osaka"
3
3
 
4
4
  describe "Mail Merge to PDF common flow" do
5
5
 
6
- let(:mock_numbers) { double(:Numbers)}
7
- let(:mock_pages) { double(:Pages) }
6
+ let(:mock_numbers) { mock("Number")}
7
+ let(:mock_pages) { mock("Pages") }
8
8
 
9
9
  it "Should do a good mail merge with Pages and Keynote flow" do
10
10
  Osaka::Numbers.should_receive(:new).and_return(mock_numbers)
data/spec/numbers_spec.rb CHANGED
@@ -3,13 +3,12 @@ require 'osaka'
3
3
 
4
4
  describe "Osaka::Numbers" do
5
5
 
6
- include(*Osaka::ApplicationWrapperExpectations)
6
+ include(*Osaka::OsakaExpectations)
7
7
 
8
8
  subject { Osaka::Numbers.new }
9
- let(:wrapper) { subject.wrapper = double("Osaka::Number").as_null_object}
9
+ let(:control) { subject.control = mock("RemoteControl").as_null_object}
10
10
 
11
11
  it "Should be able to fill in data in cells" do
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
12
  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
13
  subject.fill_cell(1, 2, "30")
15
14
  end
@@ -0,0 +1,26 @@
1
+
2
+ require 'osaka'
3
+
4
+ describe "Osakas Ruby expectations" do
5
+
6
+ include(*Osaka::OsakaExpectations)
7
+
8
+ subject { mock("RemoteControl") }
9
+ let(:control) { subject }
10
+
11
+ it "Wait until exists can be called without a code block" do
12
+ expect_wait_until_exists!(at.window(1))
13
+ subject.wait_until_exists!(at.window(1))
14
+ end
15
+
16
+ it "Wait until exists can be called with a code block" do
17
+ code_block_been_called = false
18
+ expect_wait_until_exists!(at.window(1)).and_yield
19
+
20
+ subject.wait_until_exists!(at.window(1)) {
21
+ code_block_been_called = true
22
+ }
23
+ code_block_been_called.should be_true
24
+ end
25
+
26
+ end
data/spec/pages_spec.rb CHANGED
@@ -3,16 +3,16 @@ require 'osaka'
3
3
 
4
4
  describe "Osaka::Pages" do
5
5
 
6
- include(*Osaka::ApplicationWrapperExpectations)
6
+ include(*Osaka::OsakaExpectations)
7
7
 
8
8
  subject { Osaka::Pages.new }
9
9
 
10
- let (:wrapper) { subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object}
10
+ let (:control) { subject.control = mock("Remote Control").as_null_object}
11
11
 
12
12
  it "Should be able to do mail merge to a PDF flow" do
13
13
 
14
- mail_merge_dialog = double(:PagesMailMergeDialog)
15
- print_dialog = double(:GenericPrintDialog)
14
+ mail_merge_dialog = mock("Pages Mail Merge Dialog")
15
+ print_dialog = mock("Generic Print Dialog")
16
16
 
17
17
  subject.should_receive(:mail_merge).and_return(mail_merge_dialog)
18
18
  mail_merge_dialog.should_receive(:merge).and_return(print_dialog)
@@ -23,14 +23,14 @@ describe "Osaka::Pages" do
23
23
  end
24
24
 
25
25
  it "Should be able to select the Mail Merge" do
26
- wrapper.should_receive(:current_window_name).any_number_of_times.and_return("Pages.pages")
26
+ expect_current_window_name.any_number_of_times.and_return("Pages.pages")
27
27
  expect_click_menu_bar(at.menu_item(20), "Edit")
28
28
  expect_wait_until_exists(at.button("Merge").sheet(1))
29
29
  subject.mail_merge
30
30
  end
31
31
 
32
32
  it "Should click the merge button of the mail merge dialog" do
33
- wrapper.should_receive(:current_window_name).any_number_of_times.and_return("Pages.pages")
33
+ expect_current_window_name.any_number_of_times.and_return("Pages.pages")
34
34
  expect_click!(at.button("Merge").sheet(1))
35
35
  expect_wait_until_exists!(at.menu_button("PDF").window("Print"))
36
36
  subject.mail_merge.merge
@@ -39,10 +39,10 @@ end
39
39
 
40
40
  describe "Osaka::Pages Mail Merge dialog" do
41
41
 
42
- include(*Osaka::ApplicationWrapperExpectations)
42
+ include(*Osaka::OsakaExpectations)
43
43
 
44
44
  subject { Osaka::PagesMailMergeDialog.new("", nil) }
45
- let(:wrapper) {subject.wrapper = double("Osaka::ApplicationWrapper").as_null_object}
45
+ let(:control) {subject.control = mock("RemoteControl").as_null_object}
46
46
 
47
47
  it "Should be able to set the mail merge dialog to merge to new document" do
48
48
  expect_click(at.pop_up_button(2).sheet(1))