Package org.yaml.snakeyaml

Source Code of org.yaml.snakeyaml.LoaderTest

/**
* Copyright (c) 2008-2012, 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.StringReader;
import java.util.List;

import junit.framework.TestCase;

import org.yaml.snakeyaml.error.Mark;
import org.yaml.snakeyaml.nodes.MappingNode;
import org.yaml.snakeyaml.nodes.Node;
import org.yaml.snakeyaml.nodes.NodeId;
import org.yaml.snakeyaml.nodes.NodeTuple;
import org.yaml.snakeyaml.nodes.ScalarNode;
import org.yaml.snakeyaml.nodes.Tag;
import org.yaml.snakeyaml.resolver.Resolver;

public class LoaderTest extends TestCase {

    public void testCompose1() {
        Yaml loader = new Yaml();
        String yaml = "abc: 3";
        MappingNode node = (MappingNode) loader.compose(new StringReader(yaml));
        List<NodeTuple> nodes = node.getValue();
        assertEquals(1, nodes.size());
        NodeTuple pairs = nodes.get(0);
        ScalarNode key = (ScalarNode) pairs.getKeyNode();
        assertEquals(Tag.STR, key.getTag());
        assertEquals("abc", key.getValue());
        //
        ScalarNode value = (ScalarNode) pairs.getValueNode();
        assertEquals(Tag.INT, value.getTag());
        assertEquals("3", value.getValue());
        //
        assertEquals(
                "<org.yaml.snakeyaml.nodes.MappingNode (tag=tag:yaml.org,2002:map, values={ key=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=abc)>; value=<NodeTuple keyNode=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=abc)>; valueNode=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:int, value=3)>> })>",
                node.toString());
    }

    @SuppressWarnings("deprecation")
    public void testCompose2() {
        LoaderOptions options = new LoaderOptions();
        Yaml loader = new Yaml(options);
        String yaml = "3";
        ScalarNode node = (ScalarNode) loader.compose(new StringReader(yaml));
        assertEquals(Tag.INT, node.getTag());
        assertEquals("3", node.getValue());
        // not sure whether it should be null or 0
        assertEquals(Character.valueOf('\u0000'), node.getStyle());
        assertEquals(Object.class, node.getType());
        Mark mark = node.getStartMark();
        assertEquals(0, mark.getColumn());
        assertEquals(0, mark.getLine());
        assertEquals("'reader'", mark.getName());
        assertEquals("    3\n    ^", mark.get_snippet());
        assertEquals("<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:int, value=3)>",
                node.toString());
    }

    public void testComposeAll() {
        Yaml loader = new Yaml();
        String yaml = "abc: 3\n---\n2\n---\n- qwe\n- asd\n";
        int counter = 0;
        for (Node node : loader.composeAll(new StringReader(yaml))) {
            assertNotNull(node);
            switch (counter++) {
            case 0:
                assertEquals(NodeId.mapping, node.getNodeId());
                break;
            case 1:
                assertEquals(NodeId.scalar, node.getNodeId());
                break;
            case 2:
                assertEquals(NodeId.sequence, node.getNodeId());
                break;
            default:
                fail("Unexpected document.");
            }
        }
    }

    @SuppressWarnings("deprecation")
    public void testDeprecated() {
        Yaml yaml = new Yaml(new Loader());
        yaml.load("123");
        yaml = new Yaml(new Loader(), new Dumper());
        yaml.load("123");
        yaml = new Yaml(new Loader(), new Dumper(), new Resolver());
        yaml.load("123");
    }
}
TOP

Related Classes of org.yaml.snakeyaml.LoaderTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.