diff options
Diffstat (limited to 'spec/rubyspec/library/rexml/document/write_spec.rb')
-rw-r--r-- | spec/rubyspec/library/rexml/document/write_spec.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/rubyspec/library/rexml/document/write_spec.rb b/spec/rubyspec/library/rexml/document/write_spec.rb new file mode 100644 index 0000000000..f2a7e2c200 --- /dev/null +++ b/spec/rubyspec/library/rexml/document/write_spec.rb @@ -0,0 +1,35 @@ +require 'rexml/document' +require 'rexml/formatters/transitive' +require File.expand_path('../../../../spec_helper', __FILE__) + +# Maybe this can be cleaned +describe "REXML::Document#write" do + before :each do + @d = REXML::Document.new + city = REXML::Element.new "Springfield" + street = REXML::Element.new "EvergreenTerrace" + address = REXML::Element.new "House742" + @d << city << street << address + @str = "" + end + + it "returns document source as string" do + @d.write(@str) + @str.should == "<Springfield><EvergreenTerrace><House742/></EvergreenTerrace></Springfield>" + end + + it "returns document indented" do + @d.write(@str, 2) + @str.should =~ /\s*<Springfield>\s*<EvergreenTerrace>\s*<House742\/>\s*<\/EvergreenTerrace>\s*<\/Springfield>/ + end + + it "returns document with transitive support" do + @d.write(@str, 2, true) + @str.should =~ /\s*<Springfield\s*><EvergreenTerrace\s*><House742\s*\/><\/EvergreenTerrace\s*><\/Springfield\s*>/ + end + + it "returns document with support for IE" do + @d.write(@str, -1, false, true) + @str.should == "<Springfield><EvergreenTerrace><House742 /></EvergreenTerrace></Springfield>" + end +end |