Sha256: 39b822f6fda05c0299f0b42de1a278aa92556b3f447924c9d5daae47baff9790

Contents?: true

Size: 1.48 KB

Versions: 2

Compression:

Stored size: 1.48 KB

Contents

#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/helper'

class ParsingQuirksTest < Test::Unit::TestCase
  include Liquor

  def test_error_with_css
    text = %| div { font-weight: bold; } |
    template = Template.parse(text)
                                                    
    assert_equal text, template.render
    assert_equal [String], template.root.nodelist.collect {|i| i.class}
  end
  
  def test_raise_on_single_close_bracet
    assert_raise(SyntaxError) do
      Template.parse("text {{method} oh nos!")      
    end
  end
  
  def test_raise_on_label_and_no_close_bracets
    assert_raise(SyntaxError) do
      Template.parse("TEST {{ ")
    end
  end    
  
  def test_raise_on_label_and_no_close_bracets_percent
    assert_raise(SyntaxError) do
      Template.parse("TEST {% ")
    end
  end
  
  def test_error_on_empty_filter
    assert_nothing_raised do
      Template.parse("{{test |a|b|}}")      
      Template.parse("{{test}}")      
      Template.parse("{{|test|}}")      
    end
  end
  
  def test_meaningless_parens
    assigns = {'b' => 'bar', 'c' => 'baz'}
    markup = "a == 'foo' or (b == 'bar' and c == 'baz') or false"
    assert_template_result(' YES ',"{% if #{markup} %} YES {% endif %}", assigns)
  end
  
  def test_unexpected_characters_silently_eat_logic
    markup = "true && false"
    assert_template_result(' YES ',"{% if #{markup} %} YES {% endif %}")
    markup = "false || true"
    assert_template_result('',"{% if #{markup} %} YES {% endif %}")
  end
  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
liquor-0.1.1 test/parsing_quirks_test.rb
liquor-0.1.0 test/parsing_quirks_test.rb