View Javadoc

1   /**
2    * Copyright (c) 2008-2011, http://www.snakeyaml.org
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.yaml.snakeyaml.tokens;
18  
19  import junit.framework.TestCase;
20  
21  import org.yaml.snakeyaml.error.Mark;
22  import org.yaml.snakeyaml.error.YAMLException;
23  import org.yaml.snakeyaml.tokens.Token.ID;
24  
25  public class TagTokenTest extends TestCase {
26  
27      public void testGetArguments() {
28          Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
29          TagToken token = new TagToken(new TagTuple("!foo", "!bar"), mark, mark);
30          assertEquals("value=[!foo, !bar]", token.getArguments());
31      }
32  
33      public void testNoMarks() {
34          Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
35          try {
36              new TagToken(new TagTuple("!foo", "!bar"), null, mark);
37              fail("Token without start mark should not be accepted.");
38          } catch (YAMLException e) {
39              assertEquals("Token requires marks.", e.getMessage());
40          }
41          try {
42              new TagToken(new TagTuple("!foo", "!bar"), mark, null);
43              fail("Token without end mark should not be accepted.");
44          } catch (YAMLException e) {
45              assertEquals("Token requires marks.", e.getMessage());
46          }
47      }
48  
49      public void testNoTag() {
50          try {
51              Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
52              new TagToken(new TagTuple("!foo", null), mark, mark);
53              fail("Marks must be provided.");
54          } catch (NullPointerException e) {
55              assertEquals("Suffix must be provided.", e.getMessage());
56          }
57      }
58  
59      public void testGetTokenId() {
60          Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
61          TagToken token = new TagToken(new TagTuple("!foo", "!bar"), mark, mark);
62          assertEquals(ID.Tag, token.getTokenId());
63      }
64  }