1. Project Clover database Tue Dec 20 2016 21:24:09 CET
  2. Package org.xwiki.rendering.wikimodel.test

File XWikiReferenceParserTest.java

 

Code metrics

0
40
8
1
131
97
8
0.2
5
8
1

Classes

Class Line # Actions
XWikiReferenceParserTest 33 40 0% 8 0
1.0100%
 

Contributing tests

This file is covered by 8 tests. .

Source view

1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.rendering.wikimodel.test;
21   
22    import org.xwiki.rendering.wikimodel.WikiParameters;
23    import org.xwiki.rendering.wikimodel.WikiReference;
24    import org.xwiki.rendering.wikimodel.xwiki.xwiki20.XWikiReferenceParser;
25   
26    import org.junit.Assert;
27    import junit.framework.TestCase;
28   
29    /**
30    * @version $Id: a019cd6bed5786d3fd23de022607bbb22044fcf2 $
31    * @since 4.0M1
32    */
 
33    public class XWikiReferenceParserTest extends TestCase
34    {
 
35  1 toggle public void testParseReferenceWhenReferenceOnly()
36    {
37  1 XWikiReferenceParser parser = new XWikiReferenceParser();
38  1 WikiReference reference = parser.parse("reference");
39  1 assertNull(reference.getLabel());
40  1 Assert.assertEquals(WikiParameters.EMPTY, reference.getParameters());
41  1 assertEquals("reference", reference.getLink());
42    }
43   
 
44  1 toggle public void testParseReferenceWhenLabelSpecified()
45    {
46  1 XWikiReferenceParser parser = new XWikiReferenceParser();
47  1 WikiReference reference = parser.parse("label>>reference");
48  1 assertEquals("label", reference.getLabel());
49  1 assertEquals(WikiParameters.EMPTY, reference.getParameters());
50  1 assertEquals("reference", reference.getLink());
51    }
52   
 
53  1 toggle public void testParseReferenceWhenParametersSpecified()
54    {
55   
56  1 XWikiReferenceParser parser = new XWikiReferenceParser();
57  1 WikiReference reference = parser
58    .parse("reference||param1=value1 param2=value2");
59  1 assertNull(reference.getLabel());
60  1 assertEquals(2, reference.getParameters().getSize());
61  1 assertEquals("value1", reference
62    .getParameters()
63    .getParameter("param1")
64    .getValue());
65  1 assertEquals("value2", reference
66    .getParameters()
67    .getParameter("param2")
68    .getValue());
69  1 assertEquals("reference", reference.getLink());
70    }
71   
 
72  1 toggle public void testParseReferenceWhenLabelAndParametersSpecified()
73    {
74  1 XWikiReferenceParser parser = new XWikiReferenceParser();
75  1 WikiReference reference = parser.parse("label>>reference||param=value");
76  1 assertEquals("label", reference.getLabel());
77  1 assertEquals("value", reference
78    .getParameters()
79    .getParameter("param")
80    .getValue());
81  1 assertEquals("reference", reference.getLink());
82    }
83   
 
84  1 toggle public void testParseReferenceWithGreaterThanSymbolInLabel()
85    {
86  1 XWikiReferenceParser parser = new XWikiReferenceParser();
87  1 WikiReference reference = parser
88    .parse("<strong>hello</strong>>>reference");
89  1 assertEquals("<strong>hello</strong>", reference.getLabel());
90  1 assertEquals("reference", reference.getLink());
91    }
92   
 
93  1 toggle public void testParseReferenceWithPipeSymbolInLink()
94    {
95  1 XWikiReferenceParser parser = new XWikiReferenceParser();
96  1 WikiReference reference = parser.parse("reference|||param=value");
97  1 assertEquals("reference|", reference.getLink());
98  1 assertEquals("value", reference
99    .getParameters()
100    .getParameter("param")
101    .getValue());
102    }
103   
 
104  1 toggle public void testParseReferenceWhenLabelAndParametersSpecifiedWithSomeEscaping()
105    {
106  1 XWikiReferenceParser parser = new XWikiReferenceParser();
107  1 WikiReference reference = parser
108    .parse("la~>>bel>>refe~||rence||param=value");
109  1 assertEquals("la>>bel", reference.getLabel());
110  1 assertEquals("value", reference
111    .getParameters()
112    .getParameter("param")
113    .getValue());
114  1 assertEquals("refe||rence", reference.getLink());
115    }
116   
 
117  1 toggle public void testParseReferenceWhenLabelAndParametersSpecifiedWithSomeEscapingAndInternalLink()
118    {
119  1 XWikiReferenceParser parser = new XWikiReferenceParser();
120  1 WikiReference reference = parser
121    .parse("[[sub~>>label>>subre~||ference||subparam=subvalue]]la~>>bel>>refe~||rence||param=value");
122  1 assertEquals(
123    "[[sub~>>label>>subre~||ference||subparam=subvalue]]la>>bel",
124    reference.getLabel());
125  1 assertEquals("value", reference
126    .getParameters()
127    .getParameter("param")
128    .getValue());
129  1 assertEquals("refe||rence", reference.getLink());
130    }
131    }