use BasicObject so global includes don't extend CSSHandlers

This commit is contained in:
Thomas Walpole 2014-03-31 09:52:00 -07:00
parent 88da2cdc4c
commit 744bd8d95f
2 changed files with 17 additions and 1 deletions

View File

@ -1,4 +1,6 @@
class Capybara::RackTest::CSSHandlers
class Capybara::RackTest::CSSHandlers < BasicObject
include ::Kernel
def disabled list
list.find_all { |node| node.has_attribute? 'disabled' }
end

View File

@ -157,3 +157,17 @@ describe Capybara::RackTest::Driver do
end
end
end
module CSSHandlerIncludeTester
def dont_extend_css_handler
raise 'should never be called'
end
end
include CSSHandlerIncludeTester
describe Capybara::RackTest::CSSHandlers do
it "should not be extended by global includes" do
expect(Capybara::RackTest::CSSHandlers.new).not_to respond_to(:dont_extend_css_handler)
end
end