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

File BlockAssert.java

 

Coverage histogram

../../../../img/srcFileCovDistChart8.png
54% of files have more coverage

Code metrics

0
7
4
1
90
31
4
0.57
1.75
4
1

Classes

Class Line # Actions
BlockAssert 38 7 0% 4 3
0.7272727572.7%
 

Contributing tests

This file is covered by 1 test. .

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.test;
21   
22    import java.util.List;
23   
24    import org.junit.Assert;
25    import org.xwiki.rendering.block.Block;
26    import org.xwiki.rendering.block.XDOM;
27    import org.xwiki.rendering.renderer.PrintRenderer;
28    import org.xwiki.rendering.renderer.PrintRendererFactory;
29    import org.xwiki.rendering.renderer.printer.DefaultWikiPrinter;
30    import org.xwiki.rendering.renderer.printer.WikiPrinter;
31   
32    /**
33    * Class to be imported in unit tests as a static import and which contains helper methods to assert Rendering Blocks.
34    *
35    * @version $Id: 448d801001da087349abfed4ec581488fc0a15cb $
36    * @since 2.4M2
37    */
 
38    public class BlockAssert
39    {
40    /**
41    * Protect constructor since it is a static only class.
42    */
 
43  0 toggle protected BlockAssert()
44    {
45    // Nothing to do
46    }
47   
48    /**
49    * @param blocks the Blocks to assert
50    * @param factory the Renderer Factory to use to serialize the passed Block
51    * @return The serialized block.
52    * @since 4.2M1
53    */
 
54  1 toggle private static String render(List<Block> blocks, PrintRendererFactory factory)
55    {
56    // Assert the result by parsing it through the EventsRenderer to generate easily
57    // assertable events.
58  1 XDOM dom = new XDOM(blocks);
59  1 WikiPrinter printer = new DefaultWikiPrinter();
60   
61  1 PrintRenderer eventRenderer = factory.createRenderer(printer);
62   
63  1 dom.traverse(eventRenderer);
64   
65  1 return printer.toString();
66    }
67   
68    /**
69    * @param expected the expected value of passed Blocks when rendered using the passed Renderer Factory
70    * @param blocks the Blocks to assert
71    * @param factory the Renderer Factory to use to serialize the passed Block and to compare them with the passed
72    * String
73    */
 
74  1 toggle public static void assertBlocks(String expected, List<Block> blocks, PrintRendererFactory factory)
75    {
76  1 Assert.assertEquals(expected, render(blocks, factory));
77    }
78   
79    /**
80    * @param expectedPrefix the expected prefix of the passed Blocks when rendered using the passed Renderer Factory
81    * @param blocks the Blocks to assert
82    * @param factory the Renderer Factory to use to serialize the passed Block and to compare them with the passed
83    * String
84    * @since 4.2M1
85    */
 
86  0 toggle public static void assertBlocksStartsWith(String expectedPrefix, List<Block> blocks, PrintRendererFactory factory)
87    {
88  0 Assert.assertTrue(render(blocks, factory).startsWith(expectedPrefix));
89    }
90    }