137 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
		
		
			
		
	
	
			137 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| 
								 | 
							
								#!/usr/bin/env ruby
							 | 
						||
| 
								 | 
							
								require File.dirname(__FILE__) + '/helper'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class StatementsTest < Test::Unit::TestCase
							 | 
						||
| 
								 | 
							
								  include Liquid
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_true_eql_true
							 | 
						||
| 
								 | 
							
								    text = %| {% if true == true %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_true_not_eql_true
							 | 
						||
| 
								 | 
							
								    text = %| {% if true != true %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  false  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_true_lq_true
							 | 
						||
| 
								 | 
							
								    text = %| {% if 0 > 0 %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  false  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_one_lq_zero
							 | 
						||
| 
								 | 
							
								    text = %| {% if 1 > 0 %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_zero_lq_one
							 | 
						||
| 
								 | 
							
								    text = %| {% if 0 < 1 %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_zero_lq_or_equal_one
							 | 
						||
| 
								 | 
							
								    text = %| {% if 0 <= 0 %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_zero_lq_or_equal_one_involving_nil
							 | 
						||
| 
								 | 
							
								    text = %| {% if null <= 0 %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  false  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    text = %| {% if 0 <= null %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  false  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_zero_lqq_or_equal_one
							 | 
						||
| 
								 | 
							
								    text = %| {% if 0 >= 0 %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_strings
							 | 
						||
| 
								 | 
							
								    text = %| {% if 'test' == 'test' %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_strings_not_equal
							 | 
						||
| 
								 | 
							
								    text = %| {% if 'test' != 'test' %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  false  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  def test_var_strings_equal
							 | 
						||
| 
								 | 
							
								    text = %| {% if var == "hello there!" %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('var' => 'hello there!')
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  def test_var_strings_are_not_equal
							 | 
						||
| 
								 | 
							
								    text = %| {% if "hello there!" == var %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('var' => 'hello there!')
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  def test_var_and_long_string_are_equal
							 | 
						||
| 
								 | 
							
								    text = %| {% if var == 'hello there!' %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('var' => 'hello there!')
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_var_and_long_string_are_equal_backwards
							 | 
						||
| 
								 | 
							
								    text = %| {% if 'hello there!' == var %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('var' => 'hello there!')
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  #def test_is_nil    
							 | 
						||
| 
								 | 
							
								  #  text = %| {% if var != nil %} true {% else %} false {% end %} |
							 | 
						||
| 
								 | 
							
								  #  @template.assigns = { 'var' => 'hello there!'}
							 | 
						||
| 
								 | 
							
								  #  expected = %|  true  |
							 | 
						||
| 
								 | 
							
								  #  assert_equal expected, @template.parse(text)
							 | 
						||
| 
								 | 
							
								  #end
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								  def test_is_collection_empty    
							 | 
						||
| 
								 | 
							
								    text = %| {% if array == empty %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('array' => [])
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_is_not_collection_empty    
							 | 
						||
| 
								 | 
							
								    text = %| {% if array == empty %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  false  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('array' => [1,2,3])
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_nil
							 | 
						||
| 
								 | 
							
								    text = %| {% if var == nil %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('var' => nil)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    text = %| {% if var == null %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('var' => nil)
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_not_nil
							 | 
						||
| 
								 | 
							
								    text = %| {% if var != nil %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('var' => 1 )
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    text = %| {% if var != null %} true {% else %} false {% endif %} |
							 | 
						||
| 
								 | 
							
								    expected = %|  true  |
							 | 
						||
| 
								 | 
							
								    assert_equal expected, Template.parse(text).render('var' => 1 )
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								end
							 |