class Capybara::Selector::CSS
def self.escape(str)
def self.escape(str) value = str.dup out = +'' out << value.slice!(0...1) if value.match?(/^[-_]/) out << (value[0].match?(NMSTART) ? value.slice!(0...1) : escape_char(value.slice!(0...1))) out << value.gsub(/[^a-zA-Z0-9_-]/) { |char| escape_char char } out end
def self.escape_char(char)
def self.escape_char(char) char.match?(%r{[ -/:-~]}) ? "\\#{char}" : format('\\%06<hex>x', hex: char.ord) end
def self.split(css)
def self.split(css) Splitter.new.split(css) end