sensible-cinema 0.26.1 → 0.26.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/TODO +5 -8
- data/VERSION +1 -1
- data/change_log_with_feature_list.txt +4 -0
- data/lib/gui/sensible-cinema-base.rb +3 -5
- data/spec/notes +62 -7
- metadata +2 -6
- data/lib/mouse.rb +0 -148
- data/lib/mouse_draw.rb +0 -43
- data/spec/mouse.spec.rb +0 -65
- data/spec/swing_helpers.spec.rb +0 -44
data/TODO
CHANGED
|
@@ -24,19 +24,16 @@
|
|
|
24
24
|
|
|
25
25
|
== high prio like blocking bugs ==
|
|
26
26
|
|
|
27
|
-
== under next release specific items: ==
|
|
28
|
-
test out DVD upscale
|
|
29
|
-
no super scale res?
|
|
30
|
-
|
|
31
27
|
== next things I was working on ==
|
|
32
|
-
a srt that works with my DVD...does it match netflix instant jonah?
|
|
33
28
|
unit tests work
|
|
34
|
-
|
|
35
|
-
screen recording
|
|
29
|
+
screen recording sintel
|
|
36
30
|
more netflix instant timing
|
|
37
|
-
bluray jonah
|
|
31
|
+
bluray jonah total time vs. other
|
|
38
32
|
|
|
39
33
|
== yes do ordered for release ==
|
|
34
|
+
test out DVD upscale
|
|
35
|
+
no super scale res?
|
|
36
|
+
|
|
40
37
|
add srt instructions to docu, release
|
|
41
38
|
fake "tenseness" metric
|
|
42
39
|
netflix instant descriptor for OS X/work at all
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.26.
|
|
1
|
+
0.26.2
|
|
@@ -427,7 +427,6 @@ module SensibleSwing
|
|
|
427
427
|
def require_blocking_license_accept_dialog program, license_name, license_url_should_also_be_embedded_by_you_in_message,
|
|
428
428
|
title = 'Confirm Acceptance of License Agreement', message = nil
|
|
429
429
|
puts 'Please confirm license agreement in open window.'
|
|
430
|
-
# cancel button stays the same...
|
|
431
430
|
|
|
432
431
|
message ||= "Sensible Cinema requires a separately installed program (#{program}), not yet installed.
|
|
433
432
|
You can install this program manually to the vendor/cache subdirectory, or Sensible Cinema can download it for you.
|
|
@@ -438,12 +437,11 @@ module SensibleSwing
|
|
|
438
437
|
You agree that you are responsible for the download and use of this program, within sensible cinema or otherwise."
|
|
439
438
|
answer = JOptionPane.show_select_buttons_prompt message, :yes => 'Accept', :no => "View #{license_name}"
|
|
440
439
|
assert_confirmed_dialog answer, license_url_should_also_be_embedded_by_you_in_message
|
|
441
|
-
p 'confirmation of sensible cinema related license
|
|
442
|
-
throw unless
|
|
443
|
-
|
|
440
|
+
p 'confirmation of sensible cinema related license noted of: ' + license_name # LODO require all licenses together :P
|
|
441
|
+
throw unless answer == :yes
|
|
444
442
|
end
|
|
445
443
|
|
|
446
|
-
def assert_confirmed_dialog
|
|
444
|
+
def assert_confirmed_dialog returned, license_url_should_also_be_embedded_by_you_in_message
|
|
447
445
|
# :yes, :no, :cancel
|
|
448
446
|
# 1 is view button was clicked
|
|
449
447
|
# 0 is accept
|
data/spec/notes
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
up next:
|
|
2
2
|
|
|
3
|
+
curious george 2 http://movies.netflix.com/WiPlayer?trkid=805148&movieid=70130481 37:35 has an accomplish oh my g
|
|
4
|
+
|
|
5
|
+
== netflix upscale notes ==
|
|
6
|
+
|
|
7
|
+
:width=>657 for "HD" that said it was playing in HD, eh? ... hmm...
|
|
8
|
+
|
|
9
|
+
hulu has "up to 480p" as options...hmm...
|
|
10
|
+
360p speedracer displays as {:start_x=>535, :start_y=>328, :width=>542, :height=>410}
|
|
11
|
+
480p speedracer displays as {:start_x=>524, :start_y=>331, :width=>550, :height=>408} (same)
|
|
12
|
+
and always the same size minimzed eh...
|
|
13
|
+
|
|
14
|
+
netflix instant
|
|
15
|
+
default minimum size is {:start_x=>38, :start_y=>109, :width=>649, :height=>372}
|
|
16
|
+
Jonah is in hd
|
|
17
|
+
http://blog.netflix.com/2011/03/netflix-lowers-data-usage-by-23-for.html 1080p possible, typically it's 720p apparently [?]
|
|
18
|
+
720p:
|
|
19
|
+
2200 kbps/192 kbps
|
|
20
|
+
while "buffering hd" it looks a bit jagged...hmm...
|
|
21
|
+
if you drag, it loses and discards all buffering. yipes.
|
|
22
|
+
"DIS" allowing HD at first looks junky, then looks really good LOL
|
|
23
|
+
HD looks basically perfect, though maybe some sharpening or what not could help still...
|
|
24
|
+
the lines look awesome to good (this is "apparently probably" 1080p
|
|
25
|
+
non HD, with their upconversion
|
|
26
|
+
lines look pretty good, maybe a teeny touchup
|
|
27
|
+
coloring maybe a bit weak
|
|
28
|
+
maybe barely non sharp lines
|
|
29
|
+
no artifacts that I can tell
|
|
30
|
+
might not need hqdn3d?
|
|
31
|
+
unless they have/use their own...
|
|
32
|
+
|
|
33
|
+
TODO CGI netflix instant 1080p
|
|
34
|
+
compare HD and non...
|
|
35
|
+
|
|
36
|
+
|
|
3
37
|
== netflix instant vs srt ==
|
|
4
38
|
|
|
5
39
|
00:02:34,427 --> 00:02:36,361
|
|
@@ -1535,23 +1569,40 @@ hulu
|
|
|
1535
1569
|
15: wash your hands [before] you eat
|
|
1536
1570
|
30: a man that .. can count on to deliver his message yes [well]
|
|
1537
1571
|
45: just before the big grin from duck
|
|
1572
|
+
sum: 1:22:51 1:22:52 in thing, seems to get that far... hmm...
|
|
1573
|
+
|
|
1538
1574
|
|
|
1539
1575
|
youtube jonah: appears lower quality?
|
|
1540
1576
|
15: wash your hands before you [eat]
|
|
1541
1577
|
30: yes well [you] and ...
|
|
1542
1578
|
45: big smile, turns [to his right]
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1579
|
+
sum: (says 1:22:59 for pay version [?]) says 1:22:54 in index, and on vid, felt really like 1:22:52 or so
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
powerdvd 8 (DVD):
|
|
1583
|
+
15:
|
|
1584
|
+
wash your hands before you [eat]
|
|
1585
|
+
wash your hands [before] you eat
|
|
1586
|
+
wash your [hands] before you eat LOL
|
|
1587
|
+
30:
|
|
1588
|
+
can count on to deliver his messages yes [] well
|
|
1589
|
+
yes well ... you and [] ... are like peas in a pod
|
|
1590
|
+
45:
|
|
1591
|
+
big smile [] he turns to his right
|
|
1592
|
+
turns [to his right]
|
|
1593
|
+
[] turns to his right
|
|
1548
1594
|
|
|
1549
1595
|
wmp windows 7: [wmp feels slightly unstable timing-wise]
|
|
1550
1596
|
15: before [] you eat --- before [you] eat
|
|
1551
1597
|
30: yes []well --- yes well[]
|
|
1552
1598
|
45: turns [to his right] --- turns to his right[]
|
|
1553
1599
|
|
|
1554
|
-
|
|
1600
|
+
blu-ray powerdvd:
|
|
1601
|
+
30: deep in my family [] my uncle * 2
|
|
1602
|
+
45: blue light shines down 44:58 or 59
|
|
1603
|
+
duck 44:47 look left about 44:48
|
|
1604
|
+
1:22:45 sum, seems to have the same closing credits et al...
|
|
1605
|
+
totally uses 100% cpu
|
|
1555
1606
|
|
|
1556
1607
|
netflix instant jonah
|
|
1557
1608
|
|
|
@@ -1569,7 +1620,7 @@ netflix instant jonah
|
|
|
1569
1620
|
[fr]om the Lord.
|
|
1570
1621
|
me[ss]age from the Lord [HD]
|
|
1571
1622
|
|
|
1572
|
-
conclusion: browser doesn't matter, at
|
|
1623
|
+
conclusion: browser doesn't matter, (at least for HD stream at work)
|
|
1573
1624
|
|
|
1574
1625
|
30: like two humps on a camel, you always sway the same way, humor runs in my family, my uncle was a [big] star
|
|
1575
1626
|
IE at work: humor runs very deep in my family[] my uncle was, my uncle was[] a big star, my [uncle] was a big star
|
|
@@ -1579,7 +1630,11 @@ netflix instant jonah
|
|
|
1579
1630
|
chrome: 1.5 seconds as blue light fades in
|
|
1580
1631
|
it's like 10 seconds in...
|
|
1581
1632
|
same with mac
|
|
1633
|
+
47 duck
|
|
1582
1634
|
conclusion: netflix doesn't care about mac versus pc timing-wise
|
|
1635
|
+
59 blu ray how apropo
|
|
1636
|
+
|
|
1637
|
+
conclusion (based on this compared with the blu-ray): netflix instant seems to match pretty close, within 1s to the blu-ray
|
|
1583
1638
|
|
|
1584
1639
|
conclusion: netflix varies pretty widely from instance to instance of playing back (same computer, same movie, same browser).
|
|
1585
1640
|
|
metadata
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: sensible-cinema
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 0.26.
|
|
5
|
+
version: 0.26.2
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Roger Pack
|
|
@@ -10,7 +10,7 @@ autorequire:
|
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
12
|
|
|
13
|
-
date: 2011-09-
|
|
13
|
+
date: 2011-09-08 00:00:00 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: os
|
|
@@ -266,8 +266,6 @@ files:
|
|
|
266
266
|
- lib/keyboard_input.rb
|
|
267
267
|
- lib/media_info_parser.rb
|
|
268
268
|
- lib/mencoder_wrapper.rb
|
|
269
|
-
- lib/mouse.rb
|
|
270
|
-
- lib/mouse_draw.rb
|
|
271
269
|
- lib/mouse_forever.rb
|
|
272
270
|
- lib/mplayer_edl.rb
|
|
273
271
|
- lib/muter.rb
|
|
@@ -298,7 +296,6 @@ files:
|
|
|
298
296
|
- spec/keyboard_input.spec.rb
|
|
299
297
|
- spec/media_info_parser.spec.rb
|
|
300
298
|
- spec/mencoder_wrapper.spec.rb
|
|
301
|
-
- spec/mouse.spec.rb
|
|
302
299
|
- spec/mplayer_edl.spec.rb
|
|
303
300
|
- spec/muter.spec.rb
|
|
304
301
|
- spec/notes
|
|
@@ -307,7 +304,6 @@ files:
|
|
|
307
304
|
- spec/screen_tracker.spec.rb
|
|
308
305
|
- spec/sensible_cinema_gui.spec.rb
|
|
309
306
|
- spec/subtitle_profanity_finder.spec.rb
|
|
310
|
-
- spec/swing_helpers.spec.rb
|
|
311
307
|
- spec/test_yaml.yml
|
|
312
308
|
- spec/tsmuxer.output
|
|
313
309
|
- spec/vlc_programmer.spec.rb
|
data/lib/mouse.rb
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
Copyright 2010, Roger Pack
|
|
3
|
-
This file is part of Sensible Cinema.
|
|
4
|
-
|
|
5
|
-
Sensible Cinema is free software: you can redistribute it and/or modify
|
|
6
|
-
it under the terms of the GNU General Public License as published by
|
|
7
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
8
|
-
(at your option) any later version.
|
|
9
|
-
|
|
10
|
-
Sensible Cinema is distributed in the hope that it will be useful,
|
|
11
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
-
GNU General Public License for more details.
|
|
14
|
-
|
|
15
|
-
You should have received a copy of the GNU General Public License
|
|
16
|
-
along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
=end
|
|
18
|
-
require 'rubygems'
|
|
19
|
-
require 'ffi'
|
|
20
|
-
require 'java'
|
|
21
|
-
|
|
22
|
-
module Mouse
|
|
23
|
-
extend FFI::Library
|
|
24
|
-
MouseInfo = java.awt.MouseInfo
|
|
25
|
-
|
|
26
|
-
ffi_lib 'user32'
|
|
27
|
-
ffi_convention :stdcall
|
|
28
|
-
|
|
29
|
-
MOUSEEVENTF_MOVE = 1
|
|
30
|
-
INPUT_MOUSE = 0
|
|
31
|
-
MOUSEEVENTF_ABSOLUTE = 0x8000
|
|
32
|
-
MOUSEEVENTF_LEFTDOWN = 0x0002
|
|
33
|
-
MOUSEEVENTF_LEFTUP = 0x0004
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class MouseInput < FFI::Struct
|
|
37
|
-
layout :dx, :long,
|
|
38
|
-
:dy, :long,
|
|
39
|
-
:mouse_data, :ulong,
|
|
40
|
-
:flags, :ulong,
|
|
41
|
-
:time, :ulong,
|
|
42
|
-
:extra, :ulong
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
class InputEvent < FFI::Union
|
|
46
|
-
layout :mi, MouseInput
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
class Input < FFI::Struct
|
|
50
|
-
layout :type, :ulong,
|
|
51
|
-
:evt, InputEvent
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# UINT SendInput(UINT nInputs, LPINPUT pInputs, int cbSize);
|
|
55
|
-
attach_function :SendInput, [ :uint, :pointer, :int ], :uint
|
|
56
|
-
|
|
57
|
-
# poller...
|
|
58
|
-
attach_function :GetAsyncKeyState, [:int], :uint
|
|
59
|
-
|
|
60
|
-
class << self
|
|
61
|
-
|
|
62
|
-
def jitter_forever_in_own_thread
|
|
63
|
-
|
|
64
|
-
old_x, old_y = get_mouse_location
|
|
65
|
-
Thread.new {
|
|
66
|
-
loop {
|
|
67
|
-
move_y = 8 # just enough for VLC when full screened...
|
|
68
|
-
cur_x, cur_y = get_mouse_location
|
|
69
|
-
if(cur_x == old_x && cur_y == old_y)
|
|
70
|
-
@total_movements += 1
|
|
71
|
-
# blit it up
|
|
72
|
-
move_mouse_relative(0, move_y)
|
|
73
|
-
move_mouse_relative(0, move_y * -1)
|
|
74
|
-
# let it move it back
|
|
75
|
-
sleep 0.05
|
|
76
|
-
old_x, old_y = get_mouse_location
|
|
77
|
-
sleep 0.75
|
|
78
|
-
else
|
|
79
|
-
# user has been moving the mouse around, so we don't need to, to not annoy them
|
|
80
|
-
old_x, old_y = get_mouse_location
|
|
81
|
-
sleep 3
|
|
82
|
-
end
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
def move_mouse_relative dx, dy
|
|
89
|
-
myinput = Mouse::Input.new
|
|
90
|
-
myinput[:type] = Mouse::INPUT_MOUSE
|
|
91
|
-
in_evt = myinput[:evt][:mi]
|
|
92
|
-
in_evt[:mouse_data] = 0 # null it out
|
|
93
|
-
in_evt[:flags] = Mouse::MOUSEEVENTF_MOVE
|
|
94
|
-
in_evt[:time] = 0
|
|
95
|
-
in_evt[:extra] = 0
|
|
96
|
-
in_evt[:dx] = dx
|
|
97
|
-
in_evt[:dy] = dy
|
|
98
|
-
SendInput(1, myinput, Mouse::Input.size)
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def single_click_left_mouse_button
|
|
102
|
-
left_mouse_down!
|
|
103
|
-
left_mouse_up!
|
|
104
|
-
p "CLICKED LEFT MOUSE BUTTON"
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
def left_mouse_down!
|
|
108
|
-
send_left_mouse_button MOUSEEVENTF_LEFTDOWN
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def left_mouse_up!
|
|
112
|
-
send_left_mouse_button MOUSEEVENTF_LEFTUP
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
VK_LBUTTON = 0x01 # mouse left button for GetAsyncKeyState (seeing if mouse down currently or not)
|
|
116
|
-
|
|
117
|
-
def left_mouse_button_state
|
|
118
|
-
GetAsyncKeyState(VK_LBUTTON) # ignore a first response, which also tells us if it has changed at all since last call
|
|
119
|
-
if GetAsyncKeyState(VK_LBUTTON) == 0 # zero means up
|
|
120
|
-
:up
|
|
121
|
-
else
|
|
122
|
-
:down
|
|
123
|
-
end
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
# [x, y]
|
|
127
|
-
def get_mouse_location
|
|
128
|
-
loc = MouseInfo.getPointerInfo.getLocation
|
|
129
|
-
[loc.x, loc.y]
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
attr_accessor :total_movements
|
|
133
|
-
|
|
134
|
-
private
|
|
135
|
-
|
|
136
|
-
def send_left_mouse_button action_type
|
|
137
|
-
myinput = Mouse::Input.new
|
|
138
|
-
myinput[:type] = Mouse::INPUT_MOUSE
|
|
139
|
-
in_evt = myinput[:evt][:mi]
|
|
140
|
-
in_evt[:flags] = action_type
|
|
141
|
-
SendInput(1, myinput, Mouse::Input.size)
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
end
|
|
148
|
-
Mouse.total_movements=0 # ruby is a bit freaky with these...
|
data/lib/mouse_draw.rb
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require 'mouse'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class MouseDraw
|
|
5
|
-
|
|
6
|
-
def self.go
|
|
7
|
-
|
|
8
|
-
require 'java'
|
|
9
|
-
|
|
10
|
-
java_import 'javax.swing.JFrame'
|
|
11
|
-
java_import 'javax.swing.JButton'
|
|
12
|
-
java_import 'com.sun.awt.AWTUtilities'
|
|
13
|
-
|
|
14
|
-
f = JFrame.new
|
|
15
|
-
f.add JButton.new('capture window')
|
|
16
|
-
f.set_size(200,200)
|
|
17
|
-
|
|
18
|
-
AWTUtilities.set_window_opacity(f, 0.5)
|
|
19
|
-
|
|
20
|
-
# wait till mouse goes down...
|
|
21
|
-
while(Mouse.left_mouse_button_state == :up)
|
|
22
|
-
sleep 0.05
|
|
23
|
-
print 'waiting'
|
|
24
|
-
end
|
|
25
|
-
f.undecorated = true
|
|
26
|
-
f.default_close_operation = JFrame::EXIT_ON_CLOSE
|
|
27
|
-
f.always_on_top = true
|
|
28
|
-
f.visible = true
|
|
29
|
-
f.set_location(Mouse.get_mouse_location)
|
|
30
|
-
while(Mouse.left_mouse_button_state == :down)
|
|
31
|
-
# set_size
|
|
32
|
-
p 'waiting for end'
|
|
33
|
-
p Mouse.get_mouse_location
|
|
34
|
-
end
|
|
35
|
-
f.dispose
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if $0 == __FILE__
|
|
42
|
-
MouseDraw.go
|
|
43
|
-
end
|
data/spec/mouse.spec.rb
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
Copyright 2010, Roger Pack
|
|
3
|
-
This file is part of Sensible Cinema.
|
|
4
|
-
|
|
5
|
-
Sensible Cinema is free software: you can redistribute it and/or modify
|
|
6
|
-
it under the terms of the GNU General Public License as published by
|
|
7
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
8
|
-
(at your option) any later version.
|
|
9
|
-
|
|
10
|
-
Sensible Cinema is distributed in the hope that it will be useful,
|
|
11
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
-
GNU General Public License for more details.
|
|
14
|
-
|
|
15
|
-
You should have received a copy of the GNU General Public License
|
|
16
|
-
along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
=end
|
|
18
|
-
require File.expand_path(File.dirname(__FILE__) + '/common')
|
|
19
|
-
require_relative '../lib/mouse'
|
|
20
|
-
|
|
21
|
-
p 'dont move the mouse!'
|
|
22
|
-
|
|
23
|
-
describe Mouse do
|
|
24
|
-
|
|
25
|
-
it "should move it a couple times" do
|
|
26
|
-
old = Mouse.total_movements
|
|
27
|
-
begin
|
|
28
|
-
Timeout::timeout(2) {
|
|
29
|
-
Mouse::jitter_forever_in_own_thread.join
|
|
30
|
-
}
|
|
31
|
-
rescue Timeout::Error
|
|
32
|
-
end
|
|
33
|
-
Mouse.total_movements.should be > old
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "should not move it if the user does" do
|
|
37
|
-
old = Mouse.total_movements
|
|
38
|
-
begin
|
|
39
|
-
Timeout::timeout(2) {
|
|
40
|
-
Mouse::jitter_forever_in_own_thread
|
|
41
|
-
x = 1
|
|
42
|
-
loop {java.awt.Robot.new.mouse_move(500 + (x+=1),500); sleep 0.1; }
|
|
43
|
-
}
|
|
44
|
-
rescue Timeout::Error
|
|
45
|
-
end
|
|
46
|
-
Mouse.total_movements.should == old + 1
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
it "should be able to left mouse click" do
|
|
50
|
-
Mouse.left_mouse_button_state.should be :up
|
|
51
|
-
Mouse.left_mouse_down!
|
|
52
|
-
Mouse.left_mouse_button_state.should be :down
|
|
53
|
-
Mouse.left_mouse_up!
|
|
54
|
-
Mouse.left_mouse_button_state.should be :up
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
it "should be able to click" do
|
|
58
|
-
Mouse.left_mouse_button_state.should be :up
|
|
59
|
-
Mouse.single_click_left_mouse_button
|
|
60
|
-
Mouse.left_mouse_up!
|
|
61
|
-
Mouse.left_mouse_up!
|
|
62
|
-
Mouse.left_mouse_button_state.should be :up
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
end
|
data/spec/swing_helpers.spec.rb
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
Copyright 2010, Roger Pack
|
|
3
|
-
This file is part of Sensible Cinema.
|
|
4
|
-
|
|
5
|
-
Sensible Cinema is free software: you can redistribute it and/or modify
|
|
6
|
-
it under the terms of the GNU General Public License as published by
|
|
7
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
8
|
-
(at your option) any later version.
|
|
9
|
-
|
|
10
|
-
Sensible Cinema is distributed in the hope that it will be useful,
|
|
11
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
-
GNU General Public License for more details.
|
|
14
|
-
|
|
15
|
-
You should have received a copy of the GNU General Public License
|
|
16
|
-
along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
=end
|
|
18
|
-
require File.expand_path(File.dirname(__FILE__) + '/common')
|
|
19
|
-
require 'os'
|
|
20
|
-
require_relative '../lib/swing_helpers'
|
|
21
|
-
module SensibleSwing
|
|
22
|
-
describe SensibleSwing do
|
|
23
|
-
|
|
24
|
-
it "should close its modeless dialog" do
|
|
25
|
-
|
|
26
|
-
dialog = NonBlockingDialog.new("Is this modeless?")
|
|
27
|
-
dialog = NonBlockingDialog.new("Is this modeless?\nSecond lineLL")
|
|
28
|
-
dialog = NonBlockingDialog.new("Is this modeless?\nSecond lineLL\nThird line too!")
|
|
29
|
-
dialog = NonBlockingDialog.new("Can this take very long lines of input, like super long?")
|
|
30
|
-
#dialog.dispose # should get here :P
|
|
31
|
-
# let user close it :P
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it "should be able to convert filenames well" do
|
|
35
|
-
if OS.windows?
|
|
36
|
-
"a/b/c".to_filename.should == "a\\b\\c"
|
|
37
|
-
else
|
|
38
|
-
"a/b/c".to_filename.should == "a/b/c"
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
puts 'close the windows...'
|