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

File UIExtensionPointFiltersTest.java

 

Code metrics

0
54
6
1
144
100
6
0.11
9
6
1

Classes

Class Line # Actions
UIExtensionPointFiltersTest 34 54 0% 6 0
1.0100%
 

Contributing tests

This file is covered by 5 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.uiextension;
21   
22    import java.util.ArrayList;
23    import java.util.List;
24   
25    import org.junit.Assert;
26    import org.junit.Before;
27    import org.junit.Test;
28    import org.xwiki.uiextension.internal.filter.ExcludeFilter;
29    import org.xwiki.uiextension.internal.filter.SortByCustomOrderFilter;
30    import org.xwiki.uiextension.internal.filter.SortByIdFilter;
31    import org.xwiki.uiextension.internal.filter.SortByParameterFilter;
32    import org.xwiki.uiextension.internal.filter.SelectFilter;
33   
 
34    public class UIExtensionPointFiltersTest
35    {
36    private UIExtension testUix1valueZ = new UIExtensions.TestUix1valueZ();
37    private UIExtension testUix2valueY = new UIExtensions.TestUix2valueY();
38    private UIExtension testUix3valueX = new UIExtensions.TestUix3valueX();
39    private UIExtension testUix4valueW = new UIExtensions.TestUix4valueW();
40    private UIExtension testUix5value1 = new UIExtensions.TestUix5value1();
41    private UIExtension testUix6value11 = new UIExtensions.TestUix6value11();
42    private UIExtension testUix7value2 = new UIExtensions.TestUix7value2();
43    private List<UIExtension> extensions = new ArrayList<UIExtension>();
44   
 
45  5 toggle @Before
46    public void configure()
47    {
48  5 extensions.add(testUix3valueX);
49  5 extensions.add(testUix6value11);
50  5 extensions.add(testUix1valueZ);
51  5 extensions.add(testUix5value1);
52  5 extensions.add(testUix4valueW);
53  5 extensions.add(testUix7value2);
54  5 extensions.add(testUix2valueY);
55    }
56   
 
57  1 toggle @Test
58    public void excludeFilter()
59    {
60  1 String[] list = new String[] {"platform.testuix2", "platform.testuix3"};
61  1 List<UIExtension> expected = new ArrayList<UIExtension>();
62  1 expected.add(testUix6value11);
63  1 expected.add(testUix1valueZ);
64  1 expected.add(testUix5value1);
65  1 expected.add(testUix4valueW);
66  1 expected.add(testUix7value2);
67   
68  1 UIExtensionFilter filter = new ExcludeFilter();
69   
70  1 Assert.assertEquals(expected, filter.filter(extensions, list));
71    }
72   
 
73  1 toggle @Test
74    public void selectFilter()
75    {
76  1 String[] list = new String[] {"platform.testuix2", "platform.testuix3", "platform.testuix4"};
77  1 List<UIExtension> expected = new ArrayList<UIExtension>();
78    // The extensions must be ordered as in the select clause above
79  1 expected.add(testUix2valueY);
80  1 expected.add(testUix3valueX);
81  1 expected.add(testUix4valueW);
82   
83  1 UIExtensionFilter filter = new SelectFilter();
84   
85  1 Assert.assertEquals(expected, filter.filter(extensions, list));
86    }
87   
 
88  1 toggle @Test
89    public void sortByListFilter()
90    {
91  1 String[] list = new String[] {"platform.testuix2", "platform.testuix3"};
92   
93  1 List<UIExtension> expected = new ArrayList<UIExtension>();
94    // The first 2 are placed at the beginning, in the correct order
95  1 expected.add(testUix2valueY);
96  1 expected.add(testUix3valueX);
97    // The order of the others is preserved
98  1 expected.add(testUix6value11);
99  1 expected.add(testUix1valueZ);
100  1 expected.add(testUix5value1);
101  1 expected.add(testUix4valueW);
102  1 expected.add(testUix7value2);
103   
104  1 UIExtensionFilter filter = new SortByCustomOrderFilter();
105   
106  1 Assert.assertEquals(expected, filter.filter(extensions, list));
107    }
108   
 
109  1 toggle @Test
110    public void sortByNameFilter()
111    {
112  1 List<UIExtension> expected = new ArrayList<UIExtension>();
113  1 expected.add(testUix1valueZ);
114  1 expected.add(testUix2valueY);
115  1 expected.add(testUix3valueX);
116  1 expected.add(testUix4valueW);
117  1 expected.add(testUix5value1);
118  1 expected.add(testUix6value11);
119  1 expected.add(testUix7value2);
120   
121   
122  1 UIExtensionFilter filter = new SortByIdFilter();
123   
124  1 Assert.assertEquals(expected, filter.filter(extensions));
125    }
126   
 
127  1 toggle @Test
128    public void sortByParameterFilter()
129    {
130  1 List<UIExtension> expected = new ArrayList<UIExtension>();
131  1 expected.add(testUix5value1);
132  1 expected.add(testUix7value2);
133  1 expected.add(testUix6value11);
134  1 expected.add(testUix4valueW);
135  1 expected.add(testUix3valueX);
136  1 expected.add(testUix2valueY);
137  1 expected.add(testUix1valueZ);
138   
139  1 UIExtensionFilter filter = new SortByParameterFilter();
140   
141  1 Assert.assertEquals(expected, filter.filter(extensions, "key"));
142    }
143   
144    }