diff options
-rw-r--r-- | lib/shell/system-command.rb | 2 | ||||
-rw-r--r-- | test/shell/test_command_processor.rb | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/shell/system-command.rb b/lib/shell/system-command.rb index 81456e7db3..af22ed90d7 100644 --- a/lib/shell/system-command.rb +++ b/lib/shell/system-command.rb @@ -16,7 +16,7 @@ class Shell class SystemCommand < Filter def initialize(sh, command, *opts) if t = opts.find{|opt| !opt.kind_of?(String) && opt.class} - Shell.Fail Error::TypeError, t.class, "String" + Shell.Fail TypeError, t.class, "String" end super(sh) @command = command diff --git a/test/shell/test_command_processor.rb b/test/shell/test_command_processor.rb index 99fe1b222a..9abc75d5e6 100644 --- a/test/shell/test_command_processor.rb +++ b/test/shell/test_command_processor.rb @@ -66,4 +66,17 @@ class TestShell::CommandProcessor < Test::Unit::TestCase Process.waitall Dir.rmdir(path) end + + def test_option_type + name = 'foo' + path = File.join(@tmpdir, name) + + open(path, 'w', 0755) {} + assert_raise(TypeError) { + catch(catch_command_start) {@shell.system(name, 42)} + } + ensure + Process.waitall + File.unlink(path) + end end |