Sha256: b92a649cc98da173993471aa7f0e43ce9db6fb0fae12f5e3b413e67e7b104f71

Contents?: true

Size: 790 Bytes

Versions: 33

Compression:

Stored size: 790 Bytes

Contents

module Capybara
  class Selector
    class CSS
      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

      def self.escape_char(c)
        return "\\%06x" % c.ord() unless c =~ %r{[ -/:-~]}
        "\\#{c}"
      end

      S = '\u{80}-\u{D7FF}\u{E000}-\u{FFFD}\u{10000}-\u{10FFFF}'
      H = /[0-9a-fA-F]/
      UNICODE  = /\\#{H}{1,6}[ \t\r\n\f]?/
      NONASCII = /[#{S}]/
      ESCAPE   = /#{UNICODE}|\\[ -~#{S}]/
      NMSTART  = /[_a-zA-Z]|#{NONASCII}|#{ESCAPE}/
    end
  end
end

Version data entries

33 entries across 29 versions & 3 rubygems

Version Path
tdiary-5.0.8 vendor/bundle/ruby/2.5.0/gems/capybara-2.18.0/lib/capybara/selector/css.rb
tdiary-5.0.8 vendor/bundle/gems/tdiary-5.0.7/vendor/bundle/gems/capybara-2.16.1/lib/capybara/selector/css.rb
tdiary-5.0.8 vendor/bundle/gems/capybara-2.18.0/lib/capybara/selector/css.rb
capybara-2.18.0 lib/capybara/selector/css.rb
capybara-2.17.0 lib/capybara/selector/css.rb
tdiary-5.0.7 vendor/bundle/gems/capybara-2.16.1/lib/capybara/selector/css.rb
capybara-2.16.1 lib/capybara/selector/css.rb
capybara-2.16.0 lib/capybara/selector/css.rb
capybara-2.15.4 lib/capybara/selector/css.rb
capybara-2.15.3 lib/capybara/selector/css.rb
capybara-2.15.2 lib/capybara/selector/css.rb
tdiary-5.0.6 vendor/bundle/gems/capybara-2.15.1/lib/capybara/selector/css.rb
capybara-2.15.1 lib/capybara/selector/css.rb
capybara-2.15.0 lib/capybara/selector/css.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/capybara-2.13.0/lib/capybara/selector/css.rb
tdiary-5.0.5 vendor/bundle/gems/capybara-2.13.0/lib/capybara/selector/css.rb
tdiary-5.0.5 vendor/bundle/gems/capybara-2.14.3/lib/capybara/selector/css.rb
capybara-2.14.4 lib/capybara/selector/css.rb
capybara-2.14.3 lib/capybara/selector/css.rb
capybara-2.14.2 lib/capybara/selector/css.rb