/** | |
* Copyright (c) 2008-2011, http://www.snakeyaml.org | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package org.yaml.snakeyaml; | |
import java.io.IOException; | |
import java.io.Writer; | |
import java.util.ArrayList; | |
import java.util.List; | |
import junit.framework.TestCase; | |
import org.yaml.snakeyaml.resolver.Resolver; | |
public class DumperTest extends TestCase { | |
public void testDump1() { | |
DumperOptions options = new DumperOptions(); | |
options.setDefaultScalarStyle(DumperOptions.ScalarStyle.DOUBLE_QUOTED); | |
options.setExplicitStart(true); | |
options.setExplicitEnd(true); | |
List<Integer> list = new ArrayList<Integer>(); | |
for (int i = 0; i < 3; i++) { | |
list.add(i); | |
} | |
Yaml yaml = new Yaml(options); | |
String output = yaml.dump(list); | |
assertEquals("---\n- !!int \"0\"\n- !!int \"1\"\n- !!int \"2\"\n...\n", output); | |
} | |
public void testDump2() { | |
DumperOptions options = new DumperOptions(); | |
options.setExplicitStart(true); | |
List<Integer> list = new ArrayList<Integer>(); | |
for (int i = 0; i < 3; i++) { | |
list.add(i); | |
} | |
Yaml yaml = new Yaml(options); | |
String output = yaml.dump(list); | |
assertEquals("--- [0, 1, 2]\n", output); | |
} | |
public void testDump3() { | |
DumperOptions options = new DumperOptions(); | |
options.setDefaultScalarStyle(DumperOptions.ScalarStyle.SINGLE_QUOTED); | |
List<Integer> list = new ArrayList<Integer>(); | |
for (int i = 0; i < 3; i++) { | |
list.add(i); | |
} | |
Yaml yaml = new Yaml(options); | |
String output = yaml.dump(list); | |
assertEquals("- !!int '0'\n- !!int '1'\n- !!int '2'\n", output); | |
} | |
public void testDumpException() { | |
Yaml yaml = new Yaml(); | |
Writer writer = new ExceptionWriter1(); | |
try { | |
yaml.dump("aaa1234567890", writer); | |
fail("Exception must be thrown."); | |
} catch (Exception e) { | |
assertEquals("java.io.IOException: write test failure.", e.getMessage()); | |
} | |
} | |
private class ExceptionWriter1 extends Writer { | |
@Override | |
public void write(String str) throws IOException { | |
throw new IOException("write test failure."); | |
} | |
@Override | |
public void close() throws IOException { | |
} | |
@Override | |
public void flush() throws IOException { | |
} | |
@Override | |
public void write(char[] cbuf, int off, int len) throws IOException { | |
throw new IOException("write test failure."); | |
} | |
} | |
@SuppressWarnings("deprecation") | |
public void testDeprecated1() { | |
Yaml yaml = new Yaml(new Dumper()); | |
yaml.dump("aaa1234567890"); | |
} | |
@SuppressWarnings("deprecation") | |
public void testDeprecated2() { | |
DumperOptions options = new DumperOptions(); | |
options.setCanonical(true); | |
Yaml yaml = new Yaml(new Loader(), new Dumper(options), new Resolver()); | |
String doc = yaml.dump("aaa1234567890"); | |
assertEquals("---\n!!str \"aaa1234567890\"\n", doc); | |
} | |
} |