-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Summary
Using Ruby 2.3.1, when I run the specs with:
$ bundle exec rakeI 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 failedMetadata
Metadata
Assignees
Labels
No labels