Skip to content

7 specs failures open clean checkout #65

@robisenberg

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions