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..44a9bf0e26
--- /dev/null
+++ b/spec/ruby/library/digest/bubblebabble_spec.rb
@@ -0,0 +1,29 @@
+require_relative '../../spec_helper'
+require 'digest/bubblebabble'
+
+describe "Digest.bubblebabble" do
+ it "returns a String" do
+ Digest.bubblebabble('').should.instance_of?(String)
+ end
+
+ it "returns a String in 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
+ -> { Digest.bubblebabble(nil) }.should.raise(TypeError)
+ end
+
+ it "raises a TypeError when passed an Integer" do
+ -> { Digest.bubblebabble(9001) }.should.raise(TypeError)
+ end
+end