summaryrefslogtreecommitdiff
path: root/spec/ruby/library/digest/bubblebabble_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/digest/bubblebabble_spec.rb')
-rw-r--r--spec/ruby/library/digest/bubblebabble_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/ruby/library/digest/bubblebabble_spec.rb b/spec/ruby/library/digest/bubblebabble_spec.rb
new file mode 100644
index 0000000000..49cc77e623
--- /dev/null
+++ b/spec/ruby/library/digest/bubblebabble_spec.rb
@@ -0,0 +1,29 @@
+require File.expand_path('../../../spec_helper', __FILE__)
+require 'digest/bubblebabble'
+
+describe "Digest.bubblebabble" do
+ it "returns a String" do
+ Digest.bubblebabble('').should be_an_instance_of(String)
+ end
+
+ it "returns a String in the The Bubble Babble Binary Data Encoding format" do
+ Digest.bubblebabble('').should == 'xexax'
+ Digest.bubblebabble('foo').should == 'xinik-zorox'
+ Digest.bubblebabble('bar').should == 'ximik-cosex'
+ Digest.bubblebabble('1234567890').should == 'xesef-disof-gytuf-katof-movif-baxux'
+ end
+
+ it "calls #to_str on an object and returns the bubble babble value of the result" do
+ obj = mock("to_str")
+ obj.should_receive(:to_str).and_return('foo')
+ Digest.bubblebabble(obj).should == 'xinik-zorox'
+ end
+
+ it "raises a TypeError when passed nil" do
+ lambda { Digest.bubblebabble(nil) }.should raise_error(TypeError)
+ end
+
+ it "raises a TypeError when passed a Fixnum" do
+ lambda { Digest.bubblebabble(9001) }.should raise_error(TypeError)
+ end
+end