Skip to content

Instantly share code, notes, and snippets.

@sgonyea
Created March 1, 2011 06:47
Show Gist options
  • Save sgonyea/848733 to your computer and use it in GitHub Desktop.
Save sgonyea/848733 to your computer and use it in GitHub Desktop.
sgonyea@skg:~/Sites/spidr$ rake spec --trace
(in /Users/sgonyea/Sites/spidr)
** Invoke spec (first_time)
** Execute spec
/Users/sgonyea/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -S bundle exec rspec ./spec/actions_spec.rb ./spec/agent_spec.rb ./spec/auth_store_spec.rb ./spec/cookie_jar_spec.rb ./spec/extensions/uri_spec.rb ./spec/filters_spec.rb ./spec/page_spec.rb ./spec/rules_spec.rb ./spec/sanitizers_spec.rb ./spec/spidr_spec.rb
Spidr::Actions
should be able to pause spidering
should be able to continue spidering after being paused
should allow skipping of enqueued links
should allow skipping of visited pages
Spidr::Agent
http://localhost:7070/course/start.html
http://localhost:7070/course/loop/start.html
http://localhost:7070/course/remote/start.html
http://localhost:7070/course/absolute/start.html
http://localhost:7070/course/relative/start.html
http://localhost:7070/course/empty/start.html
http://localhost:7070/course/javascript/start.html
http://localhost:7070/course/frames/start.html
http://localhost:7070/course/auth/start.html
http://localhost:7070/course/cookies/start.html
http://localhost:7070/course/redirects/start.html
http://localhost:7070/course/loop/next.html
http://localhost:7070/course/remote/next.html
http://spidr.rubyforge.org:1337/course/remote/fail.html
http://191.255.0.0/course/remote/fail.html
http://bad.tld/course/remote/fail.html
http://bad.url.lol.com/course/remote/fail.html
http://localhost:7070/course/absolute/next.html
http://localhost:7070/course/relative/normal.html
http://localhost:7070/course/relative/current_directory.html
http://localhost:7070/course/relative/same_directory.html
http://localhost:7070/course/frames/frame.html
http://localhost:7070/course/frames/iframe.html
http://localhost:7070/course/auth/protected.html
http://localhost:7070/course/cookies/get.html
http://localhost:7070/course/redirects/300.html
http://localhost:7070/course/redirects/301.html
http://localhost:7070/course/redirects/302.html
http://localhost:7070/course/redirects/303.html
http://localhost:7070/course/redirects/307.html
http://localhost:7070/course/redirects/meta.html
[FAILED] http://spidr.rubyforge.org:1337/course/remote/fail.html
[FAILED] http://191.255.0.0/course/remote/fail.html
[FAILED] http://bad.tld/course/remote/fail.html
[FAILED] http://bad.url.lol.com/course/remote/fail.html
http://localhost:7070/course/frames/frame_contents.html
http://localhost:7070/course/frames/iframe_contents.html
http://localhost:7070/course/cookies/protected.html
http://localhost:7070/course/redirects/300/pass.html
http://localhost:7070/course/redirects/301/pass.html
http://localhost:7070/course/redirects/302/pass.html
http://localhost:7070/course/redirects/303/pass.html
http://localhost:7070/course/redirects/307/pass.html
http://localhost:7070/course/redirects/meta/pass.html
should not visit links not part of the obstacle course
should visit the absolute links start page
should visit absolute links to unvisited pages
should visit the empty links start page
should ignore links with blank href attributes
should visit the empty links start page
should visit the contents of iframes
should visit links within iframes
should visit the contents of frames
should visit links within frames
should visit the javascript links start page
should ignore target links
should ignore javascript: links
should visit the looping links start page
should visit non-circular linking pages
should visit the relative links start page
should ignore in-page anchor links
should visit normal relative links
should visit links relative to the current directory
should visit relative links that traverse directories
should visit the remote links start page
should resolve the paths of remote links
should visit normal remote links
should safely fail on closed ports
should safely fail on unreachable IP Addresses
should safely fail on host-names with invalid TLDs
should safely fail on bad host-names
should visit the cookies start page
should visit the cookies GET request test page
should visit the first cookie protected page
should visit the HTTP redirects start page
should visit the 300 HTTP redirect test page
should follow HTTP 300 redirects
should visit the 301 HTTP redirect test page
should follow HTTP 301 redirects
should visit the 302 HTTP redirect test page
should follow HTTP 302 redirects
should visit the 303 HTTP redirect test page
should follow HTTP 303 redirects
should visit the 307 HTTP redirect test page
should follow HTTP 307 redirects
should visit the meta refresh redirect test page
should follow meta refresh (soft) redirects
should visit the HTTP Auth start page
should visit the HTTP Auth protected page
should provide the history
should provide the queue
should be able to restore the history
should convert new histories to an Set of URIs
should be able to restore the failures
should convert new histories to a Set of URIs
should be able to restore the queue
should convert new queues to an Array of URIs
should provide a to_hash method that returns the queue and history
Spidr::AuthStore
should retrieve auth credentials for the URL
should add auth credentials for the URL
should override previous auth credentials
should clear all cookies
matching
should match a longer URL to the base
should match the longest of all matching URLs
should not match a URL with a different host
should not match a URL with an alternate path
for_url
should return nil if no authorization exists
should create an encoded authorization string
Spidr::CookieJar
should retrieve cookies for the named host
should add a cookie to the jar
should merge new cookies into the jar
should override previous cookies in the jar
should clear all cookies
dirty
should mark a cookie dirty after adding new params
should mark a cookie dirty after overriding params
should un-mark a cookie as dirty after re-encoding it
cookies_for_host
should return an empty Hash for unknown hosts
should return an empty Hash for hosts with no cookie params
should return cookie parameters for the host
should include cookies for the parent domain
for_host
should return nil for unknown hosts
should return nil for hosts with no cookie params
should encode single cookie params
should encode multiple cookie params
should include cookies for the parent domain
URI
expand_path
should preserve single directory paths
should preserve trailing '/'
should remove multiple '/' characters
should remove '.' directories from the path
should handle '..' directories properly
should limit the number of '..' directories resolved
should preserve absolute paths
should preserve the root path
should default empty paths to the root path
Spidr::Filters
should allow setting the acceptable schemes
should provide the hosts that will be visited
should provide the hosts that will not be visited
should provide the ports that will be visited
should provide the ports that will not be visited
should provide the links that will be visited
should provide the links that will not be visited
should provide the exts that will be visited
should provide the exts that will not be visited
Spidr::Page
html
should be OK
should have a content-type
should be a html page
should have provide a document
should allow searching the document
should have a title
should have links
it should behave like Page
should have a status code
should have a body
should provide transparent access to the response headers
should allow content-types
txt
should be OK
should have a content-type
should be a txt page
should not have provide a document
should not allow searching the document
should not have links
should not have a title
it should behave like Page
should have a status code
should have a body
should provide transparent access to the response headers
should allow content-types
redirects
should provide access to page-level redirects
should include meta refresh redirects in the list of links
cookies
should provide access to the raw Cookie
DEPRECATION: Spidr::Page#cookie will be removed in 0.3.0
DEPRECATION: Use Spidr::Page#raw_cookie instead
should still support the deprecated #cookie method
should provide access to the Cookies
should provide access to the key->value pairs within the Cookie
Spidr::Rules
should accept data based on acceptance data
should accept data based on acceptance regexps
should match non-Strings using acceptance regexps
should accept data using acceptance lambdas
should reject data that does not match any acceptance patterns
should accept data that does not match any rejection patterns
Spidr::Sanitizers
sanitize_url
should sanitize URLs
should sanitize URLs given as Strings
strip_fragments
should strip fragment components by default
should allow perserving fragment components
strip_query
should not strip query components by default
should allow stripping of query components
Spidr
should have a VERSION constant
proxy
should not have proxy settings by default
should allow setting new proxy settings
should default the :port option of new proxy settings
should allow disabling the proxy
Finished in 77.77 seconds
148 examples, 0 failures
sgonyea@skg:~/Sites/spidr$ rake spec --trace
(in /Users/sgonyea/Sites/spidr)
** Invoke spec (first_time)
** Execute spec
/Users/sgonyea/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -S bundle exec rspec ./spec/actions_spec.rb ./spec/agent_spec.rb ./spec/auth_store_spec.rb ./spec/cookie_jar_spec.rb ./spec/extensions/uri_spec.rb ./spec/filters_spec.rb ./spec/page_spec.rb ./spec/rules_spec.rb ./spec/sanitizers_spec.rb ./spec/spidr_spec.rb
Spidr::Actions
should be able to pause spidering (FAILED - 1)
should be able to continue spidering after being paused
should allow skipping of enqueued links
should allow skipping of visited pages
Spidr::Agent
http://localhost:7070/course/start.html
should not visit links not part of the obstacle course
should visit the absolute links start page (FAILED - 2)
should visit absolute links to unvisited pages (FAILED - 3)
should visit the empty links start page (FAILED - 4)
should ignore links with blank href attributes
should visit the empty links start page (FAILED - 5)
should visit the contents of iframes (FAILED - 6)
should visit links within iframes (FAILED - 7)
should visit the contents of frames (FAILED - 8)
should visit links within frames (FAILED - 9)
should visit the javascript links start page (FAILED - 10)
should ignore target links
should ignore javascript: links
should visit the looping links start page (FAILED - 11)
should visit non-circular linking pages (FAILED - 12)
should visit the relative links start page (FAILED - 13)
should ignore in-page anchor links
should visit normal relative links (FAILED - 14)
should visit links relative to the current directory (FAILED - 15)
should visit relative links that traverse directories (FAILED - 16)
should visit the remote links start page (FAILED - 17)
should resolve the paths of remote links
should visit normal remote links (FAILED - 18)
should safely fail on closed ports (FAILED - 19)
should safely fail on unreachable IP Addresses (FAILED - 20)
should safely fail on host-names with invalid TLDs (FAILED - 21)
should safely fail on bad host-names (FAILED - 22)
should visit the cookies start page (FAILED - 23)
should visit the cookies GET request test page (FAILED - 24)
should visit the first cookie protected page (FAILED - 25)
should visit the HTTP redirects start page (FAILED - 26)
should visit the 300 HTTP redirect test page (FAILED - 27)
should follow HTTP 300 redirects (FAILED - 28)
should visit the 301 HTTP redirect test page (FAILED - 29)
should follow HTTP 301 redirects (FAILED - 30)
should visit the 302 HTTP redirect test page (FAILED - 31)
should follow HTTP 302 redirects (FAILED - 32)
should visit the 303 HTTP redirect test page (FAILED - 33)
should follow HTTP 303 redirects (FAILED - 34)
should visit the 307 HTTP redirect test page (FAILED - 35)
should follow HTTP 307 redirects (FAILED - 36)
should visit the meta refresh redirect test page (FAILED - 37)
should follow meta refresh (soft) redirects (FAILED - 38)
should visit the HTTP Auth start page (FAILED - 39)
should visit the HTTP Auth protected page (FAILED - 40)
should provide the history
should provide the queue
should be able to restore the history
should convert new histories to an Set of URIs
should be able to restore the failures
should convert new histories to a Set of URIs
should be able to restore the queue
should convert new queues to an Array of URIs
should provide a to_hash method that returns the queue and history
Spidr::AuthStore
should retrieve auth credentials for the URL
should add auth credentials for the URL
should override previous auth credentials
should clear all cookies
matching
should match a longer URL to the base
should match the longest of all matching URLs
should not match a URL with a different host
should not match a URL with an alternate path
for_url
should return nil if no authorization exists
should create an encoded authorization string
Spidr::CookieJar
should retrieve cookies for the named host
should add a cookie to the jar
should merge new cookies into the jar
should override previous cookies in the jar
should clear all cookies
dirty
should mark a cookie dirty after adding new params
should mark a cookie dirty after overriding params
should un-mark a cookie as dirty after re-encoding it
cookies_for_host
should return an empty Hash for unknown hosts
should return an empty Hash for hosts with no cookie params
should return cookie parameters for the host
should include cookies for the parent domain
for_host
should return nil for unknown hosts
should return nil for hosts with no cookie params
should encode single cookie params
should encode multiple cookie params
should include cookies for the parent domain
URI
expand_path
should preserve single directory paths
should preserve trailing '/'
should remove multiple '/' characters
should remove '.' directories from the path
should handle '..' directories properly
should limit the number of '..' directories resolved
should preserve absolute paths
should preserve the root path
should default empty paths to the root path
Spidr::Filters
should allow setting the acceptable schemes
should provide the hosts that will be visited
should provide the hosts that will not be visited
should provide the ports that will be visited
should provide the ports that will not be visited
should provide the links that will be visited
should provide the links that will not be visited
should provide the exts that will be visited
should provide the exts that will not be visited
Spidr::Page
html
should be OK
should have a content-type
should be a html page
should have provide a document (FAILED - 41)
should allow searching the document (FAILED - 42)
should have a title (FAILED - 43)
should have links (FAILED - 44)
it should behave like Page
should have a status code
should have a body
should provide transparent access to the response headers
should allow content-types
txt
should be OK
should have a content-type
should be a txt page
should not have provide a document
should not allow searching the document
should not have links
should not have a title
it should behave like Page
should have a status code
should have a body
should provide transparent access to the response headers
should allow content-types
redirects
should provide access to page-level redirects (FAILED - 45)
should include meta refresh redirects in the list of links (FAILED - 46)
cookies
should provide access to the raw Cookie
DEPRECATION: Spidr::Page#cookie will be removed in 0.3.0
DEPRECATION: Use Spidr::Page#raw_cookie instead
should still support the deprecated #cookie method
should provide access to the Cookies
should provide access to the key->value pairs within the Cookie
Spidr::Rules
should accept data based on acceptance data
should accept data based on acceptance regexps
should match non-Strings using acceptance regexps
should accept data using acceptance lambdas
should reject data that does not match any acceptance patterns
should accept data that does not match any rejection patterns
Spidr::Sanitizers
sanitize_url
should sanitize URLs
should sanitize URLs given as Strings
strip_fragments
should strip fragment components by default
should allow perserving fragment components
strip_query
should not strip query components by default
should allow stripping of query components
Spidr
should have a VERSION constant
proxy
should not have proxy settings by default
should allow setting new proxy settings
should default the :port option of new proxy settings
should allow disabling the proxy
Failures:
1) Spidr::Actions should be able to pause spidering
Failure/Error: agent.should be_paused
expected paused? to return true, got false
# ./spec/actions_spec.rb:15:in `block (2 levels) in <top (required)>'
2) Spidr::Agent should visit the absolute links start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
3) Spidr::Agent should visit absolute links to unvisited pages
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
4) Spidr::Agent should visit the empty links start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
5) Spidr::Agent should visit the empty links start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
6) Spidr::Agent should visit the contents of iframes
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
7) Spidr::Agent should visit links within iframes
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
8) Spidr::Agent should visit the contents of frames
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
9) Spidr::Agent should visit links within frames
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
10) Spidr::Agent should visit the javascript links start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
11) Spidr::Agent should visit the looping links start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
12) Spidr::Agent should visit non-circular linking pages
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
13) Spidr::Agent should visit the relative links start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
14) Spidr::Agent should visit normal relative links
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
15) Spidr::Agent should visit links relative to the current directory
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
16) Spidr::Agent should visit relative links that traverse directories
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
17) Spidr::Agent should visit the remote links start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
18) Spidr::Agent should visit normal remote links
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
19) Spidr::Agent should safely fail on closed ports
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:31:in `should_fail_link'
# (eval):3:in `block (2 levels) in included'
20) Spidr::Agent should safely fail on unreachable IP Addresses
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:31:in `should_fail_link'
# (eval):3:in `block (2 levels) in included'
21) Spidr::Agent should safely fail on host-names with invalid TLDs
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:31:in `should_fail_link'
# (eval):3:in `block (2 levels) in included'
22) Spidr::Agent should safely fail on bad host-names
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:31:in `should_fail_link'
# (eval):3:in `block (2 levels) in included'
23) Spidr::Agent should visit the cookies start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
24) Spidr::Agent should visit the cookies GET request test page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
25) Spidr::Agent should visit the first cookie protected page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
26) Spidr::Agent should visit the HTTP redirects start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
27) Spidr::Agent should visit the 300 HTTP redirect test page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
28) Spidr::Agent should follow HTTP 300 redirects
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
29) Spidr::Agent should visit the 301 HTTP redirect test page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
30) Spidr::Agent should follow HTTP 301 redirects
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
31) Spidr::Agent should visit the 302 HTTP redirect test page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
32) Spidr::Agent should follow HTTP 302 redirects
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
33) Spidr::Agent should visit the 303 HTTP redirect test page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
34) Spidr::Agent should follow HTTP 303 redirects
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
35) Spidr::Agent should visit the 307 HTTP redirect test page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
36) Spidr::Agent should follow HTTP 307 redirects
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
37) Spidr::Agent should visit the meta refresh redirect test page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
38) Spidr::Agent should follow meta refresh (soft) redirects
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
39) Spidr::Agent should visit the HTTP Auth start page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
40) Spidr::Agent should visit the HTTP Auth protected page
Failure/Error: Unable to find (eval) to read failed line
expected: true
got: false (using ==)
# ./spec/helpers/history.rb:18:in `should_visit_link'
# (eval):3:in `block (2 levels) in included'
41) Spidr::Page html should have provide a document
Failure/Error: @page.doc.class.should == Nokogiri::HTML::Document
NameError:
uninitialized constant RSpec::Core::ExampleGroup::Nested_7::Nested_1::Nokogiri
# ./spec/page_spec.rb:26:in `block (3 levels) in <top (required)>'
42) Spidr::Page html should allow searching the document
Failure/Error: @page.doc.search('//p').length.should == 2
NoMethodError:
undefined method `search' for nil:NilClass
# ./spec/page_spec.rb:30:in `block (3 levels) in <top (required)>'
43) Spidr::Page html should have a title
Failure/Error: @page.title.should == 'Spidr :: Web-Spider Obstacle Course :: Start'
expected: "Spidr :: Web-Spider Obstacle Course :: Start"
got: nil (using ==)
# ./spec/page_spec.rb:35:in `block (3 levels) in <top (required)>'
44) Spidr::Page html should have links
Failure/Error: @page.links.should_not be_empty
expected empty? to return false, got true
# ./spec/page_spec.rb:39:in `block (3 levels) in <top (required)>'
45) Spidr::Page redirects should provide access to page-level redirects
Failure/Error: @page.redirects_to.should == ['http://spidr.rubyforge.org/redirected']
expected: ["http://spidr.rubyforge.org/redirected"]
got: [] (using ==)
Diff:
@@ -1,2 +1,2 @@
-["http://spidr.rubyforge.org/redirected"]
+[]
# ./spec/page_spec.rb:87:in `block (3 levels) in <top (required)>'
46) Spidr::Page redirects should include meta refresh redirects in the list of links
Failure/Error: @page.links.should include('http://spidr.rubyforge.org/redirected')
expected [] to include "http://spidr.rubyforge.org/redirected"
Diff:
@@ -1,2 +1,2 @@
-http://spidr.rubyforge.org/redirected
+[]
# ./spec/page_spec.rb:91:in `block (3 levels) in <top (required)>'
Finished in 2.14 seconds
148 examples, 46 failures
rake aborted!
ruby -S bundle exec rspec ./spec/actions_spec.rb ./spec/agent_spec.rb ./spec/auth_store_spec.rb ./spec/cookie_jar_spec.rb ./spec/extensions/uri_spec.rb ./spec/filters_spec.rb ./spec/page_spec.rb ./spec/rules_spec.rb ./spec/sanitizers_spec.rb ./spec/spidr_spec.rb failed
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rspec-core-2.5.1/lib/rspec/core/rake_task.rb:139:in `rescue in block (2 levels) in initialize'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rspec-core-2.5.1/lib/rspec/core/rake_task.rb:135:in `block (2 levels) in initialize'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rspec-core-2.5.1/lib/rspec/core/rake_task.rb:131:in `block in initialize'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:636:in `block in execute'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:597:in `block in invoke_with_call_chain'
/Users/sgonyea/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2029:in `block (2 levels) in top_level'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2029:in `block in top_level'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2001:in `block in run'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/bin/rake:31:in `<top (required)>'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/bin/rake:19:in `load'
/Users/sgonyea/.rvm/gems/ruby-1.9.2-p136/bin/rake:19:in `<main>'
sgonyea@skg:~/Sites/spidr$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment