5
require File.join(File.dirname(__FILE__), '../clipboard')
7
class ClipboardTest < Test::Unit::TestCase
10
#Write something to the clipboard first
11
IO.popen("#{XDo::XSEL} -i", "w"){|io| io.write("Some primary test text")}
12
IO.popen("#{XDo::XSEL} -b -i", "w"){|io| io.write("Some clipboard \ntest text")}
13
IO.popen("#{XDo::XSEL} -s -i", "w"){|io| io.write("Some secondary test text")}
15
clip = XDo::Clipboard.read
16
assert_equal("Some primary test text", XDo::Clipboard.read_primary)
17
assert_equal(XDo::Clipboard.read_primary, clip[:primary])
18
assert_equal("Some clipboard \ntest text", XDo::Clipboard.read_clipboard)
19
assert_equal(XDo::Clipboard.read_clipboard, clip[:clipboard])
20
assert_equal("Some secondary test text", XDo::Clipboard.read_secondary)
21
assert_equal(XDo::Clipboard.read_secondary, clip[:secondary])
25
XDo::Clipboard.write_primary "Primary!"
26
XDo::Clipboard.write_clipboard "Clipboard!\nNewline"
27
XDo::Clipboard.write_secondary "Secondary!"
29
assert_equal("Primary!", `#{XDo::XSEL}`)
30
assert_equal("Secondary!", `#{XDo::XSEL} -s`)
31
assert_equal("Clipboard!\nNewline", `#{XDo::XSEL} -b`)
33
XDo::Clipboard.write("XYZ", :primary, :secondary, :clipboard)
34
assert_equal({ :primary => "XYZ", :secondary => "XYZ", :clipboard => "XYZ"}, XDo::Clipboard.read)
38
["primary", "secondary", "clipboard"].each{|m| XDo::Clipboard.send(:"write_#{m}", "This is... ")}
39
XDo::Clipboard.append("a Test!", :primary, :secondary, :clipboard)
40
["primary", "secondary", "clipboard"].each{|m| assert_equal(XDo::Clipboard.send(:"read_#{m}"), "This is... a Test!")}
44
XDo::Clipboard.write("ABC", :primary, :secondary, :clipboard)
45
["primary", "secondary", "clipboard"].each{|m| XDo::Clipboard.send("clear_#{m}")}
46
["primary", "secondary", "clipboard"].each{|m| assert_equal("", XDo::Clipboard.send("read_#{m}"))}