Skip to content

Commit

Permalink
Finished specs for Google::Search::Web
Browse files Browse the repository at this point in the history
  • Loading branch information
tj committed Jul 23, 2009
1 parent 13d7f2b commit 48db81d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
8 changes: 4 additions & 4 deletions lib/google-search/search/web.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class Web < self
# - :off
#

attr_accessor :safe
attr_accessor :safety_level

##
# Weither or not to filter duplicate results.
Expand All @@ -28,17 +28,17 @@ class Web < self
#:nodoc:

def initialize options = {}, &block
@safe = options.delete :safe
@safe = options.delete :safety_level
@filter = options.delete(:filter) || 1
super :web, options, &block
end

#:nodoc:

def get_uri_params
raise Error, "invalid safety level `#{safe}'" unless safe.nil? || SAFETY_LEVELS.include?(safe)
raise Error, "invalid safety level `#{safety_level}'" unless safety_level.nil? || SAFETY_LEVELS.include?(safety_level)
super + [
[:safe, safe],
[:safe, safety_level],
[ :filter, filter ? 1 : 0]]
end
end
Expand Down
12 changes: 12 additions & 0 deletions spec/search_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,18 @@
end

describe "#get_uri" do
describe "safety_level" do
it "should validate" do
@search.safety_level = :moderate
lambda { @search.get_uri }.should_not raise_error
end

it "should raise an error when invalid" do
@search.safety_level = :foo
lambda { @search.get_uri }.should raise_error(Google::Search::Error, /safety/)
end
end

describe "filter" do
it "should default to 1" do
@search.get_uri.should include('filter=1')
Expand Down

0 comments on commit 48db81d

Please sign in to comment.