File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/FilterSetTest.java | File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/FilterSetTest.java | |||
Method name: void testRecursionDisabled()
|
Method name: void testNonInfiniteRecursiveMultipleOnSingleLine()
|
|||
Number of AST nodes: 10 | Number of AST nodes: 10 | |||
1 | String result = "@test1@ line testvalue";↵ | |||
2 | String line = "@test@ line @test2@"↵ | 1 | FilterSet filters = new FilterSet();↵ | |
3 | ;↵ | 2 | filters.setBeginToken("<");↵ | |
4 | FilterSet fs = new FilterSet();↵ | 3 | filters.setEndToken(">");↵ | |
5 | fs.addFilter("test", "@test1@");↵ | 4 | filters.addFilter("ul", "<itemizedlist>");↵ | |
6 | fs.addFilter("test1","@test@");↵ | 5 | filters.addFilter("/ul", "</itemizedList>");↵ | |
7 | fs.addFilter("test2", "testvalue");↵ | 6 | filters.addFilter("↵ | |
8 | fs.setBeginToken("@↵ | 7 | li", "<listitem>");↵ | |
9 | ");↵ | 8 | filters.addFilter("/li", "</listitem>");↵ | |
10 | fs.setEndToken("@");↵ | 9 | ↵ | |
11 | fs.setRecurse(false);↵ | 10 | String result = "<itemizedlist><listitem>Item 1</listitem> <listitem>Item 2</listitem></itemizedList>";↵ | |
11 | String line = "<ul><li>Item 1</li> <li>Item 2</li></ul>";↵ | |||
12 | assertEquals(result, fs.replaceTokens(line)); | 12 | assertEquals(result, filters.replaceTokens(line)); | |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.0 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 68 |
Number of mapped statements | 10 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | String result = "@test1@ line testvalue"; |
| 8 | String result = "<itemizedlist><listitem>Item 1</listitem> <listitem>Item 2</listitem></itemizedList>"; | ||||||||||||||||||||||||
2 | String line = "@test@ line @test2@"; |
| 9 | String line = "<ul><li>Item 1</li> <li>Item 2</li></ul>"; | ||||||||||||||||||||||||
3 | FilterSet fs = new FilterSet(); |
| 1 | FilterSet filters = new FilterSet(); | ||||||||||||||||||||||||
4 | fs.addFilter("test", "@test1@"); |
| 5 | filters.addFilter("/ul", "</itemizedList>"); | ||||||||||||||||||||||||
5 | fs.addFilter("test1", "@test@"); |
| 6 | filters.addFilter("li", "<listitem>"); | ||||||||||||||||||||||||
6 | fs.addFilter("test2", "testvalue"); |
| 7 | filters.addFilter("/li", "</listitem>"); | ||||||||||||||||||||||||
7 | fs.setBeginToken("@"); |
| 2 | filters.setBeginToken("<"); | ||||||||||||||||||||||||
8 | fs.setEndToken("@"); |
| 3 | filters.setEndToken(">"); | ||||||||||||||||||||||||
9 | fs.setRecurse(false); |
| 4 | filters.addFilter("ul", "<itemizedlist>"); | ||||||||||||||||||||||||
10 | assertEquals(result, fs.replaceTokens(line)); |
| 10 | assertEquals(result, filters.replaceTokens(line)); |
Row | Violation |
---|---|
1 | Expression fs.setRecurse(false) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression filters.addFilter("ul","<itemizedlist>") cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression fs.setRecurse(false) is a void method call, and thus it cannot be parameterized |
4 | Expression filters.addFilter("ul","<itemizedlist>") is a void method call, and thus it cannot be parameterized |
5 | Expression fs.setRecurse(false) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression filters.addFilter("ul","<itemizedlist>") cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Expression fs.setRecurse(false) is a void method call, and thus it cannot be parameterized |
8 | Expression filters.addFilter("ul","<itemizedlist>") is a void method call, and thus it cannot be parameterized |