1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.yaml.snakeyaml;
18
19 import java.io.IOException;
20 import java.io.Writer;
21 import java.util.ArrayList;
22 import java.util.List;
23
24 import junit.framework.TestCase;
25
26 import org.yaml.snakeyaml.resolver.Resolver;
27
28 public class DumperTest extends TestCase {
29
30 public void testDump1() {
31 DumperOptions options = new DumperOptions();
32 options.setDefaultScalarStyle(DumperOptions.ScalarStyle.DOUBLE_QUOTED);
33 options.setExplicitStart(true);
34 options.setExplicitEnd(true);
35 List<Integer> list = new ArrayList<Integer>();
36 for (int i = 0; i < 3; i++) {
37 list.add(i);
38 }
39 Yaml yaml = new Yaml(options);
40 String output = yaml.dump(list);
41 assertEquals("---\n- !!int \"0\"\n- !!int \"1\"\n- !!int \"2\"\n...\n", output);
42 }
43
44 public void testDump2() {
45 DumperOptions options = new DumperOptions();
46 options.setExplicitStart(true);
47 List<Integer> list = new ArrayList<Integer>();
48 for (int i = 0; i < 3; i++) {
49 list.add(i);
50 }
51 Yaml yaml = new Yaml(options);
52 String output = yaml.dump(list);
53 assertEquals("--- [0, 1, 2]\n", output);
54 }
55
56 public void testDump3() {
57 DumperOptions options = new DumperOptions();
58 options.setDefaultScalarStyle(DumperOptions.ScalarStyle.SINGLE_QUOTED);
59 List<Integer> list = new ArrayList<Integer>();
60 for (int i = 0; i < 3; i++) {
61 list.add(i);
62 }
63 Yaml yaml = new Yaml(options);
64 String output = yaml.dump(list);
65 assertEquals("- !!int '0'\n- !!int '1'\n- !!int '2'\n", output);
66 }
67
68 public void testDumpException() {
69 Yaml yaml = new Yaml();
70 Writer writer = new ExceptionWriter1();
71 try {
72 yaml.dump("aaa1234567890", writer);
73 fail("Exception must be thrown.");
74 } catch (Exception e) {
75 assertEquals("java.io.IOException: write test failure.", e.getMessage());
76 }
77 }
78
79 private class ExceptionWriter1 extends Writer {
80 @Override
81 public void write(String str) throws IOException {
82 throw new IOException("write test failure.");
83 }
84
85 @Override
86 public void close() throws IOException {
87 }
88
89 @Override
90 public void flush() throws IOException {
91 }
92
93 @Override
94 public void write(char[] cbuf, int off, int len) throws IOException {
95 throw new IOException("write test failure.");
96 }
97 }
98
99 @SuppressWarnings("deprecation")
100 public void testDeprecated1() {
101 Yaml yaml = new Yaml(new Dumper());
102 yaml.dump("aaa1234567890");
103 }
104
105 @SuppressWarnings("deprecation")
106 public void testDeprecated2() {
107 DumperOptions options = new DumperOptions();
108 options.setCanonical(true);
109 Yaml yaml = new Yaml(new Loader(), new Dumper(options), new Resolver());
110 String doc = yaml.dump("aaa1234567890");
111 assertEquals("---\n!!str \"aaa1234567890\"\n", doc);
112 }
113 }