diff options
Diffstat (limited to 'trunk/test/test_shellwords.rb')
-rw-r--r-- | trunk/test/test_shellwords.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/trunk/test/test_shellwords.rb b/trunk/test/test_shellwords.rb new file mode 100644 index 0000000000..ddb2d870b0 --- /dev/null +++ b/trunk/test/test_shellwords.rb @@ -0,0 +1,39 @@ +require 'test/unit' +require 'shellwords' + +class TestShellwords < Test::Unit::TestCase + + include Shellwords + + def setup + @not_string = Class.new + @cmd = "ruby my_prog.rb | less" + end + + + def test_string + assert_instance_of(Array, shellwords(@cmd)) + assert_equal(4, shellwords(@cmd).length) + end + + def test_unmatched_double_quote + bad_cmd = 'one two "three' + assert_raises ArgumentError do + shellwords(bad_cmd) + end + end + + def test_unmatched_single_quote + bad_cmd = "one two 'three" + assert_raises ArgumentError do + shellwords(bad_cmd) + end + end + + def test_unmatched_quotes + bad_cmd = "one '"'"''""'"" + assert_raises ArgumentError do + shellwords(bad_cmd) + end + end +end |