1b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov/**
211a89b445f3bde56bf07e6a0d04f0b0256dcb215Andrey Somov * Copyright (c) 2008, http://www.snakeyaml.org
3b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov *
4b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * Licensed under the Apache License, Version 2.0 (the "License");
5b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * you may not use this file except in compliance with the License.
6b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * You may obtain a copy of the License at
7b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov *
8b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov *     http://www.apache.org/licenses/LICENSE-2.0
9b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov *
10b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * Unless required by applicable law or agreed to in writing, software
11b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * distributed under the License is distributed on an "AS IS" BASIS,
12b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * See the License for the specific language governing permissions and
14b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * limitations under the License.
15b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov */
16b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somovpackage org.yaml.snakeyaml.error;
17b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
18b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somovimport junit.framework.TestCase;
19b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
20b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somovpublic class MarkTest extends TestCase {
21b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
22b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    public void testGet_snippet() {
23b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
24b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals("    *The first line.\n    ^", mark.get_snippet());
25b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        mark = new Mark("test1", 9, 0, 0, "The first*line.\nThe last line.", 9);
26b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals("    The first*line.\n             ^", mark.get_snippet());
27b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    }
28b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
29b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    public void testToString() {
30b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
31b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        String[] lines = mark.toString().split("\n");
329e3a1e557dd22a86e235db32daae8e449baa0379Andrey Somov        assertEquals(" in test1, line 1, column 1:", lines[0]);
33b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals("*The first line.", lines[1].trim());
34b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals("^", lines[2].trim());
35b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    }
36b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
37b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    public void testPosition() {
38b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        Mark mark = new Mark("test1", 17, 29, 213, "*The first line.\nThe last line.", 0);
39b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals(17, mark.getIndex());
40b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals(29, mark.getLine());
41b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals(213, mark.getColumn());
42b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    }
43b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov}
44