mustache 0.99.1 → 0.99.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -139,6 +139,8 @@ EOF
139
139
  error "Illegal content in tag" if content.empty?
140
140
 
141
141
  fetch = [:mustache, :fetch, content.split('.')]
142
+ prev = @result
143
+ last_index = @result.size
142
144
 
143
145
  # Based on the sigil, do what needs to be done.
144
146
  case type
@@ -147,13 +149,11 @@ EOF
147
149
  @result << [:mustache, :section, fetch, block]
148
150
  @sections << [content, position, @result]
149
151
  @result = block
150
- last_index = 1
151
152
  when '^'
152
153
  block = [:multi]
153
154
  @result << [:mustache, :inverted_section, fetch, block]
154
155
  @sections << [content, position, @result]
155
156
  @result = block
156
- last_index = 1
157
157
  when '/'
158
158
  section, pos, result = @sections.pop
159
159
  raw = @scanner.pre_match[pos[3]...pre_match_position] + padding
@@ -193,10 +193,10 @@ EOF
193
193
  # the remaining whitespace. If not, but we've been hanging on to padding
194
194
  # from the beginning of the line, re-insert the padding as static text.
195
195
  if start_of_line
196
- if @scanner.peek(1) == "\n" && SKIP_WHITESPACE.include?(type)
197
- @scanner.skip(/[ \t]*\n/)
196
+ if @scanner.peek(2) =~ /\r?\n/ && SKIP_WHITESPACE.include?(type)
197
+ @scanner.skip(/\r?\n/)
198
198
  else
199
- @result.insert(last_index, [:static, padding]) unless padding.empty?
199
+ prev.insert(last_index, [:static, padding]) unless padding.empty?
200
200
  end
201
201
  end
202
202
 
@@ -1,3 +1,3 @@
1
1
  class Mustache
2
- Version = VERSION = '0.99.1'
2
+ Version = VERSION = '0.99.2'
3
3
  end
@@ -74,6 +74,20 @@ end_complex
74
74
  assert_equal "\n full time\n", instance.render
75
75
  end
76
76
 
77
+ def test_sassier_single_line_sections
78
+ instance = Mustache.new
79
+ instance.template = "\t{{#list}}\r\n\t{{/list}}"
80
+
81
+ assert_equal "", instance.render
82
+ end
83
+
84
+ def test_padding_before_section
85
+ instance = Mustache.new
86
+ instance.template = "\t{{#list}}a{{/list}}"
87
+
88
+ assert_equal "\taa", instance.render(:list => [1, 2])
89
+ end
90
+
77
91
  def test_two_line_sections
78
92
  html = %(<p class="flash-notice" {{# no_flash }}style="display: none;"\n{{/ no_flash }}>)
79
93
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mustache
3
3
  version: !ruby/object:Gem::Version
4
- hash: 401
4
+ hash: 407
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 99
9
- - 1
10
- version: 0.99.1
9
+ - 2
10
+ version: 0.99.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Chris Wanstrath
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-03-01 00:00:00 -08:00
20
+ date: 2011-03-06 00:00:00 -08:00
21
21
  default_executable:
22
22
  dependencies: []
23
23