haml-edge 3.1.50 → 3.1.51
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.
- data/EDGE_GEM_VERSION +1 -1
- data/VERSION +1 -1
- data/lib/haml/exec.rb +1 -4
- data/lib/sass/engine.rb +28 -15
- data/test/haml/helper_test.rb +2 -2
- data/test/haml/results/helpers.xhtml +0 -23
- data/test/haml/template_test.rb +2 -2
- data/test/haml/templates/helpers.haml +0 -66
- data/test/sass/engine_test.rb +14 -0
- data/test/test_helper.rb +10 -0
- metadata +2 -3
- data/test/sass/templates/basic.sass +0 -23
data/EDGE_GEM_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.1.
|
1
|
+
3.1.51
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.1.
|
1
|
+
3.1.51
|
data/lib/haml/exec.rb
CHANGED
@@ -388,9 +388,6 @@ END
|
|
388
388
|
::Sass::Plugin.options.merge! @options[:for_engine]
|
389
389
|
::Sass::Plugin.options[:unix_newlines] = @options[:unix_newlines]
|
390
390
|
|
391
|
-
p [colon_path?(@args[0]), split_colon_path(@args[0])]
|
392
|
-
exit
|
393
|
-
|
394
391
|
if @args[1] && !colon_path?(@args[0])
|
395
392
|
flag = @options[:update] ? "--update" : "--watch"
|
396
393
|
err =
|
@@ -446,7 +443,7 @@ MSG
|
|
446
443
|
|
447
444
|
def split_colon_path(path)
|
448
445
|
one, two = path.split(':', 2)
|
449
|
-
if one && two &&
|
446
|
+
if one && two && ::Haml::Util.windows? &&
|
450
447
|
one =~ /\A[A-Za-z]\Z/ && two =~ /\A[\/\\]/
|
451
448
|
# If we're on Windows and we were passed a drive letter path,
|
452
449
|
# don't split on that colon.
|
data/lib/sass/engine.rb
CHANGED
@@ -592,25 +592,38 @@ WARNING
|
|
592
592
|
raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath import directives.",
|
593
593
|
:line => @line + 1) unless line.children.empty?
|
594
594
|
|
595
|
-
|
596
|
-
|
597
|
-
match.post_match.strip[0] != ?,
|
598
|
-
# @import "filename" media-type
|
599
|
-
return Tree::DirectiveNode.new("@import #{value}")
|
600
|
-
end
|
595
|
+
scanner = StringScanner.new(value)
|
596
|
+
values = []
|
601
597
|
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
elsif f =~ Sass::SCSS::RX::STRING
|
607
|
-
f = $1 || $2
|
598
|
+
loop do
|
599
|
+
unless node = parse_import_arg(scanner)
|
600
|
+
raise SyntaxError.new("Invalid @import: expected file to import, was #{scanner.rest.inspect}",
|
601
|
+
:line => @line)
|
608
602
|
end
|
603
|
+
values << node
|
604
|
+
break unless scanner.scan(/,\s*/)
|
605
|
+
end
|
606
|
+
|
607
|
+
return values
|
608
|
+
end
|
609
609
|
|
610
|
-
|
611
|
-
|
610
|
+
def parse_import_arg(scanner)
|
611
|
+
return if scanner.eos?
|
612
|
+
unless (str = scanner.scan(Sass::SCSS::RX::STRING)) ||
|
613
|
+
(uri = scanner.scan(Sass::SCSS::RX::URI))
|
614
|
+
return Tree::ImportNode.new(scanner.scan(/[^,]+/))
|
615
|
+
end
|
612
616
|
|
613
|
-
|
617
|
+
val = scanner[1] || scanner[2]
|
618
|
+
scanner.scan(/\s*/)
|
619
|
+
if media = scanner.scan(/[^,].*/)
|
620
|
+
Tree::DirectiveNode.new("@import #{str || uri} #{media}")
|
621
|
+
elsif uri
|
622
|
+
Tree::DirectiveNode.new("@import #{uri}")
|
623
|
+
elsif val =~ /^http:\/\//
|
624
|
+
Tree::DirectiveNode.new("@import url(#{val})")
|
625
|
+
else
|
626
|
+
Tree::ImportNode.new(val)
|
614
627
|
end
|
615
628
|
end
|
616
629
|
|
data/test/haml/helper_test.rb
CHANGED
@@ -118,7 +118,7 @@ HAML
|
|
118
118
|
# This is usually provided by ActionController::Base.
|
119
119
|
def @base.protect_against_forgery?; false; end
|
120
120
|
assert_equal(<<HTML, render(<<HAML, :action_view))
|
121
|
-
<form action="foo" method="post"
|
121
|
+
<form #{rails_form_attr}action="foo" method="post">#{rails_form_opener}
|
122
122
|
<p>bar</p>
|
123
123
|
<strong>baz</strong>
|
124
124
|
</form>
|
@@ -167,7 +167,7 @@ HAML
|
|
167
167
|
def @base.protect_against_forgery?; false; end
|
168
168
|
error_class = Haml::Util.ap_geq_3? ? "field_with_errors" : "fieldWithErrors"
|
169
169
|
assert_equal(<<HTML, render(<<HAML, :action_view))
|
170
|
-
<form action="" method="post"
|
170
|
+
<form #{rails_form_attr}action="" method="post">#{rails_form_opener}
|
171
171
|
<div class="#{error_class}"><label for="post_error_field">Error field</label></div>
|
172
172
|
</form>
|
173
173
|
HTML
|
@@ -45,29 +45,6 @@ click
|
|
45
45
|
<p>baz</p>
|
46
46
|
<p>boom</p>
|
47
47
|
foo
|
48
|
-
<p>
|
49
|
-
<form action="" method="post">
|
50
|
-
</p>
|
51
|
-
<div>
|
52
|
-
<form action="" method="post">
|
53
|
-
<div><input name="commit" type="submit" value="save" /></div>
|
54
|
-
<p>
|
55
|
-
@foo =
|
56
|
-
value one
|
57
|
-
</p>
|
58
|
-
Toplevel? false
|
59
|
-
<p>
|
60
|
-
@foo =
|
61
|
-
value three
|
62
|
-
</p>
|
63
|
-
</form>
|
64
|
-
<form action="" method="post">
|
65
|
-
Title:
|
66
|
-
<input id="article_title" name="article[title]" size="30" type="text" value="Hello" />
|
67
|
-
Body:
|
68
|
-
<input id="article_body" name="article[body]" size="30" type="text" value="World" />
|
69
|
-
</form>
|
70
|
-
</div>
|
71
48
|
<li><a href='http://www.google.com'>google</a></li>
|
72
49
|
<p>
|
73
50
|
foo
|
data/test/haml/template_test.rb
CHANGED
@@ -280,7 +280,7 @@ END
|
|
280
280
|
def test_av_block_deprecation_warning
|
281
281
|
assert_warning(/^DEPRECATION WARNING: - style block helpers are deprecated\. Please use =\./) do
|
282
282
|
assert_equal <<HTML, render(<<HAML, :action_view)
|
283
|
-
<form action="" method="post"
|
283
|
+
<form #{rails_form_attr}action="" method="post">#{rails_form_opener}
|
284
284
|
Title:
|
285
285
|
<input id="article_title" name="article[title]" size="30" type="text" value="Hello" />
|
286
286
|
Body:
|
@@ -379,7 +379,7 @@ HAML
|
|
379
379
|
|
380
380
|
def test_xss_protection_with_form_for
|
381
381
|
assert_equal(<<HTML, render(<<HAML, :action_view))
|
382
|
-
<form action="" method="post"
|
382
|
+
<form #{rails_form_attr}action="" method="post">#{rails_form_opener}
|
383
383
|
Title:
|
384
384
|
<input id="article_title" name="article[title]" size="30" type="text" value="Hello" />
|
385
385
|
Body:
|
@@ -35,72 +35,6 @@ click
|
|
35
35
|
%p boom
|
36
36
|
- concat "foo\n"
|
37
37
|
- haml_buffer.tabulation = 0
|
38
|
-
-#
|
39
|
-
-# ActionPack pre-2.0 has weird url_for issues here.
|
40
|
-
- if ActionPack::VERSION::MAJOR < 2
|
41
|
-
:plain
|
42
|
-
<p>
|
43
|
-
<form action="" method="post">
|
44
|
-
</p>
|
45
|
-
<div>
|
46
|
-
<form action="" method="post">
|
47
|
-
<div><input name="commit" type="submit" value="save" /></div>
|
48
|
-
<p>
|
49
|
-
@foo =
|
50
|
-
value one
|
51
|
-
</p>
|
52
|
-
Toplevel? false
|
53
|
-
<p>
|
54
|
-
@foo =
|
55
|
-
value three
|
56
|
-
</p>
|
57
|
-
</form>
|
58
|
-
<form action="" method="post">
|
59
|
-
Title:
|
60
|
-
<input id="article_title" name="article[title]" size="30" type="text" value="Hello" />
|
61
|
-
Body:
|
62
|
-
<input id="article_body" name="article[body]" size="30" type="text" value="World" />
|
63
|
-
</form>
|
64
|
-
</div>
|
65
|
-
- elsif Haml::Util.ap_geq?("3.0.0.beta3")
|
66
|
-
%p
|
67
|
-
= form_tag ''
|
68
|
-
%div
|
69
|
-
= form_tag '' do
|
70
|
-
%div= submit_tag 'save'
|
71
|
-
- @foo = 'value one'
|
72
|
-
= test_partial 'partial'
|
73
|
-
= form_for @article, :as => :article, :url => '', :html => {:class => nil, :id => nil} do |f|
|
74
|
-
Title:
|
75
|
-
= f.text_field :title
|
76
|
-
Body:
|
77
|
-
= f.text_field :body
|
78
|
-
- elsif Haml::Util.ap_geq_3?
|
79
|
-
%p
|
80
|
-
= form_tag ''
|
81
|
-
%div
|
82
|
-
= form_tag '' do
|
83
|
-
%div= submit_tag 'save'
|
84
|
-
- @foo = 'value one'
|
85
|
-
= test_partial 'partial'
|
86
|
-
= form_for :article, @article, :url => '' do |f|
|
87
|
-
Title:
|
88
|
-
= f.text_field :title
|
89
|
-
Body:
|
90
|
-
= f.text_field :body
|
91
|
-
- else
|
92
|
-
%p
|
93
|
-
= form_tag ''
|
94
|
-
%div
|
95
|
-
- form_tag '' do
|
96
|
-
%div= submit_tag 'save'
|
97
|
-
- @foo = 'value one'
|
98
|
-
= test_partial 'partial'
|
99
|
-
- form_for :article, @article, :url => '' do |f|
|
100
|
-
Title:
|
101
|
-
= f.text_field :title
|
102
|
-
Body:
|
103
|
-
= f.text_field :body
|
104
38
|
= list_of({:google => 'http://www.google.com'}) do |name, link|
|
105
39
|
%a{ :href => link }= name
|
106
40
|
%p
|
data/test/sass/engine_test.rb
CHANGED
@@ -493,6 +493,12 @@ CSS
|
|
493
493
|
def test_media_import
|
494
494
|
assert_equal("@import \"./fonts.sass\" all;\n",
|
495
495
|
render("@import \"./fonts.sass\" all"))
|
496
|
+
assert_equal(<<CSS, render(<<SASS))
|
497
|
+
@import "./fonts.sass" all;
|
498
|
+
@import url(./fonts.scss);
|
499
|
+
CSS
|
500
|
+
@import "./fonts.sass" all, url(./fonts.scss)
|
501
|
+
SASS
|
496
502
|
end
|
497
503
|
|
498
504
|
def test_http_import
|
@@ -2044,6 +2050,14 @@ SASS
|
|
2044
2050
|
end
|
2045
2051
|
end
|
2046
2052
|
|
2053
|
+
def test_import_with_commas_in_url
|
2054
|
+
assert_equal <<CSS, render(<<SASS)
|
2055
|
+
@import url(foo.css?bar,baz);
|
2056
|
+
CSS
|
2057
|
+
@import url(foo.css?bar,baz)
|
2058
|
+
SASS
|
2059
|
+
end
|
2060
|
+
|
2047
2061
|
# Encodings
|
2048
2062
|
|
2049
2063
|
unless Haml::Util.ruby1_8?
|
data/test/test_helper.rb
CHANGED
@@ -68,4 +68,14 @@ class Test::Unit::TestCase
|
|
68
68
|
return "@#{name}, :as => :#{name}, :html => {:class => nil, :id => nil}" if Haml::Util.ap_geq_3?
|
69
69
|
return ":#{name}, @#{name}"
|
70
70
|
end
|
71
|
+
|
72
|
+
def rails_form_attr
|
73
|
+
return 'accept-charset="UTF-8" ' if Haml::Util.ap_geq?("3.0.0.rc")
|
74
|
+
return ''
|
75
|
+
end
|
76
|
+
|
77
|
+
def rails_form_opener
|
78
|
+
return '' unless Haml::Util.ap_geq?("3.0.0.rc")
|
79
|
+
return '<div style="margin:0;padding:0;display:inline"><input name="_snowman" type="hidden" value="☃" /></div>'
|
80
|
+
end
|
71
81
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml-edge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.51
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Weizenbaum
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2010-07-
|
14
|
+
date: 2010-07-28 00:00:00 -04:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
@@ -289,7 +289,6 @@ files:
|
|
289
289
|
- test/sass/scss/test_helper.rb
|
290
290
|
- test/sass/templates/_partial.sass
|
291
291
|
- test/sass/templates/alt.sass
|
292
|
-
- test/sass/templates/basic.sass
|
293
292
|
- test/sass/templates/bork1.sass
|
294
293
|
- test/sass/templates/bork2.sass
|
295
294
|
- test/sass/templates/bork3.sass
|
@@ -1,23 +0,0 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
body
|
4
|
-
:font Arial
|
5
|
-
:background blue
|
6
|
-
|
7
|
-
#page
|
8
|
-
:width 700px
|
9
|
-
:height 100
|
10
|
-
#header
|
11
|
-
:height 300px
|
12
|
-
h1
|
13
|
-
:font-size 50px
|
14
|
-
:color blue
|
15
|
-
|
16
|
-
#content.user.show
|
17
|
-
#container.top
|
18
|
-
#column.left
|
19
|
-
:width 100px
|
20
|
-
#column.right
|
21
|
-
:width 600px
|
22
|
-
#container.bottom
|
23
|
-
:background brown
|