An example added: how to dump multiline literal scalars
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 89f8d14..a5fd89b 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -8,10 +8,13 @@
 	<body>

         <release version="1.10-SNAPSHOT" date="in Mercurial" description="Development">

              <action dev="py4fun" type="add">

-                Added example how to dump recursive object for issue 133 (2011-09-14)

+                An example added: how to dump multiline literal scalars (2011-10-04)

              </action>

              <action dev="py4fun" type="add">

-                Added a test for issue 132 (2011-09-13)

+                An example added: how to dump recursive object for issue 133 (2011-09-14)

+             </action>

+             <action dev="py4fun" type="add">

+                A test added for issue 132 (2011-09-13)

              </action>

              <action dev="py4fun" type="update">

                 Finish 1.9 release (2011-08-15)

diff --git a/src/test/java/org/yaml/snakeyaml/emitter/EmitterMultiLineTest.java b/src/test/java/org/yaml/snakeyaml/emitter/EmitterMultiLineTest.java
index 3bc3662..1e42317 100644
--- a/src/test/java/org/yaml/snakeyaml/emitter/EmitterMultiLineTest.java
+++ b/src/test/java/org/yaml/snakeyaml/emitter/EmitterMultiLineTest.java
@@ -20,6 +20,8 @@
 

 import junit.framework.TestCase;

 

+import org.yaml.snakeyaml.DumperOptions;

+import org.yaml.snakeyaml.DumperOptions.FlowStyle;

 import org.yaml.snakeyaml.Yaml;

 

 public class EmitterMultiLineTest extends TestCase {

@@ -35,14 +37,62 @@
         assertEquals(plain, parsed);

     }

 

-    public void testWriteMultiLineLiteral() {

-        String source = "a: 1\nb: |-\n  mama\n  mila\n  ramu\n";

+    public void testWriteMultiLineLiteralNoChomping() {

+        String source = "a: 1\nb: |\n  mama\n  mila\n  ramu\n";

         // System.out.println("Source:\n" + source);

-        Yaml yaml = new Yaml();

+        DumperOptions options = new MyOptions();

+        Yaml yaml = new Yaml(options);

+        @SuppressWarnings("unchecked")

+        Map<String, Object> parsed = (Map<String, Object>) yaml.load(source);

+        String value = (String) parsed.get("b");

+        // System.out.println(value);

+        assertEquals("mama\nmila\nramu\n", value);

+        String dumped = yaml.dump(parsed);

+        // System.out.println(dumped);

+        assertEquals("{a: 1, b: |\n    mama\n    mila\n    ramu\n}\n", dumped);

+    }

+

+    public void testWriteMultiLineSingleQuotedInFlowContext() {

+        String source = "{a: 1, b: 'mama\n\n    mila\n\n    ramu'}\n";

+        // System.out.println("Source:\n" + source);

+        DumperOptions options = new DumperOptions();

+        options.setDefaultFlowStyle(FlowStyle.FLOW);

+        Yaml yaml = new Yaml(options);

         @SuppressWarnings("unchecked")

         Map<String, Object> parsed = (Map<String, Object>) yaml.load(source);

         String value = (String) parsed.get("b");

         // System.out.println(value);

         assertEquals("mama\nmila\nramu", value);

+        String dumped = yaml.dump(parsed);

+        // System.out.println(dumped);

+        assertEquals(source, dumped);

+    }

+

+    public void testWriteMultiLineLiteralWithStripChomping() {

+        String source = "a: 1\nb: |-\n  mama\n  mila\n  ramu\n";

+        // System.out.println("Source:\n" + source);

+        DumperOptions options = new MyOptions();

+        options.setDefaultFlowStyle(FlowStyle.BLOCK);

+        Yaml yaml = new Yaml(options);

+        @SuppressWarnings("unchecked")

+        Map<String, Object> parsed = (Map<String, Object>) yaml.load(source);

+        String value = (String) parsed.get("b");

+        // System.out.println(value);

+        assertEquals("mama\nmila\nramu", value);

+        String dumped = yaml.dump(parsed);

+        // System.out.println(dumped);

+        assertEquals(source, dumped);

+    }

+

+    private class MyOptions extends DumperOptions {

+        @Override

+        public DumperOptions.ScalarStyle calculateScalarStyle(ScalarAnalysis analysis,

+                DumperOptions.ScalarStyle style) {

+            if (analysis.scalar.length() > 8) {

+                return ScalarStyle.LITERAL;

+            } else {

+                return super.calculateScalarStyle(analysis, style);

+            }

+        }

     }

 }