mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	expression. [ruby-dev:27868] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			737 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			737 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
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
 |