Skip to content

7 specs failures open clean checkout #65

Description

@robisenberg

Summary

Using Ruby 2.3.1, when I run the specs with:

$ bundle exec rake

I get 7 failures as follows (full output below.) Am I doing something wrong?

I will try with Ruby 2.3.3 which Circle CI seems to be using, but still, I wouldn't expect that to make any difference. I wanted to make some changes, but don't want to start when tests are not passing.

Failing spec output

$ be rake
/Users/rob/.rubies/ruby-2.3.1/bin/ruby -I/Users/rob/.gem/ruby/2.3.1/gems/rspec-core-3.5.2/lib:/Users/rob/.gem/ruby/2.3.1/gems/rspec-support-3.5.0/lib /Users/rob/.gem/ruby/2.3.1/gems/rspec-core-3.5.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb

Randomized with seed 39842
.....................................................................Unused parameters passed to Capybara::Queries::SelectorQuery : ["a link"]
FFUnused parameters passed to Capybara::Queries::SelectorQuery : ["a link"]
FF..............Unused parameters passed to Capybara::Queries::SelectorQuery : ["next page"]
F............................Unused parameters passed to Capybara::Queries::SelectorQuery : ["link in a form"]
F...............................................F.............................................................

Failures:

  1) PageMagic::ElementContext#method_missing method is a element defintion returns the sub page element
     Failure/Error: capybara_element.find(*args)

     Nokogiri::CSS::SyntaxError:
       unexpected '$' after ''
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:87:in `on_error'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:62:in `parse'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:79:in `xpath_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css.rb:23:in `xpath_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:198:in `block in xpath_query_from_css_rule'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:197:in `map'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:197:in `xpath_query_from_css_rule'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `block in css_internal'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `map'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `css_internal'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:107:in `css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/rack_test/browser.rb:87:in `find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/rack_test/driver.rb:71:in `find_css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:103:in `find_css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb:110:in `block in resolve_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:81:in `synchronize'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb:108:in `resolve_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:35:in `block in find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:85:in `synchronize'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:33:in `find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/session.rb:699:in `block (2 levels) in <class:Session>'
     # ./lib/page_magic/element/query.rb:23:in `execute'
     # ./lib/page_magic/element_context.rb:35:in `find'
     # ./lib/page_magic/element_context.rb:24:in `method_missing'
     # ./spec/page_magic/element_context_spec.rb:29:in `block (4 levels) in <module:PageMagic>'

  2) PageMagic::ElementContext#method_missing method is a element defintion passes arguments through to the element definition
     Failure/Error: raise AmbiguousQueryException, e.message

     PageMagic::AmbiguousQueryException:
       Ambiguous match, found 2 elements matching css "a"
     # ./lib/page_magic/element/query.rb:26:in `rescue in execute'
     # ./lib/page_magic/element/query.rb:18:in `execute'
     # ./lib/page_magic/element_context.rb:35:in `find'
     # ./lib/page_magic/element_context.rb:24:in `method_missing'
     # ./spec/page_magic/element_context_spec.rb:38:in `block (4 levels) in <module:PageMagic>'
     # ------------------
     # --- Caused by: ---
     # Capybara::Ambiguous:
     #   Ambiguous match, found 2 elements matching css "a"
     #   /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:41:in `block in find'

  3) PageMagic::ElementContext#method_missing method is a element defintion does not evaluate any of the other definitions
     Failure/Error: capybara_element.find(*args)

     Nokogiri::CSS::SyntaxError:
       unexpected '$' after ''
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:87:in `on_error'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:62:in `parse'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:79:in `xpath_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css.rb:23:in `xpath_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:198:in `block in xpath_query_from_css_rule'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:197:in `map'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:197:in `xpath_query_from_css_rule'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `block in css_internal'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `map'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `css_internal'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:107:in `css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/rack_test/browser.rb:87:in `find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/rack_test/driver.rb:71:in `find_css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:103:in `find_css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb:110:in `block in resolve_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:81:in `synchronize'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb:108:in `resolve_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:35:in `block in find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:85:in `synchronize'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:33:in `find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/session.rb:699:in `block (2 levels) in <class:Session>'
     # ./lib/page_magic/element/query.rb:23:in `execute'
     # ./lib/page_magic/element_context.rb:35:in `find'
     # ./lib/page_magic/element_context.rb:24:in `method_missing'
     # ./spec/page_magic/element_context_spec.rb:49:in `block (4 levels) in <module:PageMagic>'

  4) PageMagic::ElementContext#method_missing method is a element defintion more than one match found in the browser returns an array of element definitions
     Failure/Error: raise AmbiguousQueryException, e.message

     PageMagic::AmbiguousQueryException:
       Ambiguous match, found 2 elements matching css "a"
     # ./lib/page_magic/element/query.rb:26:in `rescue in execute'
     # ./lib/page_magic/element/query.rb:18:in `execute'
     # ./lib/page_magic/element_context.rb:35:in `find'
     # ./lib/page_magic/element_context.rb:24:in `method_missing'
     # ./spec/page_magic/element_context_spec.rb:55:in `block (5 levels) in <module:PageMagic>'
     # ------------------
     # --- Caused by: ---
     # Capybara::Ambiguous:
     #   Ambiguous match, found 2 elements matching css "a"
     #   /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:41:in `block in find'

  5) PageMagic::InstanceMethods method_missing gives access to the elements defined on your page classes
     Failure/Error: capybara_element.find(*args)

     Nokogiri::CSS::SyntaxError:
       unexpected '$' after ''
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:87:in `on_error'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:62:in `parse'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:79:in `xpath_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css.rb:23:in `xpath_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:198:in `block in xpath_query_from_css_rule'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:197:in `map'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:197:in `xpath_query_from_css_rule'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `block in css_internal'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `map'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `css_internal'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:107:in `css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/rack_test/browser.rb:87:in `find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/rack_test/driver.rb:71:in `find_css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:103:in `find_css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb:110:in `block in resolve_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:81:in `synchronize'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb:108:in `resolve_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:35:in `block in find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:85:in `synchronize'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:33:in `find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/session.rb:699:in `block (2 levels) in <class:Session>'
     # ./lib/page_magic/element/query.rb:23:in `execute'
     # ./lib/page_magic/element_context.rb:35:in `find'
     # ./lib/page_magic/element_context.rb:24:in `method_missing'
     # ./lib/page_magic/instance_methods.rb:32:in `method_missing'
     # ./lib/page_magic/session.rb:71:in `method_missing'
     # ./spec/page_magic/instance_methods_spec.rb:84:in `block (3 levels) in <module:PageMagic>'

  6) PageMagic::Element#method_missing no element definition and not a capybara method calls method on parent element
     Failure/Error: capybara_element.find(*args)

     Nokogiri::CSS::SyntaxError:
       unexpected '$' after ''
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:87:in `on_error'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:62:in `parse'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css/parser_extras.rb:79:in `xpath_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/css.rb:23:in `xpath_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:198:in `block in xpath_query_from_css_rule'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:197:in `map'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:197:in `xpath_query_from_css_rule'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `block in css_internal'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `map'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:192:in `css_internal'
     # /Users/rob/.gem/ruby/2.3.1/gems/nokogiri-1.6.8/lib/nokogiri/xml/searchable.rb:107:in `css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/rack_test/node.rb:99:in `find_css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:103:in `find_css'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb:110:in `block in resolve_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:81:in `synchronize'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/queries/selector_query.rb:108:in `resolve_for'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:35:in `block in find'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/base.rb:85:in `synchronize'
     # /Users/rob/.gem/ruby/2.3.1/gems/capybara-2.7.1/lib/capybara/node/finders.rb:33:in `find'
     # ./lib/page_magic/element/query.rb:23:in `execute'
     # ./lib/page_magic/element_context.rb:35:in `find'
     # ./lib/page_magic/element_context.rb:24:in `method_missing'
     # ./lib/page_magic/element.rb:90:in `method_missing'
     # ./spec/element_spec.rb:213:in `block (4 levels) in <module:PageMagic>'

  7) PageMagic::Elements#element sets the selector and type
     Failure/Error: expect(instance.element_by_name(:alias)).to eq(expected_definition)

       expected: #<PageMagic::ElementDefinitionBuilder:0x007ff0dee92d30 @definition_class=PageMagic::Element, @selecto...ent::QueryBuilder:0x007ff0df0fea88 @type=:field>, @options={:multiple_results=>false}, @element=nil>
            got: #<PageMagic::ElementDefinitionBuilder:0x007ff0dee91e30 @definition_class=#<Class:0x007ff0dee921f0>, @...lement::QueryBuilder:0x007ff0df0feab0 @type=nil>, @options={:multiple_results=>false}, @element=nil>

       (compared using ==)

       Diff:


       @@ -1,9 +1,8 @@
       -#<PageMagic::ElementDefinitionBuilder:0x007ff0dee92d30
       - @definition_class=PageMagic::Element,
       +#<PageMagic::ElementDefinitionBuilder:0x007ff0dee91e30
       + @definition_class=#<Class:0x007ff0dee921f0>,
         @element=nil,
         @options={:multiple_results=>false},
       - @query_builder=
       -  #<PageMagic::Element::QueryBuilder:0x007ff0df0fea88 @type=:field>,
       + @query_builder=#<PageMagic::Element::QueryBuilder:0x007ff0df0feab0 @type=nil>,
         @selector={:id=>"child"},
       - @type=:text_field>
       + @type=:element>

     # ./spec/page_magic/elements_spec.rb:27:in `block (3 levels) in <module:PageMagic>'

