Totally awesome
+Totally awesome
Yes it is
Some Content
- +Some Content
+diff --git a/History.md b/History.md index fa647c88..7fd94384 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,10 @@ +# Version 3.8.2 +Release date: unreleased + +### Fixed + +* Fixed negated class selector option - Issue #2103 + # Version 3.8.1 Release date: 2018-09-22 diff --git a/lib/capybara/queries/selector_query.rb b/lib/capybara/queries/selector_query.rb index 23565dee..bdebb7e3 100644 --- a/lib/capybara/queries/selector_query.rb +++ b/lib/capybara/queries/selector_query.rb @@ -251,7 +251,7 @@ module Capybara classes = Array(options[:class]).group_by { |cl| cl.start_with? '!' } (classes[false].to_a.map { |cl| ".#{Capybara::Selector::CSS.escape(cl)}" } + - classes[true].to_a.map { |cl| ":not(.#{Capybara::Selector::CSS.escape(cl.slice(1))})" }).join + classes[true].to_a.map { |cl| ":not(.#{Capybara::Selector::CSS.escape(cl.slice(1..-1))})" }).join end def css_from_id @@ -266,7 +266,7 @@ module Capybara Array(options[:class]).map do |klass| if klass.start_with?('!') - !XPath.attr(:class).contains_word(klass.slice(1)) + !XPath.attr(:class).contains_word(klass.slice(1..-1)) else XPath.attr(:class).contains_word(klass) end diff --git a/spec/selector_spec.rb b/spec/selector_spec.rb index a6948a31..4ea2e0c2 100644 --- a/spec/selector_spec.rb +++ b/spec/selector_spec.rb @@ -11,13 +11,13 @@ RSpec.describe Capybara do
Yes it is
Some Content
- +Some Content
+