osaka 0.4.12 → 0.4.13
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.
- checksums.yaml +4 -4
- data/lib/osaka/osakaexpectations.rb +4 -0
- data/lib/osaka/preview.rb +11 -7
- data/lib/osaka/remotecontrol.rb +33 -6
- data/lib/osaka/version.rb +1 -1
- data/spec/assets/document.pdf +0 -0
- data/spec/defaultssystem_spec.rb +6 -6
- data/spec/integration_preview_spec.rb +2 -1
- data/spec/preview_spec.rb +12 -6
- data/spec/remotecontrol_spec.rb +20 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f35e5efb876b09d8cb875ab2a27f0e6b6f1a0fca
|
|
4
|
+
data.tar.gz: 9048faf743ba238257751678a6592acf4c49b2ea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9e7bd9f36d4bdc7492965cbdcb742fcac627fd7e091d6f614e1458ceae25ac3a14ced4a0a460b702a86808dca4d017811f269950d1a84d827f41ff98b4bf055f
|
|
7
|
+
data.tar.gz: ed0e9e6ee4310cd7ff794047d917cc2ddc307fb3e1140d35a76d15c7ed63ba5117b8a87a5682c550b225b7d469a85c07e134ddd2f4442ddaea35991dc2b0e710
|
|
@@ -132,5 +132,9 @@ module Osaka
|
|
|
132
132
|
def expect_until_not_exists!(element)
|
|
133
133
|
expect(control).to receive(:until_not_exists!).with(element).and_yield
|
|
134
134
|
end
|
|
135
|
+
|
|
136
|
+
def expect_mac_version_before(version_name)
|
|
137
|
+
expect(control).to receive(:mac_version_before).with(version_name)
|
|
138
|
+
end
|
|
135
139
|
end
|
|
136
140
|
end
|
data/lib/osaka/preview.rb
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
3
|
module Osaka
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
class Preview < TypicalApplication
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
attr_accessor :control
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
def initialize
|
|
10
10
|
super "Preview"
|
|
11
11
|
end
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
def pdf_content
|
|
14
|
-
control.
|
|
14
|
+
if control.mac_version_before(:el_capitain)
|
|
15
|
+
control.get!("value", at.static_text(1).scroll_area(1).splitter_group(1))
|
|
16
|
+
else
|
|
17
|
+
control.get!("value", at.static_text(1).group(1).scroll_area(1).splitter_group(1))
|
|
18
|
+
end
|
|
15
19
|
end
|
|
16
|
-
|
|
20
|
+
|
|
17
21
|
def open(filename)
|
|
18
22
|
control.click_menu_bar(at.menu_item("Open…"), "File").wait_until_exists(at.window("Open"))
|
|
19
23
|
new_window = do_and_wait_for_new_window {
|
|
@@ -21,6 +25,6 @@ module Osaka
|
|
|
21
25
|
}
|
|
22
26
|
control.set_current_window(new_window)
|
|
23
27
|
end
|
|
24
|
-
|
|
28
|
+
|
|
25
29
|
end
|
|
26
30
|
end
|
data/lib/osaka/remotecontrol.rb
CHANGED
|
@@ -245,9 +245,8 @@ module Osaka
|
|
|
245
245
|
@base_location.to_s.empty? || window_list.index(current_window_name).nil?
|
|
246
246
|
end
|
|
247
247
|
|
|
248
|
-
def
|
|
249
|
-
|
|
250
|
-
@mac_version ||= case @mac_version_string
|
|
248
|
+
def mac_version_string_to_name(mac_version_string)
|
|
249
|
+
case mac_version_string
|
|
251
250
|
when /^10.6.*/
|
|
252
251
|
:snow_leopard
|
|
253
252
|
when /^10.7.*/
|
|
@@ -256,15 +255,43 @@ module Osaka
|
|
|
256
255
|
:mountain_lion
|
|
257
256
|
when /^10.10.*/
|
|
258
257
|
:yosemite
|
|
258
|
+
when /^10.11.*/
|
|
259
|
+
:el_capitain
|
|
259
260
|
else
|
|
260
261
|
:other
|
|
261
|
-
|
|
262
|
+
end
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
def mac_version_name_to_number(mac_version_name)
|
|
266
|
+
case mac_version_name
|
|
267
|
+
when :snow_leopard
|
|
268
|
+
10.6
|
|
269
|
+
when :lion
|
|
270
|
+
10.7
|
|
271
|
+
when :mountain_lion
|
|
272
|
+
10.8
|
|
273
|
+
when :yosemite
|
|
274
|
+
10.10
|
|
275
|
+
when :el_capitain
|
|
276
|
+
10.11
|
|
277
|
+
else
|
|
278
|
+
:other
|
|
279
|
+
end
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
def mac_version
|
|
283
|
+
mac_version_string_to_name(mac_version_string)
|
|
284
|
+
end
|
|
262
285
|
|
|
286
|
+
def mac_version_before(mac_version_name)
|
|
287
|
+
current_mac_version_string = Osaka::ScriptRunner.execute("system version of (system info)").strip
|
|
288
|
+
current_mac_version_number = mac_version_name_to_number(mac_version_string_to_name(current_mac_version_string))
|
|
289
|
+
before_mac_version_number = mac_version_name_to_number(mac_version_name)
|
|
290
|
+
current_mac_version_number < before_mac_version_number
|
|
263
291
|
end
|
|
264
292
|
|
|
265
293
|
def mac_version_string
|
|
266
|
-
|
|
267
|
-
@mac_version_string
|
|
294
|
+
Osaka::ScriptRunner.execute("system version of (system info)").strip
|
|
268
295
|
end
|
|
269
296
|
|
|
270
297
|
|
data/lib/osaka/version.rb
CHANGED
data/spec/assets/document.pdf
CHANGED
|
Binary file
|
data/spec/defaultssystem_spec.rb
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
require 'osaka'
|
|
3
3
|
|
|
4
4
|
describe "Wrapper around the defaults app which can be used for storing and retrieving preferences" do
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
before (:each) do
|
|
7
|
-
@worldclock_widget = <<-END_OF_DUMP
|
|
7
|
+
@worldclock_widget = <<-END_OF_DUMP
|
|
8
8
|
{
|
|
9
9
|
"0000000000000002-city" = 44;
|
|
10
10
|
"0000000000000002-continent" = 1;
|
|
@@ -13,18 +13,18 @@ describe "Wrapper around the defaults app which can be used for storing and retr
|
|
|
13
13
|
}
|
|
14
14
|
END_OF_DUMP
|
|
15
15
|
end
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
it "Can retrieve the settings from a domain (A domain is usually an application)" do
|
|
18
18
|
expect(Osaka::CommandRunner).to receive(:run).with("defaults read widget-com.apple.widget.worldclock").and_return(@worldclock_widget)
|
|
19
19
|
settings = DefaultsSystem.new("widget-com.apple.widget.worldclock")
|
|
20
20
|
expect(settings["city"]).to eq "44"
|
|
21
21
|
end
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
it "Can set settings on a domain" do
|
|
24
24
|
expect(Osaka::CommandRunner).to receive(:run).with("defaults read com.osaka").and_return(@worldclock_widget)
|
|
25
|
-
expect(Osaka::CommandRunner).to receive(:run).with("defaults write com.osaka key value").and_return(@worldclock_widget)
|
|
25
|
+
expect(Osaka::CommandRunner).to receive(:run).with("defaults write com.osaka key value").and_return(@worldclock_widget)
|
|
26
26
|
settings = DefaultsSystem.new("com.osaka")
|
|
27
27
|
settings["key"] = "value"
|
|
28
28
|
end
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
end
|
|
@@ -7,9 +7,10 @@ describe "Integration tests for Preview", :integration => true do
|
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
it "Should be able to open a file and check if there is a certain text" do
|
|
10
|
+
Osaka::ScriptRunner::enable_debug_prints
|
|
10
11
|
preview = Osaka::Preview.new
|
|
11
12
|
preview.open(File.join(@assets_directory, "document.pdf"))
|
|
12
|
-
expect(preview.pdf_content).to include("
|
|
13
|
+
expect(preview.pdf_content).to include("Hungary")
|
|
13
14
|
preview.close
|
|
14
15
|
preview.quit
|
|
15
16
|
end
|
data/spec/preview_spec.rb
CHANGED
|
@@ -2,26 +2,32 @@
|
|
|
2
2
|
require 'osaka'
|
|
3
3
|
|
|
4
4
|
describe "Preview application for reading PDFs" do
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
include(*Osaka::OsakaExpectations)
|
|
7
7
|
|
|
8
8
|
subject { Osaka::Preview.new }
|
|
9
9
|
let(:control) { subject.control = double("RemoteControl", :mac_version => :mountain_lion)}
|
|
10
10
|
|
|
11
|
-
it "Can get the text context of a PDF document" do
|
|
11
|
+
it "Can get the text context of a PDF document (pre el capitain)" do
|
|
12
|
+
expect_mac_version_before(:el_capitain).and_return(true)
|
|
12
13
|
expect_get!("value", at.static_text(1).scroll_area(1).splitter_group(1)).and_return("Blah")
|
|
13
14
|
expect(subject.pdf_content).to eq "Blah"
|
|
14
15
|
end
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
it "Can get the text context of a PDF document (post el capitain)" do
|
|
18
|
+
expect_mac_version_before(:el_capitain).and_return(false)
|
|
19
|
+
expect_get!("value", at.static_text(1).group(1).scroll_area(1).splitter_group(1)).and_return("Blah")
|
|
20
|
+
expect(subject.pdf_content).to eq "Blah"
|
|
21
|
+
end
|
|
22
|
+
|
|
16
23
|
it "Can open a PDF file via the menu instead of the AppleScript 'open' as that one is buggy" do
|
|
17
|
-
|
|
18
24
|
expect_click_menu_bar(at.menu_item("Open…"), "File")
|
|
19
25
|
expect_wait_until_exists(at.window("Open"))
|
|
20
|
-
expect(subject).to receive(:do_and_wait_for_new_window).and_yield.and_return("window name")
|
|
26
|
+
expect(subject).to receive(:do_and_wait_for_new_window).and_yield.and_return("window name")
|
|
21
27
|
expect(subject).to receive(:select_file_from_open_dialog).with("dir/filename", at.window("Open"))
|
|
22
28
|
expect_set_current_window("window name")
|
|
23
29
|
|
|
24
30
|
subject.open("dir/filename")
|
|
25
31
|
end
|
|
26
|
-
|
|
32
|
+
|
|
27
33
|
end
|
data/spec/remotecontrol_spec.rb
CHANGED
|
@@ -38,6 +38,10 @@ describe "Osaka::RemoteControl" do
|
|
|
38
38
|
it "Can get the OS version (lion)" do
|
|
39
39
|
expect_execute_osascript("system version of (system info)").and_return("10.7.4\n")
|
|
40
40
|
expect(subject.mac_version).to eq :lion
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "Can get the OS version (lion) string" do
|
|
44
|
+
expect_execute_osascript("system version of (system info)").and_return("10.7.4\n")
|
|
41
45
|
expect(subject.mac_version_string).to eq "10.7.4"
|
|
42
46
|
end
|
|
43
47
|
|
|
@@ -51,10 +55,25 @@ describe "Osaka::RemoteControl" do
|
|
|
51
55
|
expect(subject.mac_version).to eq :snow_leopard
|
|
52
56
|
end
|
|
53
57
|
|
|
54
|
-
it "Can get the OS version (
|
|
58
|
+
it "Can get the OS version (el capitain)" do
|
|
59
|
+
expect_execute_osascript("system version of (system info)").and_return("10.11\n")
|
|
60
|
+
expect(subject.mac_version).to eq :el_capitain
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
it "Can get the OS version (other)" do
|
|
55
64
|
expect_execute_osascript("system version of (system info)").and_return("1\n")
|
|
56
65
|
expect(subject.mac_version).to eq :other
|
|
57
66
|
end
|
|
67
|
+
|
|
68
|
+
it "OSVersion in before a certain version" do
|
|
69
|
+
expect_execute_osascript("system version of (system info)").and_return("10.10\n")
|
|
70
|
+
expect(subject.mac_version_before(:el_capitain)).to eq true
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "OSVersion in before a certain version" do
|
|
74
|
+
expect_execute_osascript("system version of (system info)").and_return("10.11\n")
|
|
75
|
+
expect(subject.mac_version_before(:el_capitain)).to eq false
|
|
76
|
+
end
|
|
58
77
|
end
|
|
59
78
|
|
|
60
79
|
context "Able to compare different remote controls" do
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: osaka
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bas Vodde
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-01-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|