58 lines
1 KiB
Ruby
58 lines
1 KiB
Ruby
|
###
|
||
|
### $Release: 2.6.5 $
|
||
|
### copyright(c) 2006-2009 kuwata-lab.com all rights reserved.
|
||
|
###
|
||
|
|
||
|
require "#{File.dirname(__FILE__)}/test.rb"
|
||
|
|
||
|
|
||
|
class KwarkUsersGuideTest < Test::Unit::TestCase
|
||
|
|
||
|
DIR = File.expand_path(File.dirname(__FILE__) + '/data/users-guide')
|
||
|
CWD = Dir.pwd()
|
||
|
|
||
|
|
||
|
def setup
|
||
|
Dir.chdir DIR
|
||
|
end
|
||
|
|
||
|
|
||
|
def teardown
|
||
|
Dir.chdir CWD
|
||
|
end
|
||
|
|
||
|
|
||
|
def _test
|
||
|
@name = (caller()[0] =~ /`(.*?)'/) && $1
|
||
|
s = File.read(@filename)
|
||
|
s =~ /\A\$ (.*?)\n/
|
||
|
command = $1
|
||
|
expected = $'
|
||
|
result = `#{command}`
|
||
|
assert_text_equal(expected, result)
|
||
|
end
|
||
|
|
||
|
|
||
|
Dir.chdir DIR do
|
||
|
filenames = []
|
||
|
filenames += Dir.glob('*.result')
|
||
|
filenames += Dir.glob('*.source')
|
||
|
filenames.each do |filename|
|
||
|
name = filename.gsub(/[^\w]/, '_')
|
||
|
s = <<-END
|
||
|
def test_#{name}
|
||
|
# $stderr.puts "*** debug: test_#{name}"
|
||
|
@name = '#{name}'
|
||
|
@filename = '#{filename}'
|
||
|
_test()
|
||
|
end
|
||
|
END
|
||
|
eval s
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
self.post_definition()
|
||
|
|
||
|
end
|