haml-edge 2.3.173 → 2.3.174
Sign up to get free protection for your applications and to get access to all the features.
- data/EDGE_GEM_VERSION +1 -1
- data/VERSION +1 -1
- data/lib/haml/helpers/xss_mods.rb +6 -1
- data/lib/haml/util.rb +3 -2
- data/lib/sass/tree/rule_node.rb +1 -1
- data/test/haml/template_test.rb +12 -0
- metadata +3 -38
- data/test/haml/spec/README.md +0 -97
- data/test/haml/spec/lua_haml_spec.lua +0 -30
- data/test/haml/spec/ruby_haml_test.rb +0 -19
- data/test/haml/spec/tests.json +0 -534
- data/vendor/fssm/LICENSE +0 -20
- data/vendor/fssm/README.markdown +0 -55
- data/vendor/fssm/Rakefile +0 -59
- data/vendor/fssm/VERSION.yml +0 -5
- data/vendor/fssm/example.rb +0 -9
- data/vendor/fssm/fssm.gemspec +0 -77
- data/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
- data/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
- data/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
- data/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
- data/vendor/fssm/lib/fssm/monitor.rb +0 -26
- data/vendor/fssm/lib/fssm/path.rb +0 -91
- data/vendor/fssm/lib/fssm/pathname.rb +0 -502
- data/vendor/fssm/lib/fssm/state/directory.rb +0 -57
- data/vendor/fssm/lib/fssm/state/file.rb +0 -24
- data/vendor/fssm/lib/fssm/support.rb +0 -63
- data/vendor/fssm/lib/fssm/tree.rb +0 -176
- data/vendor/fssm/lib/fssm.rb +0 -33
- data/vendor/fssm/profile/prof-cache.rb +0 -40
- data/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
- data/vendor/fssm/profile/prof-pathname.rb +0 -68
- data/vendor/fssm/profile/prof-plain-pathname.html +0 -988
- data/vendor/fssm/profile/prof.html +0 -2379
- data/vendor/fssm/spec/path_spec.rb +0 -75
- data/vendor/fssm/spec/root/duck/quack.txt +0 -0
- data/vendor/fssm/spec/root/file.css +0 -0
- data/vendor/fssm/spec/root/file.rb +0 -0
- data/vendor/fssm/spec/root/file.yml +0 -0
- data/vendor/fssm/spec/root/moo/cow.txt +0 -0
- data/vendor/fssm/spec/spec_helper.rb +0 -14
data/EDGE_GEM_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3.
|
1
|
+
2.3.174
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3.
|
1
|
+
2.3.174
|
@@ -106,7 +106,12 @@ module ActionView
|
|
106
106
|
module Helpers
|
107
107
|
module CaptureHelper
|
108
108
|
def with_output_buffer_with_haml_xss(*args, &block)
|
109
|
-
|
109
|
+
res = with_output_buffer_without_haml_xss(*args, &block)
|
110
|
+
case res
|
111
|
+
when Array; res.map {|s| Haml::Util.html_safe(s)}
|
112
|
+
when String; Haml::Util.html_safe(res)
|
113
|
+
else; res
|
114
|
+
end
|
110
115
|
end
|
111
116
|
alias_method :with_output_buffer_without_haml_xss, :with_output_buffer
|
112
117
|
alias_method :with_output_buffer, :with_output_buffer_with_haml_xss
|
data/lib/haml/util.rb
CHANGED
@@ -233,9 +233,10 @@ module Haml
|
|
233
233
|
# With older versions of the Rails XSS-safety mechanism,
|
234
234
|
# this destructively modifies the HTML-safety of `text`.
|
235
235
|
#
|
236
|
-
# @param text [String]
|
237
|
-
# @return [String] `text`, marked as HTML-safe
|
236
|
+
# @param text [String, nil]
|
237
|
+
# @return [String, nil] `text`, marked as HTML-safe
|
238
238
|
def html_safe(text)
|
239
|
+
return unless text
|
239
240
|
return text.html_safe if defined?(ActiveSupport::SafeBuffer)
|
240
241
|
text.html_safe!
|
241
242
|
end
|
data/lib/sass/tree/rule_node.rb
CHANGED
@@ -285,7 +285,7 @@ module Sass::Tree
|
|
285
285
|
|
286
286
|
def debug_info_rule
|
287
287
|
node = DirectiveNode.new("@media -sass-debug-info")
|
288
|
-
debug_info.each do |k, v|
|
288
|
+
debug_info.map {|k, v| [k.to_s, v.to_s]}.sort.each do |k, v|
|
289
289
|
rule = RuleNode.new(nil)
|
290
290
|
rule.resolved_rules = [[k.to_s.gsub(/[^\w-]/, "\\\\\\0")]]
|
291
291
|
val = v.to_s.gsub(/[^\w-]/, "\\\\\\0").
|
data/test/haml/template_test.rb
CHANGED
@@ -77,6 +77,9 @@ class TemplateTest < Test::Unit::TestCase
|
|
77
77
|
base.send(:_evaluate_assigns_and_ivars)
|
78
78
|
end
|
79
79
|
|
80
|
+
# This is needed by RJS in (at least) Rails 3
|
81
|
+
base.instance_variable_set('@template', base)
|
82
|
+
|
80
83
|
# This is used by form_for.
|
81
84
|
# It's usually provided by ActionController::Base.
|
82
85
|
def base.protect_against_forgery?; false; end
|
@@ -389,6 +392,15 @@ HTML
|
|
389
392
|
= f.text_field :title
|
390
393
|
Body:
|
391
394
|
= f.text_field :body
|
395
|
+
HAML
|
396
|
+
end
|
397
|
+
|
398
|
+
def test_rjs
|
399
|
+
assert_equal(<<HTML, render(<<HAML, :action_view))
|
400
|
+
window.location.reload();
|
401
|
+
HTML
|
402
|
+
= update_page do |p|
|
403
|
+
- p.reload
|
392
404
|
HAML
|
393
405
|
end
|
394
406
|
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: 2.3.
|
4
|
+
version: 2.3.174
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Weizenbaum
|
@@ -64,15 +64,15 @@ files:
|
|
64
64
|
- lib/haml/helpers/xss_mods.rb
|
65
65
|
- lib/haml/html.rb
|
66
66
|
- lib/haml/precompiler.rb
|
67
|
-
- lib/haml/util.rb
|
68
67
|
- lib/haml/html/erb.rb
|
68
|
+
- lib/haml/railtie.rb
|
69
|
+
- lib/haml/util.rb
|
69
70
|
- lib/haml/shared.rb
|
70
71
|
- lib/haml/template.rb
|
71
72
|
- lib/haml/template/patch.rb
|
72
73
|
- lib/haml/template/plugin.rb
|
73
74
|
- lib/haml/root.rb
|
74
75
|
- lib/haml/version.rb
|
75
|
-
- lib/haml/railtie.rb
|
76
76
|
- lib/sass.rb
|
77
77
|
- lib/sass/css.rb
|
78
78
|
- lib/sass/engine.rb
|
@@ -113,36 +113,6 @@ files:
|
|
113
113
|
- lib/sass/tree/root_node.rb
|
114
114
|
- lib/sass/tree/variable_node.rb
|
115
115
|
- lib/sass/tree/while_node.rb
|
116
|
-
- vendor/fssm/LICENSE
|
117
|
-
- vendor/fssm/README.markdown
|
118
|
-
- vendor/fssm/Rakefile
|
119
|
-
- vendor/fssm/VERSION.yml
|
120
|
-
- vendor/fssm/example.rb
|
121
|
-
- vendor/fssm/fssm.gemspec
|
122
|
-
- vendor/fssm/lib/fssm.rb
|
123
|
-
- vendor/fssm/lib/fssm/backends/fsevents.rb
|
124
|
-
- vendor/fssm/lib/fssm/backends/inotify.rb
|
125
|
-
- vendor/fssm/lib/fssm/backends/polling.rb
|
126
|
-
- vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb
|
127
|
-
- vendor/fssm/lib/fssm/monitor.rb
|
128
|
-
- vendor/fssm/lib/fssm/path.rb
|
129
|
-
- vendor/fssm/lib/fssm/pathname.rb
|
130
|
-
- vendor/fssm/lib/fssm/state/directory.rb
|
131
|
-
- vendor/fssm/lib/fssm/state/file.rb
|
132
|
-
- vendor/fssm/lib/fssm/support.rb
|
133
|
-
- vendor/fssm/lib/fssm/tree.rb
|
134
|
-
- vendor/fssm/profile/prof-cache.rb
|
135
|
-
- vendor/fssm/profile/prof-fssm-pathname.html
|
136
|
-
- vendor/fssm/profile/prof-pathname.rb
|
137
|
-
- vendor/fssm/profile/prof-plain-pathname.html
|
138
|
-
- vendor/fssm/profile/prof.html
|
139
|
-
- vendor/fssm/spec/path_spec.rb
|
140
|
-
- vendor/fssm/spec/root/duck/quack.txt
|
141
|
-
- vendor/fssm/spec/root/file.css
|
142
|
-
- vendor/fssm/spec/root/file.rb
|
143
|
-
- vendor/fssm/spec/root/file.yml
|
144
|
-
- vendor/fssm/spec/root/moo/cow.txt
|
145
|
-
- vendor/fssm/spec/spec_helper.rb
|
146
116
|
- bin/css2sass
|
147
117
|
- bin/haml
|
148
118
|
- bin/html2haml
|
@@ -176,10 +146,6 @@ files:
|
|
176
146
|
- test/haml/results/tag_parsing.xhtml
|
177
147
|
- test/haml/results/very_basic.xhtml
|
178
148
|
- test/haml/results/whitespace_handling.xhtml
|
179
|
-
- test/haml/spec/README.md
|
180
|
-
- test/haml/spec/lua_haml_spec.lua
|
181
|
-
- test/haml/spec/ruby_haml_test.rb
|
182
|
-
- test/haml/spec/tests.json
|
183
149
|
- test/haml/template_test.rb
|
184
150
|
- test/haml/util_test.rb
|
185
151
|
- test/haml/templates/_av_partial_1.haml
|
@@ -328,7 +294,6 @@ test_files:
|
|
328
294
|
- test/haml/engine_test.rb
|
329
295
|
- test/haml/helper_test.rb
|
330
296
|
- test/haml/html2haml_test.rb
|
331
|
-
- test/haml/spec/ruby_haml_test.rb
|
332
297
|
- test/haml/template_test.rb
|
333
298
|
- test/haml/util_test.rb
|
334
299
|
- test/haml/spec_test.rb
|
data/test/haml/spec/README.md
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
# Haml Spec #
|
2
|
-
|
3
|
-
Haml Spec provides a basic suite of tests for Haml interpreters.
|
4
|
-
|
5
|
-
It is intented for developers who are creating or maintaining an implementation
|
6
|
-
of the [Haml](http://haml-lang.com) markup language.
|
7
|
-
|
8
|
-
At the moment, there are test runners for the [original Haml](http://github.com/nex3/haml)
|
9
|
-
in Ruby, and for [Lua Haml](http://github.com/norman/lua-haml). Support for
|
10
|
-
other versions of Haml will be added if their developers/maintainers
|
11
|
-
are interested in using it.
|
12
|
-
|
13
|
-
## The Tests ##
|
14
|
-
|
15
|
-
The tests are kept in JSON format for portability across languages. Each test
|
16
|
-
is a JSON object with expected input, output, local variables and configuration
|
17
|
-
parameters (see below). The test suite only provides tests for features which
|
18
|
-
are portable, therefore no tests for script are provided, nor for external
|
19
|
-
filters such as :markdown or :textile.
|
20
|
-
|
21
|
-
The one major exception to this are the tests for interpolation, which you may
|
22
|
-
need to modify with a regular expression to run under PHP or Perl, which
|
23
|
-
require a symbol before variable names. These tests are included despite being
|
24
|
-
less than 100% portable because interpolation is an important part of Haml and
|
25
|
-
can be tricky to implement.
|
26
|
-
|
27
|
-
## Running the Tests ##
|
28
|
-
|
29
|
-
### Ruby ###
|
30
|
-
|
31
|
-
In order to make it as easy as possible for non-Ruby programmers to run the
|
32
|
-
Ruby Haml tests, the Ruby test runner uses test/unit, rather than something
|
33
|
-
fancier like Rspec. To run them you probably only need to install `haml`, and
|
34
|
-
possibly `ruby` if your platform doesn't come with it by default. If you're
|
35
|
-
using Ruby 1.8.x, you'll also need to install `json`:
|
36
|
-
|
37
|
-
sudo gem install haml
|
38
|
-
# for Ruby 1.8.x; check using "ruby --version" if unsure
|
39
|
-
sudo gem install json
|
40
|
-
|
41
|
-
Then, running the Ruby test suite is easy:
|
42
|
-
|
43
|
-
ruby ruby_haml_test.rb
|
44
|
-
|
45
|
-
### Lua ###
|
46
|
-
|
47
|
-
The Lua test depends on [Telescope](http://telescope.luaforge.net/),
|
48
|
-
[jason4lua](http://json.luaforge.net/), and
|
49
|
-
[Lua Haml](http://github.com/norman/lua-haml). Install and
|
50
|
-
run `tsc lua_haml_spec.lua`.
|
51
|
-
|
52
|
-
## Contributing ##
|
53
|
-
|
54
|
-
### Getting it ###
|
55
|
-
|
56
|
-
You can access the [Git repository](http://github.com/norman/haml-spec) at:
|
57
|
-
|
58
|
-
git://github.com/norman/haml-spec.git
|
59
|
-
|
60
|
-
Patches are *very* welcome, as are test runners for your Haml implementation.
|
61
|
-
|
62
|
-
As long as any test you add run against Ruby Haml and are not redundant, I'll
|
63
|
-
be very happy to add them.
|
64
|
-
|
65
|
-
### Test JSON format ###
|
66
|
-
|
67
|
-
"test name" : {
|
68
|
-
"haml" : "haml input",
|
69
|
-
"html" : "expected html output",
|
70
|
-
"result" : "expected test result",
|
71
|
-
"locals" : "local vars",
|
72
|
-
"config" : "config params"
|
73
|
-
}
|
74
|
-
|
75
|
-
* test name: This should be a *very* brief description of what's being tested. It can
|
76
|
-
be used by the test runners to name test methods, or to exclude certain tests from being
|
77
|
-
run.
|
78
|
-
* haml: The Haml code to be evaluated. Always required.
|
79
|
-
* html: The HTML output that should be generated. Required unless "result" is "error".
|
80
|
-
* result: Can be "pass" or "error". If it's absent, then "pass" is assumed. If it's "error",
|
81
|
-
then the goal of the test is to make sure that malformed Haml code generates an error.
|
82
|
-
* locals: An object containing local variables needed for the test.
|
83
|
-
* config: An object containing configuration parameters used to run the test.
|
84
|
-
The configuration parameters should be usable directly by Ruby's Haml with no
|
85
|
-
modification. If your implementation uses config parameters with different
|
86
|
-
names, you may need to process them to make them match your implementation.
|
87
|
-
If your implementation has options that do not exist in Ruby's Haml, then you
|
88
|
-
should add tests for this in your implementation's test rather than here.
|
89
|
-
|
90
|
-
## License ##
|
91
|
-
|
92
|
-
This project is released under the [WTFPL](http://sam.zoy.org/wtfpl/) in order
|
93
|
-
to be as usable as possible in any project, commercial or free.
|
94
|
-
|
95
|
-
## Author ##
|
96
|
-
|
97
|
-
[Norman Clarke](mailto:norman@njclarke.com)
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'luarocks.require'
|
2
|
-
require 'json'
|
3
|
-
require 'telescope'
|
4
|
-
require 'haml'
|
5
|
-
|
6
|
-
local function get_tests(filename)
|
7
|
-
local self = debug.getinfo(1).short_src
|
8
|
-
if self:match("/") then return "./" .. self:gsub("[^/]*%.lua$", "/" .. filename)
|
9
|
-
elseif self:match("\\") then return self:gsub("[^\\]*%.lua$", "\\" .. filename)
|
10
|
-
else return filename
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
local fh = assert(io.open(get_tests("tests.json")))
|
15
|
-
local input = fh:read '*a'
|
16
|
-
fh:close()
|
17
|
-
|
18
|
-
local contexts = json.decode(input)
|
19
|
-
|
20
|
-
describe("LuaHaml", function()
|
21
|
-
for context, expectations in pairs(contexts) do
|
22
|
-
describe("When handling " .. context, function()
|
23
|
-
for name, exp in pairs(expectations) do
|
24
|
-
it(string.format("should correctly render %s", name), function()
|
25
|
-
assert_equal(haml.render(exp.haml, exp.config or {}, exp.locals or {}), exp.html)
|
26
|
-
end)
|
27
|
-
end
|
28
|
-
end)
|
29
|
-
end
|
30
|
-
end)
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require "test/unit"
|
2
|
-
require "json"
|
3
|
-
require "haml"
|
4
|
-
|
5
|
-
class HamlTest < Test::Unit::TestCase
|
6
|
-
contexts = JSON.parse(File.read(File.dirname(__FILE__) + "/tests.json"))
|
7
|
-
contexts.each do |context|
|
8
|
-
context[1].each do |name, test|
|
9
|
-
class_eval(<<-EOTEST)
|
10
|
-
def test_#{name.gsub(/\s+|[^a-zA-Z0-9_]/, "_")}
|
11
|
-
locals = Hash[*(#{test}["locals"] || {}).collect {|k, v| [k.to_sym, v] }.flatten]
|
12
|
-
options = Hash[*(#{test}["config"] || {}).collect {|k, v| [k.to_sym, v.to_sym] }.flatten]
|
13
|
-
engine = Haml::Engine.new(#{test}["haml"], options)
|
14
|
-
assert_equal(engine.render(Object.new, locals).chomp, #{test}["html"])
|
15
|
-
end
|
16
|
-
EOTEST
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|