spec/base_spec.rb in bbcoder-1.0.0 vs spec/base_spec.rb in bbcoder-1.0.1

- old
+ new

@@ -3,29 +3,57 @@ describe BBCoder do subject { BBCoder.new("[p]Text and now [b]bolded.[/b][/p]") } context "#configuration" do + before do + @tags = BBCoder::Configuration.class_variable_get(:@@tags).clone + end + + after do + BBCoder::Configuration.class_variable_set(:@@tags, @tags) + end + it "should return the same object for multiple calls" do BBCoder.configuration.should == BBCoder.configuration end + + it "should allow to clear the configuration" do + BBCoder.configuration.clear + BBCoder.configuration[:spoiler].should be_nil + end end context "#buffer" do it "should return the same object for multiple calls" do subject.buffer.should == subject.buffer end end context "#configure" do + before do + @tags = BBCoder::Configuration.class_variable_get(:@@tags).clone + end + + after do + BBCoder::Configuration.class_variable_set(:@@tags, @tags) + end + it "should fail without a block" do lambda { BBCoder.configure }.should raise_error end it "should instance_eval the block onto configuration" do block = Proc.new { tag :p } mock(BBCoder).configuration.stub!.instance_eval(&block) BBCoder.configure(&block) + end + + it "should be able to remove a tag" do + BBCoder.configure do + remove :spoiler + end + BBCoder.configuration[:spoiler].should be_nil end end context "#initialize" do it "should split tags up properly" do