1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.yaml.snakeyaml.representer;
18
19 import junit.framework.TestCase;
20
21 import org.yaml.snakeyaml.DumperOptions;
22 import org.yaml.snakeyaml.Util;
23 import org.yaml.snakeyaml.Yaml;
24
25 public class DumpStackTraceTest extends TestCase {
26
27 public void testJavaStackTrace() {
28 Yaml yaml = new Yaml();
29 String input = Util.getLocalResource("representer/stacktrace1.txt");
30 String result = yaml.dump(input);
31
32 assertEquals(result, yaml.dump(yaml.load(result)));
33 }
34
35 public void testJavaStackTraceWithNoSpecialCharacters() {
36 DumperOptions options = new DumperOptions();
37 options.setWidth(50);
38 Yaml yaml = new Yaml(options);
39 String input = Util.getLocalResource("representer/stacktrace2.txt");
40 assertEquals(-1, input.indexOf(':'));
41 assertEquals(-1, input.indexOf('\t'));
42 String result = yaml.dump(input);
43
44 assertEquals(result, yaml.dump(yaml.load(result)));
45 }
46
47 public void testJavaStackTraceWithTabs() {
48 Yaml yaml = new Yaml();
49 String input = Util.getLocalResource("representer/stacktrace3.txt");
50 assertEquals(-1, input.indexOf(':'));
51 assertTrue("Tabs must be used.", input.indexOf('\t') > 0);
52 String result = yaml.dump(input);
53
54 assertEquals(result, yaml.dump(yaml.load(result)));
55 }
56
57 public void testJavaStackTrace2() {
58 Yaml yaml = new Yaml();
59 String input = Util.getLocalResource("representer/stacktrace1.txt");
60 assertTrue("Double quote must be used.", input.indexOf('"') > 0);
61 assertTrue("Colon must be used.", input.indexOf(':') > 0);
62 assertTrue("Tabs must be used.", input.indexOf('\t') > 0);
63 String result = (String) yaml.dump(input);
64
65 String etalon = Util.getLocalResource("representer/stacktrace1.yaml");
66 assertFalse(etalon.equals(result));
67
68
69
70 }
71 }