-
Notifications
You must be signed in to change notification settings - Fork 316
/
test_script.rb
39 lines (31 loc) · 1.12 KB
/
test_script.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env ruby
#
require "minitest"
require "./xdo_test_helper"
require "tempfile"
class XdotoolScriptTests < MiniTest::Test
include XdoTestHelper
def xdotool_script_ok(commands)
scriptfile = Tempfile.new("xdotool-script-test")
scriptfile.puts(commands.join("\n"))
scriptfile.flush
return xdotool_ok scriptfile.path
end # def xdotool_script
def xdotool_script_fail(commands)
scriptfile = Tempfile.new("xdotool-script-test")
scriptfile.puts(commands.join("\n"))
scriptfile.flush
return xdotool_fail scriptfile.path
end # def xdotool_script
def test_simple
xdotool_script_fail [ "Hello world", "one two three" ]
xdotool_script_ok [ "# comment", "mousemove 0 0" ]
xdotool_script_ok [ "mousemove 0 0", "mousemove 0 0" ]
xdotool_script_ok [ "mousemove 0 0", "", "mousemove 0 0" ]
end # def test_expected_failures
def test_long
# Create a really long chained command that is longer than a single 4096byte read
# xdotool's script_main reads the input 4096 bytes at a time.
xdotool_script_ok [ "mousemove 0 0 " * 1000 ]
end
end # class XdotoolCommandWindowFocusTests