12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- ###
- ### $Release: 2.7.0 $
- ### copyright(c) 2006-2011 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 = $'
- if ruby19?
- case @name
- when 'test_main_program1_result'
- expected.sub!('["eruby", "items", "x", "_buf"]', '[:_buf, :eruby, :items, :x]')
- when 'test_main_program2_result'
- expected.sub!('["_context", "x", "_buf"]', '[:_buf, :x, :_context]')
- end
- elsif rubinius?
- command.sub!(/^ruby\b/, 'rbx')
- case @name
- when 'test_main_program1_result'
- expected.sub!('["eruby", "items", "x", "_buf"]', '["_buf", "eruby", "items", "x"]')
- when 'test_main_program2_result'
- expected.sub!('["_context", "x", "_buf"]', '["_buf", "x", "_context"]')
- end
- end
- 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
|