spec/vidibus/uuid_spec.rb in vidibus-uuid-0.3.6 vs spec/vidibus/uuid_spec.rb in vidibus-uuid-0.3.7
- old
+ new
@@ -1,8 +1,49 @@
require "spec_helper"
describe "Vidibus::Uuid" do
+ describe ".generate" do
+
+ end
it "should return a compact UUID" do
uuid = Vidibus::Uuid.generate
uuid.length.should eql(32)
+ end
+
+ describe ".validate" do
+ it "should validate a valid compact UUID" do
+ Vidibus::Uuid.validate("ddeb4500668e012d47bb58b035f038ab").should be_true
+ end
+
+ it "should validate a valid compact UUID that is given as symbol" do
+ Vidibus::Uuid.validate(:ddeb4500668e012d47bb58b035f038ab).should be_true
+ end
+
+ it "should not validate an UUID that is not compact" do
+ Vidibus::Uuid.validate("87a96db0-9a91-012d-59e4-58b035f038ab").should be_false
+ end
+
+ it "should not validate a string that looks like an UUID, but is too short" do
+ Vidibus::Uuid.validate("dbeb4500668e0f839aefg928930efcca").should be_false
+ end
+
+ it "should not validate a random symbol" do
+ Vidibus::Uuid.validate(:something).should be_false
+ end
+
+ it "should not validate a random string with 32 characters" do
+ Vidibus::Uuid.validate("somerandomstringwith32characters").should be_false
+ end
+
+ it "should not validate a string containing non-hex characters" do
+ Vidibus::Uuid.validate("xdeb4500668e012d47bb58b035f038ab").should be_false
+ end
+
+ it "should not validate nil" do
+ Vidibus::Uuid.validate(nil).should be_false
+ end
+
+ it "should not validate an empty string" do
+ Vidibus::Uuid.validate("").should be_false
+ end
end
end