spec/cases/utils_spec.rb in koala-1.2.1 vs spec/cases/utils_spec.rb in koala-1.3.0rc1
- old
+ new
@@ -1,10 +1,34 @@
require 'spec_helper'
describe Koala::Utils do
- it "has a deprecate method" do
- Koala::Utils.should respond_to(:deprecate)
- end
+ describe ".deprecate" do
+ before :each do
+ # unstub deprecate so we can test it
+ Koala::Utils.unstub(:deprecate)
+ end
+
+ it "has a deprecation prefix that includes the words Koala and deprecation" do
+ Koala::Utils::DEPRECATION_PREFIX.should =~ /koala/i
+ Koala::Utils::DEPRECATION_PREFIX.should =~ /deprecation/i
+ end
+
+ it "prints a warning with Kernel.warn" do
+ message = Time.now.to_s + rand.to_s
+ Kernel.should_receive(:warn)
+ Koala::Utils.deprecate(message)
+ end
- # AFAIK there's no way to test that (Kernel.)warn receives the text
- # Kernel.should_receive(:warn) doesn't seem to work, even though the text gets printed
+ it "prints the deprecation prefix and the warning" do
+ message = Time.now.to_s + rand.to_s
+ Kernel.should_receive(:warn).with(Koala::Utils::DEPRECATION_PREFIX + message)
+ Koala::Utils.deprecate(message)
+ end
+
+ it "only prints each unique message once" do
+ message = Time.now.to_s + rand.to_s
+ Kernel.should_receive(:warn).once
+ Koala::Utils.deprecate(message)
+ Koala::Utils.deprecate(message)
+ end
+ end
end
\ No newline at end of file