blob: 9350b437758af6dbfc64dd101f6a7db9199508c1 [file] [log] [blame]
/*
* See LICENSE file in distribution for copyright and licensing information.
*/
package org.yaml.snakeyaml.tokens;
import junit.framework.TestCase;
import org.yaml.snakeyaml.error.Mark;
import org.yaml.snakeyaml.error.YAMLException;
public class TagTokenTest extends TestCase {
public void testGetArguments() {
Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
TagToken token = new TagToken(new String[] { "!foo", "!bar" }, mark, mark);
assertEquals("value=[!foo, !bar]", token.getArguments());
}
public void testNoMarks() {
Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
try {
new TagToken(new String[] { "!foo", "!bar" }, null, mark);
fail("Token without start mark should not be accepted.");
} catch (YAMLException e) {
assertEquals("Token requires marks.", e.getMessage());
}
try {
new TagToken(new String[] { "!foo", "!bar" }, mark, null);
fail("Token without end mark should not be accepted.");
} catch (YAMLException e) {
assertEquals("Token requires marks.", e.getMessage());
}
}
public void testNoTag() {
try {
Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
new TagToken(new String[] { "!foo" }, mark, mark);
fail("Marks must be provided.");
} catch (Exception e) {
assertEquals("Two strings must be provided instead of 1", e.getMessage());
}
}
public void testGetTokenId() {
Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
TagToken token = new TagToken(new String[] { "!foo", "!bar" }, mark, mark);
assertEquals("<tag>", token.getTokenId());
}
}