mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-12 23:40:45 -07:00
Liquid has UTF8 support.
This commit is contained in:
@@ -12,7 +12,13 @@ class AssignTest < Test::Unit::TestCase
|
||||
'{% assign foo = values %}.{{ foo[1] }}.',
|
||||
'values' => %w{foo bar baz})
|
||||
end
|
||||
|
||||
|
||||
def test_assigned_utf8_variable
|
||||
assert_template_result('.bar.',
|
||||
"{% assign foo\u6000 = values %}.{{ foo\u6000[1] }}.",
|
||||
'values' => %w{foo bar baz})
|
||||
end
|
||||
|
||||
def test_assign_with_filter
|
||||
assert_template_result('.bar.',
|
||||
'{% assign foo = values | split: "," %}.{{ foo[1] }}.',
|
||||
|
||||
@@ -51,6 +51,14 @@ class BlockTest < Test::Unit::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
def test_with_custom_utf8_tag
|
||||
Liquid::Template.register_tag("testtag\u6000", Block)
|
||||
|
||||
assert_nothing_thrown do
|
||||
template = Liquid::Template.parse( "{% testtag\u6000 something\u6000 %} {% endtesttag\u6000 %}")
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def block_types(nodelist)
|
||||
nodelist.collect { |node| node.class }
|
||||
|
||||
@@ -7,6 +7,10 @@ class CaptureTest < Test::Unit::TestCase
|
||||
assert_template_result("test string", "{% capture 'var' %}test string{% endcapture %}{{var}}", {})
|
||||
end
|
||||
|
||||
def test_captures_block_content_in_utf8_variable
|
||||
assert_template_result("test string", "{% capture var\u6000 %}test string{% endcapture %}{{var\u6000}}", {})
|
||||
end
|
||||
|
||||
def test_capture_to_variable_from_outer_scope_if_existing
|
||||
template_source = <<-END_TEMPLATE
|
||||
{% assign var = '' %}
|
||||
|
||||
@@ -98,6 +98,11 @@ class ContextTest < Test::Unit::TestCase
|
||||
assert_equal nil, @context['nil']
|
||||
end
|
||||
|
||||
def test_utf8_variables
|
||||
@context["chinese\u6000variable"] = 'chinese'
|
||||
assert_equal 'chinese', @context["chinese\u6000variable"]
|
||||
end
|
||||
|
||||
def test_variables_not_existing
|
||||
assert_equal nil, @context['does_not_exist']
|
||||
end
|
||||
|
||||
@@ -25,6 +25,11 @@ HERE
|
||||
assert_template_result(expected,template,'array' => [1,2,3])
|
||||
end
|
||||
|
||||
def test_utf8_for
|
||||
assigns = {"array\u6000chinese" => [1,2,3]}
|
||||
assert_template_result('123', "{% for item\u6000chinese in array\u6000chinese %}{{ item\u6000chinese }}{% endfor %}", assigns)
|
||||
end
|
||||
|
||||
def test_for_reversed
|
||||
assigns = {'array' => [ 1, 2, 3] }
|
||||
assert_template_result('321','{%for item in array reversed %}{{item}}{%endfor%}',assigns)
|
||||
|
||||
@@ -26,6 +26,12 @@ class HtmlTagTest < Test::Unit::TestCase
|
||||
'numbers' => [])
|
||||
end
|
||||
|
||||
def test_utf8_html_table
|
||||
assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td></tr>\n",
|
||||
"{% tablerow n\u6000 in numbers\u6000 %} {{n\u6000}} {% endtablerow %}",
|
||||
"numbers\u6000" => [1])
|
||||
end
|
||||
|
||||
def test_html_table_with_different_cols
|
||||
assert_template_result("<tr class=\"row1\">\n<td class=\"col1\"> 1 </td><td class=\"col2\"> 2 </td><td class=\"col3\"> 3 </td><td class=\"col4\"> 4 </td><td class=\"col5\"> 5 </td></tr>\n<tr class=\"row2\"><td class=\"col1\"> 6 </td></tr>\n",
|
||||
'{% tablerow n in numbers cols:5%} {{n}} {% endtablerow %}',
|
||||
|
||||
@@ -50,6 +50,12 @@ class VariableTest < Test::Unit::TestCase
|
||||
assert_equal [[:things,["\"%Y, okay?\"","'the other one'"]]], var.filters
|
||||
end
|
||||
|
||||
def test_utf8_filters
|
||||
var = Variable.new("foo | chinese\u6000filter: value\u6000")
|
||||
assert_equal 'foo', var.name
|
||||
assert_equal [["chinese\u6000filter".to_sym,["value\u6000"]]], var.filters
|
||||
end
|
||||
|
||||
def test_filter_with_date_parameter
|
||||
|
||||
var = Variable.new(%! '2006-06-06' | date: "%m/%d/%Y"!)
|
||||
|
||||
Reference in New Issue
Block a user