File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -25,12 +25,13 @@ module JavaScriptHelper
25
25
#
26
26
# $('some_element').replaceWith('<%= j render 'some/element_template' %>');
27
27
def escape_javascript ( javascript )
28
- if javascript
29
- result = javascript . gsub ( /( \\ |< \/ | \r \n | \342 \200 \250 | \342 \200 \251 |[ \n \r "'])/u ) { | match | JS_ESCAPE_MAP [ match ] }
30
- javascript . html_safe? ? result . html_safe : result
28
+ javascript = javascript . to_s
29
+ if javascript . empty?
30
+ result = ""
31
31
else
32
- ""
32
+ result = javascript . gsub ( /( \\ |< \/ | \r \n | \342 \200 \250 | \342 \200 \251 |[ \n \r "'])/u ) { | match | JS_ESCAPE_MAP [ match ] }
33
33
end
34
+ javascript . html_safe? ? result . html_safe : result
34
35
end
35
36
36
37
alias_method :j , :escape_javascript
Original file line number Diff line number Diff line change @@ -23,6 +23,10 @@ def teardown
23
23
24
24
def test_escape_javascript
25
25
assert_equal "" , escape_javascript ( nil )
26
+ assert_equal "123" , escape_javascript ( 123 )
27
+ assert_equal "en" , escape_javascript ( :en )
28
+ assert_equal "false" , escape_javascript ( false )
29
+ assert_equal "true" , escape_javascript ( true )
26
30
assert_equal %(This \\ "thing\\ " is really\\ n netos\\ ') , escape_javascript ( %(This "thing" is really\n netos') )
27
31
assert_equal %(backslash\\ \\ test) , escape_javascript ( %(backslash\\ test) )
28
32
assert_equal %(dont <\\ /close> tags) , escape_javascript ( %(dont </close> tags) )
You can’t perform that action at this time.
0 commit comments