From 36ef8739d0dffe453d357bd88cbc8965d8a05142 Mon Sep 17 00:00:00 2001 From: nex3 Date: Fri, 22 Jun 2007 19:20:48 +0000 Subject: [PATCH] Removing deprecated "~" behavior. git-svn-id: svn://hamptoncatlin.com/haml/trunk@530 7063305b-7217-0410-af8c-cdc13e5119b9 --- lib/haml/engine.rb | 17 +++---- test/haml/engine_test.rb | 11 ++--- test/haml/results/whitespace_handling.xhtml | 12 +---- test/haml/templates/whitespace_handling.haml | 50 -------------------- 4 files changed, 12 insertions(+), 78 deletions(-) diff --git a/lib/haml/engine.rb b/lib/haml/engine.rb index c3da9b06..af90a3ca 100644 --- a/lib/haml/engine.rb +++ b/lib/haml/engine.rb @@ -522,13 +522,10 @@ END # Causes text to be evaluated, and Haml::Helpers#find_and_flatten # to be run on it afterwards. def push_flat_script(text) - unless text.empty? - push_script(text, true) + if text.empty? + raise SyntaxError.new("Tag has no content.") else - unless @block_opened - raise SyntaxError.new('Filters must have nested text.') - end - start_flat(false) + push_script(text, true) end end @@ -717,8 +714,6 @@ END flattened = (action == '~') - warn(FLAT_WARNING) if flattened && !defined?(Test::Unit) - value_exists = !value.empty? literal_attributes = parse_literal_hash(attributes_hash) attributes_hash = "{nil}" if attributes_hash.nil? || literal_attributes || @options[:suppress_eval] @@ -741,7 +736,7 @@ END elsif atomic && value_exists raise SyntaxError.new("Atomic tags can't have content.") elsif parse && !value_exists - raise SyntaxError.new("No tag content to parse.") + raise SyntaxError.new("Tag has no content.") end if !@block_opened && !value_exists && @options[:autoclose].include?(tag_name) @@ -750,7 +745,7 @@ END do_one_liner = value_exists && !parse && Buffer.one_liner?(value) - if(object_ref == "nil" && attributes_hash == "{nil}" && !flattened && (do_one_liner || !value_exists)) + if object_ref == "nil" && attributes_hash == "{nil}" && !flattened && (do_one_liner || !value_exists) # This means that we can render the tag directly to text and not process it in the buffer open_tag = prerender_tag(tag_name, atomic, attributes) @@ -779,7 +774,7 @@ END end close elsif flattened - start_flat(true) + raise SyntaxError.new("Tag has no content.") end end end diff --git a/test/haml/engine_test.rb b/test/haml/engine_test.rb index 592a8745..03dcad01 100644 --- a/test/haml/engine_test.rb +++ b/test/haml/engine_test.rb @@ -137,12 +137,11 @@ class EngineTest < Test::Unit::TestCase def test_syntax_errors errs = [ "!!!\n a", "a\n b", "a\n:foo\nb", "/ a\n b", - "% a", "%p a\n b", "a\n%p=\nb", "%p=\n a", - "a\n%p~\nb", "a\n~\nb", "%p/\n a", "%p\n \t%a b", - "%a\n b\nc", "%a\n b\nc", - ":notafilter\n This isn't\n a filter!", - ".{} a", "\#{} a", ".= 'foo'", "%a/ b" - ] + "% a", "%p a\n b", "a\n%p=\nb", "%p=\n a", + "a\n%p~\nb", "a\n~\nb", "a\n~\n b", "%p~\n b", "%p/\n a", + "%p\n \t%a b", "%a\n b\nc", "%a\n b\nc", + ":notafilter\n This isn't\n a filter!", + ".{} a", "\#{} a", ".= 'foo'", "%a/ b" ] errs.each do |err| begin render(err) diff --git a/test/haml/results/whitespace_handling.xhtml b/test/haml/results/whitespace_handling.xhtml index a435570e..2c49b4d4 100644 --- a/test/haml/results/whitespace_handling.xhtml +++ b/test/haml/results/whitespace_handling.xhtml @@ -33,21 +33,11 @@ foo bar