Finished in 1.33 seconds (files took 1.22 seconds to load)
226 examples, 7 failures

Failed examples:

rspec ./spec/page_magic/element_context_spec.rb:28 # PageMagic::ElementContext#method_missing method is a element defintion returns the sub page element
rspec ./spec/page_magic/element_context_spec.rb:33 # PageMagic::ElementContext#method_missing method is a element defintion passes arguments through to the element definition
rspec ./spec/page_magic/element_context_spec.rb:42 # PageMagic::ElementContext#method_missing method is a element defintion does not evaluate any of the other definitions
rspec ./spec/page_magic/element_context_spec.rb:53 # PageMagic::ElementContext#method_missing method is a element defintion more than one match found in the browser returns an array of element definitions
rspec ./spec/page_magic/instance_methods_spec.rb:83 # PageMagic::InstanceMethods method_missing gives access to the elements defined on your page classes
rspec ./spec/element_spec.rb:212 # PageMagic::Element#method_missing no element definition and not a capybara method calls method on parent element
rspec ./spec/page_magic/elements_spec.rb:21 # PageMagic::Elements#element sets the selector and type

Randomized with seed 39842

Coverage report generated for RSpec to /Users/rob/Dropbox/dev/projects/ruby/gems/page_magic/coverage. 525 / 528 LOC (99.43%) covered.
/Users/rob/.rubies/ruby-2.3.1/bin/ruby -I/Users/rob/.gem/ruby/2.3.1/gems/rspec-core-3.5.2/lib:/Users/rob/.gem/ruby/2.3.1/gems/rspec-support-3.5.0/lib /Users/rob/.gem/ruby/2.3.1/gems/rspec-core-3.5.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions