mirror of
https://github.com/Shopify/liquid.git
synced 2025-11-27 00:00:34 -05:00
48 lines
1.2 KiB
Ruby
48 lines
1.2 KiB
Ruby
#!/usr/bin/env ruby
|
|
|
|
require 'test/unit'
|
|
require 'test/unit/assertions'
|
|
begin
|
|
require 'ruby-debug'
|
|
rescue LoadError
|
|
puts "Couldn't load ruby-debug. gem install ruby-debug if you need it."
|
|
end
|
|
require File.join(File.dirname(__FILE__), '..', 'lib', 'liquid')
|
|
|
|
mode = :strict
|
|
if ARGV.last == 'lax'
|
|
puts "-- LAX ERROR MODE"
|
|
ARGV.pop
|
|
ARGV.compact! # because things break on Rubinius otherwise
|
|
mode = :lax
|
|
else
|
|
puts "-- STRICT ERROR MODE"
|
|
end
|
|
Liquid::Template.error_mode = mode
|
|
|
|
|
|
module Test
|
|
module Unit
|
|
module Assertions
|
|
include Liquid
|
|
|
|
def assert_template_result(expected, template, assigns = {}, message = nil)
|
|
assert_equal expected, Template.parse(template).render(assigns)
|
|
end
|
|
|
|
def assert_template_result_matches(expected, template, assigns = {}, message = nil)
|
|
return assert_template_result(expected, template, assigns, message) unless expected.is_a? Regexp
|
|
|
|
assert_match expected, Template.parse(template).render(assigns)
|
|
end
|
|
|
|
def with_error_mode(mode)
|
|
old_mode = Liquid::Template.error_mode
|
|
Liquid::Template.error_mode = mode
|
|
yield
|
|
Liquid::Template.error_mode = old_mode
|
|
end
|
|
end # Assertions
|
|
end # Unit
|
|
end # Test
|