-
                                                 ___
                                              ,o88888
                                           ,o8888888'
                     ,:o:o:oooo.        ,8O88Pd8888"
                 ,.::.::o:ooooOoOoO. ,oO8O8Pd888'"
               ,.:.::o:ooOoOoOO8O8OOo.8OOPd8O8O"
              , ..:.::o:ooOoOOOO8OOOOo.FdO8O8"
             , ..:.::o:ooOoOO8O888O8O,COCOO"
            , . ..:.::o:ooOoOOOO8OOOOCOCO"
             . ..:.::o:ooOoOoOO8O8OCCCC"o
                . ..:.::o:ooooOoCoCCC"o:o
                . ..:.::o:o:,cooooCo"oo:o:
             `   . . ..:.:cocoooo"'o:o:::'
             .`   . ..::ccccoc"'o:o:o:::'
            :.:.    ,c:cccc"':.:.:.:.:.'
          ..:.:"'`::::c:"'..:.:.:.:.:.'  http://www.chris.com/ASCII/
        ...:.'.:.::::"'    . . . . .'
       .. . ....:."' `   .  . . ''
     . . . ...."'
     .. . ."'     -hrr-
    .


                                              It's a planet!
%strong This shouldn't be bold!
- This should! -
13
-
-foo

-  bar
-
@@ -101,4 +91,4 @@ foo
 foo

   bar
-
\ No newline at end of file + diff --git a/test/haml/templates/whitespace_handling.haml b/test/haml/templates/whitespace_handling.haml index 0d983213..da4b3f59 100644 --- a/test/haml/templates/whitespace_handling.haml +++ b/test/haml/templates/whitespace_handling.haml @@ -10,60 +10,10 @@ ~ "
foo\nbar
" %p~ "
foo\nbar
" %p~ "foo\nbar" - %pre~ - ___ - ,o88888 - ,o8888888' - ,:o:o:oooo. ,8O88Pd8888" - ,.::.::o:ooooOoOoO. ,oO8O8Pd888'" - ,.:.::o:ooOoOoOO8O8OOo.8OOPd8O8O" - , ..:.::o:ooOoOOOO8OOOOo.FdO8O8" - , ..:.::o:ooOoOO8O888O8O,COCOO" - , . ..:.::o:ooOoOOOO8OOOOCOCO" - . ..:.::o:ooOoOoOO8O8OCCCC"o - . ..:.::o:ooooOoCoCCC"o:o - . ..:.::o:o:,cooooCo"oo:o: - ` . . ..:.:cocoooo"'o:o:::' - .` . ..::ccccoc"'o:o:o:::' - :.:. ,c:cccc"':.:.:.:.:.' - ..:.:"'`::::c:"'..:.:.:.:.:.' http://www.chris.com/ASCII/ - ...:.'.:.::::"' . . . . .' - .. . ....:."' ` . . . '' - . . . ...."' - .. . ."' -hrr- - . - - - It's a planet! - %strong This shouldn't be bold! - %strong This should! - %textarea - ~ - ___ ___ ___ ___ - /\__\ /\ \ /\__\ /\__\ - /:/ / /::\ \ /::| | /:/ / - /:/__/ /:/\:\ \ /:|:| | /:/ / - /::\ \ ___ /::\~\:\ \ /:/|:|__|__ /:/ / - /:/\:\ /\__\ /:/\:\ \:\__\ /:/ |::::\__\ /:/__/ - \/__\:\/:/ / \/__\:\/:/ / \/__/~~/:/ / \:\ \ - \::/ / \::/ / /:/ / \:\ \ - /:/ / /:/ / /:/ / \:\ \ - /:/ / /:/ / /:/ / \:\__\ - \/__/ \/__/ \/__/ \/__/ - - Many - thanks - to - http://www.network-science.de/ascii/ - %strong indeed! .foo ~ 13 ~ ['a', 'b', 'c'].map do |a| - "" -%pre - ~ - foo - bar #whitespace_test = render :file => "_text_area.haml", :locals => { :value => "Oneline" } = render :file => "_text_area.haml", :locals => { :value => "Two\nlines" }