aboutsummaryrefslogtreecommitdiffstats
path: root/spec/rubyspec/library/rexml/document/write_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/library/rexml/document/write_spec.rb')
-rw-r--r--spec/rubyspec/library/rexml/document/write_spec.rb35
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