require File.dirname(__FILE__) + "/../../spec_helper" module Simply describe HTMLBuilder, "with locals" do before(:each) do @builder = HTMLBuilder.new(:indented => false) end it "should have access to a variables value" do @builder.locals = { :foo => "bar" } @builder.ul do li foo end @builder.to_s.should == "" end it "should convert integer keys to strings" do @builder.locals = { :foo => 1 } @builder.ul do li foo end @builder.to_s.should == "" end it "should be able to use any number of keys" do @builder.locals = { :foo => 1, :bar => 2, :baz => 3} @builder.ul do li foo li bar li baz end @builder.to_s.should == "" end it "should take locals in the constructor" do builder = HTMLBuilder.new(:locals => { :foo => "bar", :bar => "baz" }, :indented => false) do ul do li foo li bar end end builder.to_s.should == "" end it "should be able to pass in several sets of locals at different times" do builder = HTMLBuilder.new(:locals => {:foo => "1"}, :indented => false) builder.locals = {:bar => "2"} builder.ul do li foo li bar end builder.to_s.should == "" end end end