diff --git a/Rakefile b/Rakefile index dbded707..9f4ea0cd 100644 --- a/Rakefile +++ b/Rakefile @@ -6,7 +6,7 @@ task default: :test Rake::TestTask.new do |t| t.libs << 'lib' << 'test' files = Dir['test/*_test.rb'] - files << 'test/haml-spec/hamlit_test.rb' + files << 'test/haml-spec/*_test.rb' t.ruby_opts = %w[-rtest_helper] t.test_files = files t.verbose = true diff --git a/test/haml-spec/haml_spec_test.rb b/test/haml-spec/haml_spec_test.rb new file mode 100644 index 00000000..94da2c0d --- /dev/null +++ b/test/haml-spec/haml_spec_test.rb @@ -0,0 +1,27 @@ +require 'rubygems' +require 'minitest/autorun' +require 'json' +require 'haml' +require 'hamlit' + +class HamlTest < MiniTest::Test + contexts = JSON.parse(File.read(File.dirname(__FILE__) + '/tests.json')) + + contexts.each do |context| + context[1].each do |name, test| + [{ ugly: true }].each do |base_options| + define_method("test_#{base_options[:ugly] ? 'ugly' : 'pretty'}_spec: #{name} (#{context[0]})") do + haml = test['haml'] + locals = Hash[(test['locals'] || {}).map {|x, y| [x.to_sym, y]}] + options = Hash[(test['config'] || {}).map {|x, y| [x.to_sym, y]}] + options[:format] = options[:format].to_sym if options.key?(:format) + options = base_options.merge(options) + haml_result = Haml::Engine.new(haml, options).render(Object.new, locals) + hamlit_result = Hamlit::HamlEngine.new(haml, options).render(Object.new, locals) + + assert_equal haml_result, hamlit_result + end + end + end + end +end diff --git a/test/haml-spec/hamlit_test.rb b/test/haml-spec/hamlit_test.rb deleted file mode 100644 index 5e0e7dc0..00000000 --- a/test/haml-spec/hamlit_test.rb +++ /dev/null @@ -1,23 +0,0 @@ -require "rubygems" -require "minitest/autorun" -require "json" -require "hamlit" - -class HamlTest < MiniTest::Unit::TestCase - contexts = JSON.parse(File.read(File.dirname(__FILE__) + "/tests.json")) - contexts.each do |context| - context[1].each do |name, test| - define_method("test_spec: #{name} (#{context[0]})") do - html = test["html"] - haml = test["haml"] - locals = Hash[(test["locals"] || {}).map {|x, y| [x.to_sym, y]}] - options = Hash[(test["config"] || {}).map {|x, y| [x.to_sym, y]}] - options[:format] = options[:format].to_sym if options.key?(:format) - engine = Hamlit::HamlEngine.new(haml, options) - result = engine.render(Object.new, locals) - - assert_equal html, result.strip - end - end - end -end