58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| require File.dirname(__FILE__) + '/helper'
 | |
| 
 | |
| class VariableTest < Test::Unit::TestCase
 | |
|   include Liquid
 | |
| 
 | |
|   def test_blankspace
 | |
|     template = Liquid::Template.parse("  ")
 | |
|     assert_equal ["  "], template.root.nodelist
 | |
|   end
 | |
| 
 | |
|   def test_variable_beginning
 | |
|     template = Liquid::Template.parse("{{funk}}  ")
 | |
|     assert_equal 2, template.root.nodelist.size
 | |
|     assert_equal Variable, template.root.nodelist[0].class
 | |
|     assert_equal String, template.root.nodelist[1].class
 | |
|   end
 | |
| 
 | |
|   def test_variable_end
 | |
|     template = Liquid::Template.parse("  {{funk}}")
 | |
|     assert_equal 2, template.root.nodelist.size
 | |
|     assert_equal String, template.root.nodelist[0].class
 | |
|     assert_equal Variable, template.root.nodelist[1].class
 | |
|   end
 | |
| 
 | |
|   def test_variable_middle
 | |
|     template = Liquid::Template.parse("  {{funk}}  ")
 | |
|     assert_equal 3, template.root.nodelist.size
 | |
|     assert_equal String, template.root.nodelist[0].class
 | |
|     assert_equal Variable, template.root.nodelist[1].class
 | |
|     assert_equal String, template.root.nodelist[2].class
 | |
|   end
 | |
| 
 | |
|   def test_variable_many_embedded_fragments
 | |
|     template = Liquid::Template.parse("  {{funk}} {{so}} {{brother}} ")
 | |
|     assert_equal 7, template.root.nodelist.size
 | |
|     assert_equal [String, Variable, String, Variable, String, Variable, String], block_types(template.root.nodelist)
 | |
|   end
 | |
|   
 | |
|   def test_with_block
 | |
|     template = Liquid::Template.parse("  {% comment %} {% endcomment %} ")
 | |
|     assert_equal [String, Comment, String], block_types(template.root.nodelist)    
 | |
|     assert_equal 3, template.root.nodelist.size
 | |
|   end
 | |
|   
 | |
|   def test_with_custom_tag 
 | |
|     Liquid::Template.register_tag("testtag", Block) 
 | |
|      
 | |
|     assert_nothing_thrown do 
 | |
|       template = Liquid::Template.parse( "{% testtag %} {% endtesttag %}") 
 | |
|     end 
 | |
|   end
 | |
|   
 | |
|   private
 | |
|   
 | |
|   def block_types(nodelist)
 | |
|     nodelist.collect { |node| node.class }
 | |
|   end
 | |
| end |