module ActionDispatch::Assertions::SelectorAssertions

Constants

PATTERN_HTML
PATTERN_UNICODE_ESCAPED_CHAR

Private Instance Methods

unescape_js(js_string) click to toggle source

Unescapes a JS string.

# File lib/slim_scroll/assert_select.rb, line 11
def unescape_js(js_string)
  # js encodes double quotes and line breaks.
  unescaped= js_string.gsub('\"', '"')
  unescaped.gsub!('\\\'', "'")
  unescaped.gsub!(/\\\//, '/')
  unescaped.gsub!('\n', "\n")
  unescaped.gsub!('\076', '>')
  unescaped.gsub!('\074', '<')
  # js encodes non-ascii characters.
  unescaped.gsub!(PATTERN_UNICODE_ESCAPED_CHAR) {|u| [$1.hex].pack('U*')}
  unescaped
end