liquid 3.0.6 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.md +98 -58
- data/README.md +31 -0
- data/lib/liquid/block.rb +31 -124
- data/lib/liquid/block_body.rb +75 -59
- data/lib/liquid/condition.rb +23 -22
- data/lib/liquid/context.rb +50 -46
- data/lib/liquid/document.rb +19 -9
- data/lib/liquid/drop.rb +17 -16
- data/lib/liquid/errors.rb +20 -24
- data/lib/liquid/expression.rb +15 -3
- data/lib/liquid/extensions.rb +13 -7
- data/lib/liquid/file_system.rb +11 -11
- data/lib/liquid/forloop_drop.rb +42 -0
- data/lib/liquid/i18n.rb +5 -5
- data/lib/liquid/interrupts.rb +1 -2
- data/lib/liquid/lexer.rb +6 -4
- data/lib/liquid/locales/en.yml +5 -1
- data/lib/liquid/parse_context.rb +37 -0
- data/lib/liquid/parser_switching.rb +4 -4
- data/lib/liquid/profiler/hooks.rb +7 -7
- data/lib/liquid/profiler.rb +18 -19
- data/lib/liquid/range_lookup.rb +16 -1
- data/lib/liquid/resource_limits.rb +23 -0
- data/lib/liquid/standardfilters.rb +121 -61
- data/lib/liquid/strainer.rb +14 -7
- data/lib/liquid/tablerowloop_drop.rb +62 -0
- data/lib/liquid/tag.rb +9 -8
- data/lib/liquid/tags/assign.rb +17 -4
- data/lib/liquid/tags/break.rb +0 -3
- data/lib/liquid/tags/capture.rb +1 -1
- data/lib/liquid/tags/case.rb +19 -12
- data/lib/liquid/tags/comment.rb +2 -2
- data/lib/liquid/tags/cycle.rb +6 -6
- data/lib/liquid/tags/decrement.rb +1 -4
- data/lib/liquid/tags/for.rb +95 -75
- data/lib/liquid/tags/if.rb +49 -44
- data/lib/liquid/tags/ifchanged.rb +0 -2
- data/lib/liquid/tags/include.rb +61 -52
- data/lib/liquid/tags/raw.rb +32 -4
- data/lib/liquid/tags/table_row.rb +12 -30
- data/lib/liquid/tags/unless.rb +3 -4
- data/lib/liquid/template.rb +42 -54
- data/lib/liquid/tokenizer.rb +31 -0
- data/lib/liquid/utils.rb +52 -8
- data/lib/liquid/variable.rb +46 -45
- data/lib/liquid/variable_lookup.rb +7 -5
- data/lib/liquid/version.rb +1 -1
- data/lib/liquid.rb +9 -7
- data/test/integration/assign_test.rb +8 -8
- data/test/integration/blank_test.rb +14 -14
- data/test/integration/context_test.rb +2 -2
- data/test/integration/document_test.rb +19 -0
- data/test/integration/drop_test.rb +42 -40
- data/test/integration/error_handling_test.rb +99 -46
- data/test/integration/filter_test.rb +60 -20
- data/test/integration/hash_ordering_test.rb +9 -9
- data/test/integration/output_test.rb +26 -27
- data/test/integration/parsing_quirks_test.rb +15 -13
- data/test/integration/render_profiling_test.rb +20 -20
- data/test/integration/security_test.rb +9 -7
- data/test/integration/standard_filter_test.rb +179 -40
- data/test/integration/tags/break_tag_test.rb +1 -2
- data/test/integration/tags/continue_tag_test.rb +0 -1
- data/test/integration/tags/for_tag_test.rb +133 -98
- data/test/integration/tags/if_else_tag_test.rb +75 -77
- data/test/integration/tags/include_tag_test.rb +34 -30
- data/test/integration/tags/increment_tag_test.rb +10 -11
- data/test/integration/tags/raw_tag_test.rb +7 -1
- data/test/integration/tags/standard_tag_test.rb +121 -122
- data/test/integration/tags/statements_test.rb +3 -5
- data/test/integration/tags/table_row_test.rb +20 -19
- data/test/integration/tags/unless_else_tag_test.rb +6 -6
- data/test/integration/template_test.rb +190 -49
- data/test/integration/trim_mode_test.rb +525 -0
- data/test/integration/variable_test.rb +23 -13
- data/test/test_helper.rb +33 -5
- data/test/unit/block_unit_test.rb +8 -5
- data/test/unit/condition_unit_test.rb +86 -77
- data/test/unit/context_unit_test.rb +48 -57
- data/test/unit/file_system_unit_test.rb +3 -3
- data/test/unit/i18n_unit_test.rb +2 -2
- data/test/unit/lexer_unit_test.rb +11 -8
- data/test/unit/parser_unit_test.rb +2 -2
- data/test/unit/regexp_unit_test.rb +1 -1
- data/test/unit/strainer_unit_test.rb +80 -1
- data/test/unit/tag_unit_test.rb +7 -2
- data/test/unit/tags/case_tag_unit_test.rb +1 -1
- data/test/unit/tags/for_tag_unit_test.rb +2 -2
- data/test/unit/tags/if_tag_unit_test.rb +1 -1
- data/test/unit/template_unit_test.rb +14 -5
- data/test/unit/tokenizer_unit_test.rb +24 -7
- data/test/unit/variable_unit_test.rb +60 -43
- metadata +19 -14
- data/lib/liquid/module_ex.rb +0 -62
- data/lib/liquid/token.rb +0 -18
- data/test/unit/module_ex_unit_test.rb +0 -87
- /data/{MIT-LICENSE → LICENSE} +0 -0
@@ -1,87 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class TestClassA
|
4
|
-
liquid_methods :allowedA, :chainedB
|
5
|
-
def allowedA
|
6
|
-
'allowedA'
|
7
|
-
end
|
8
|
-
def restrictedA
|
9
|
-
'restrictedA'
|
10
|
-
end
|
11
|
-
def chainedB
|
12
|
-
TestClassB.new
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
class TestClassB
|
17
|
-
liquid_methods :allowedB, :chainedC
|
18
|
-
def allowedB
|
19
|
-
'allowedB'
|
20
|
-
end
|
21
|
-
def chainedC
|
22
|
-
TestClassC.new
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
class TestClassC
|
27
|
-
liquid_methods :allowedC
|
28
|
-
def allowedC
|
29
|
-
'allowedC'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
class TestClassC::LiquidDropClass
|
34
|
-
def another_allowedC
|
35
|
-
'another_allowedC'
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
class ModuleExUnitTest < Minitest::Test
|
40
|
-
include Liquid
|
41
|
-
|
42
|
-
def setup
|
43
|
-
@a = TestClassA.new
|
44
|
-
@b = TestClassB.new
|
45
|
-
@c = TestClassC.new
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_should_create_LiquidDropClass
|
49
|
-
assert TestClassA::LiquidDropClass
|
50
|
-
assert TestClassB::LiquidDropClass
|
51
|
-
assert TestClassC::LiquidDropClass
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_should_respond_to_liquid
|
55
|
-
assert @a.respond_to?(:to_liquid)
|
56
|
-
assert @b.respond_to?(:to_liquid)
|
57
|
-
assert @c.respond_to?(:to_liquid)
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_should_return_LiquidDropClass_object
|
61
|
-
assert @a.to_liquid.is_a?(TestClassA::LiquidDropClass)
|
62
|
-
assert @b.to_liquid.is_a?(TestClassB::LiquidDropClass)
|
63
|
-
assert @c.to_liquid.is_a?(TestClassC::LiquidDropClass)
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_should_respond_to_liquid_methods
|
67
|
-
assert @a.to_liquid.respond_to?(:allowedA)
|
68
|
-
assert @a.to_liquid.respond_to?(:chainedB)
|
69
|
-
assert @b.to_liquid.respond_to?(:allowedB)
|
70
|
-
assert @b.to_liquid.respond_to?(:chainedC)
|
71
|
-
assert @c.to_liquid.respond_to?(:allowedC)
|
72
|
-
assert @c.to_liquid.respond_to?(:another_allowedC)
|
73
|
-
end
|
74
|
-
|
75
|
-
def test_should_not_respond_to_restricted_methods
|
76
|
-
assert ! @a.to_liquid.respond_to?(:restricted)
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_should_use_regular_objects_as_drops
|
80
|
-
assert_template_result 'allowedA', "{{ a.allowedA }}", 'a'=>@a
|
81
|
-
assert_template_result 'allowedB', "{{ a.chainedB.allowedB }}", 'a'=>@a
|
82
|
-
assert_template_result 'allowedC', "{{ a.chainedB.chainedC.allowedC }}", 'a'=>@a
|
83
|
-
assert_template_result 'another_allowedC', "{{ a.chainedB.chainedC.another_allowedC }}", 'a'=>@a
|
84
|
-
assert_template_result '', "{{ a.restricted }}", 'a'=>@a
|
85
|
-
assert_template_result '', "{{ a.unknown }}", 'a'=>@a
|
86
|
-
end
|
87
|
-
end # ModuleExTest
|
/data/{MIT-LICENSE → LICENSE}
RENAMED
File without changes
|