1. Project Clover database Sat Feb 2 2019 06:45:20 CET
  2. Package org.xwiki.rendering.util

File ParserUtils.java

 

Coverage histogram

../../../../img/srcFileCovDistChart10.png
0% of files have more coverage

Code metrics

2
5
1
1
55
17
3
0.6
5
1
3

Classes

Class Line # Actions
ParserUtils 33 5 0% 3 0
1.0100%
 

Contributing tests

This file is covered by 58 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.util;
21   
22    import java.util.List;
23   
24    import org.xwiki.rendering.block.Block;
25    import org.xwiki.rendering.block.ParagraphBlock;
26   
27    /**
28    * Methods for helping in parsing.
29    *
30    * @version $Id: 24e5f7d3e65e1640050e4ccbc885a6370369df0b $
31    * @since 1.7M1
32    */
 
33    public class ParserUtils
34    {
35    /**
36    * Removes any top level paragraph since for example for the following use case we don't want an extra paragraph
37    * block: <code>= hello {{velocity}}world{{/velocity}}</code>.
38    *
39    * @param blocks the blocks to check and convert
40    */
 
41  280203 toggle public void removeTopLevelParagraph(List<Block> blocks)
42    {
43    // Remove any top level paragraph so that the result of a macro can be used inline for example.
44    // We only remove the paragraph if there's only one top level element and if it's a paragraph.
45  280324 if ((blocks.size() == 1) && blocks.get(0) instanceof ParagraphBlock) {
46  278929 Block paragraphBlock = blocks.remove(0);
47  278995 blocks.addAll(0, paragraphBlock.getChildren());
48   
49    // Remove parent block
50  279030 for (Block block : blocks) {
51  1479538 block.setParent(null);
52    }
53    }
54    }
55    }