class Capybara::Selector::CSS

Constants

ESCAPE
H
NMSTART
NONASCII
S
UNICODE

Public Class Methods

escape(str) click to toggle source
# File lib/capybara/selector/css.rb, line 4
def self.escape(str)
  out = String.new("")
  value = str.dup
  out << value.slice!(0...1) if value =~ /^[-_]/
  out << if value[0] =~ NMSTART
    value.slice!(0...1)
  else
    escape_char(value.slice!(0...1))
  end
  out << value.gsub(/[^a-zA-Z0-9_-]/) {|c| escape_char c}
  out
end
escape_char(c) click to toggle source
# File lib/capybara/selector/css.rb, line 17
def self.escape_char(c)
  return "\\%06x" % c.ord() unless c =~ %r{[ -/:-~]}
  "\\#{c}"
end