View Javadoc
1 /*** 2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html 3 */ 4 package test.net.sourceforge.pmd.cpd; 5 6 import junit.framework.TestCase; 7 import net.sourceforge.pmd.PMD; 8 import net.sourceforge.pmd.cpd.Mark; 9 import net.sourceforge.pmd.cpd.Match; 10 import net.sourceforge.pmd.cpd.Renderer; 11 import net.sourceforge.pmd.cpd.XMLRenderer; 12 13 import java.util.ArrayList; 14 import java.util.List; 15 16 /*** 17 * @author Philippe T'Seyen 18 */ 19 public class XMLRendererTest extends TestCase 20 { 21 public void testRender_NoMatches() 22 { 23 Renderer renderer = new XMLRenderer(); 24 List list = new ArrayList(); 25 String report = renderer.render(list.iterator()); 26 assertEquals("<?xml version=\"1.0\"?><pmd-cpd></pmd-cpd>", report); 27 } 28 29 public void testRender_Match() 30 { 31 Renderer renderer = new XMLRenderer(); 32 List list = new ArrayList(); 33 Match match = new Match(75, new Mark(1, "/var/Foo.java", 1, 48), new Mark(2, "/var/Foo.java", 2, 73)); 34 match.setLineCount(6); 35 match.setSourceCodeSlice("code fragment"); 36 list.add(match); 37 String report = renderer.render(list.iterator()); 38 assertEquals("<?xml version=\"1.0\"?><pmd-cpd><duplication lines=\"6\" tokens=\"75\"><file line=\"48\" path=\"/var/Foo.java\"/><file line=\"73\" path=\"/var/Foo.java\"/><codefragment><![CDATA[" + PMD.EOL + "code fragment" + PMD.EOL + "]]></codefragment></duplication></pmd-cpd>", report); 39 } 40 41 public void testRender_MultipleMatch() 42 { 43 Renderer renderer = new XMLRenderer(); 44 List list = new ArrayList(); 45 Match match1 = new Match(75, new Mark(1, "/var/Foo.java", 1, 48), new Mark(2, "/var/Foo.java", 2, 73)); 46 match1.setLineCount(6); 47 match1.setSourceCodeSlice("code fragment"); 48 Match match2 = new Match(76, new Mark(2, "/var/Foo2.java", 2, 49), new Mark(3, "/var/Foo2.java", 3, 74)); 49 match2.setLineCount(7); 50 match2.setSourceCodeSlice("code fragment 2"); 51 list.add(match1); 52 list.add(match2); 53 String report = renderer.render(list.iterator()); 54 assertEquals("<?xml version=\"1.0\"?><pmd-cpd><duplication lines=\"6\" tokens=\"75\"><file line=\"48\" path=\"/var/Foo.java\"/><file line=\"73\" path=\"/var/Foo.java\"/><codefragment><![CDATA[" + PMD.EOL + "code fragment" + PMD.EOL + "]]></codefragment></duplication><duplication lines=\"7\" tokens=\"76\"><file line=\"49\" path=\"/var/Foo2.java\"/><file line=\"74\" path=\"/var/Foo2.java\"/><codefragment><![CDATA[" + PMD.EOL + "code fragment 2" + PMD.EOL + "]]></codefragment></duplication></pmd-cpd>", report); 55 } 56 } 57

This page was automatically generated by Maven