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
							 |