File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/CommandlineTest.java | File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/CommandlineTest.java | |||
Method name: void testTokenizer()
|
Method name: void testTokenizer()
|
|||
Number of AST nodes: 15 | Number of AST nodes: 15 | |||
1 | s = Commandline.translateCommandline("1 \'2\' 3");↵ | 1 | s = Commandline.translateCommandline("1 \"2\'3\" 4");↵ | |
2 | assertEquals("Simple case with single quotes", 3, s.length);↵ | 2 | assertEquals("Case with double quotes around single quote", 3, s.length);↵ | |
3 | assertEquals("Single quotes have been stripped", "2",↵ | 3 | assertEquals("Double quotes stripped, single quote included", "2\'3",↵ | |
4 | s[1]);↵ | 4 | s[1]);↵ | |
5 | s = Commandline.translateCommandline("1 \"2\" 3");↵ | 5 | s = Commandline.translateCommandline("1 \'2 3\' 4");↵ | |
6 | assertEquals("Simple case with double quotes", 3, s.length);↵ | 6 | assertEquals("Case with single quotes and whitespace", 3, s.length);↵ | |
7 | assertEquals("Double quotes have been stripped", "2", s[1]);↵ | 7 | assertEquals("Single quotes stripped, space included", "2 3", s[1]);↵ | |
8 | s = Commandline.translateCommandline("1 \"2 3\" 4");↵ | 8 | s = Commandline.translateCommandline("1 \'2\"3\' 4");↵ | |
9 | assertEquals("Case with double quotes and whitespace", 3, s.length);↵ | 9 | assertEquals("Case with single quotes around double quote", 3, s.length);↵ | |
10 | assertEquals("Double quotes stripped, space included", "2 3", s[1]);↵ | 10 | assertEquals("Single quotes stripped, double quote included", "2\"3",↵ | |
11 | s[1]);↵ | |||
12 | // \ doesn't have a special meaning anymore - this is different from↵ | |||
13 | // what the Unix sh does but causes a lot of problems on DOS↵ | |||
14 | // based platforms otherwise↵ | |||
11 | s = Commandline.translateCommandline("1 \"2\'3\" 4");↵ | 15 | s = Commandline.translateCommandline("1 2\\ 3 4");↵ | |
12 | assertEquals("Case with double quotes around single quote", 3, s.length);↵ | 16 | assertEquals("case with quoted whitespace", 4, s.length);↵ | |
13 | assertEquals("Double quotes stripped, single quote included", "2\'3",↵ | 17 | assertEquals("backslash included", "2\↵ | |
14 | s[1]);↵ | |||
18 | \", s[1]);↵ | |||
19 | // "" should become a single empty argument, same for ''↵ | |||
20 | // PR 5906↵ | |||
15 | s = Commandline.translateCommandline("1 \'2 3\' 4");↵ | 21 | s = Commandline.translateCommandline("\"\" a");↵ | |
16 | assertEquals("Case with single quotes and whitespace", 3, s.length);↵ | 22 | assertEquals("Doublequoted null arg prepend", 2, s.length);↵ | |
17 | assertEquals("Single quotes stripped, space included", "2 3", s[1]); | 23 | assertEquals("Doublequoted null arg prepend", "", s[0]); | |
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 in the same method |
Number of node comparisons | 225 |
Number of mapped statements | 15 |
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 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
9 | s = Commandline.translateCommandline("1 \'2\' 3"); |
| 18 | s = Commandline.translateCommandline("1 \"2\'3\" 4"); | ||||||||||||||||
10 | assertEquals("Simple case with single quotes", 3, s.length); |
| 19 | assertEquals("Case with double quotes around single quote", 3, s.length); | ||||||||||||||||
11 | assertEquals("Single quotes have been stripped", "2", s[1]); |
| 26 | assertEquals("Single quotes stripped, double quote included", "2\"3", s[1]); | ||||||||||||||||
12 | s = Commandline.translateCommandline("1 \"2\" 3"); |
| 21 | s = Commandline.translateCommandline("1 \'2 3\' 4"); | ||||||||||||||||
13 | assertEquals("Simple case with double quotes", 3, s.length); |
| 22 | assertEquals("Case with single quotes and whitespace", 3, s.length); | ||||||||||||||||
14 | assertEquals("Double quotes have been stripped", "2", s[1]); |
| 29 | assertEquals("backslash included", "2\\", s[1]); | ||||||||||||||||
15 | s = Commandline.translateCommandline("1 \"2 3\" 4"); |
| 24 | s = Commandline.translateCommandline("1 \'2\"3\' 4"); | ||||||||||||||||
16 | assertEquals("Case with double quotes and whitespace", 3, s.length); |
| 25 | assertEquals("Case with single quotes around double quote", 3, s.length); | ||||||||||||||||
17 | assertEquals("Double quotes stripped, space included", "2 3", s[1]); |
| 23 | assertEquals("Single quotes stripped, space included", "2 3", s[1]); | ||||||||||||||||
18 | s = Commandline.translateCommandline("1 \"2\'3\" 4"); |
| 27 | s = Commandline.translateCommandline("1 2\\ 3 4"); | ||||||||||||||||
19 | assertEquals("Case with double quotes around single quote", 3, s.length); |
| 28 | assertEquals("case with quoted whitespace", 4, s.length); | ||||||||||||||||
20 | assertEquals("Double quotes stripped, single quote included", "2\'3", s[1]); | 20 | assertEquals("Double quotes stripped, single quote included", "2\'3", s[1]); | |||||||||||||||||
21 | s = Commandline.translateCommandline("1 \'2 3\' 4"); |
| 30 | s = Commandline.translateCommandline("\"\" a"); | ||||||||||||||||
22 | assertEquals("Case with single quotes and whitespace", 3, s.length); |
| 31 | assertEquals("Doublequoted null arg prepend", 2, s.length); | ||||||||||||||||
23 | assertEquals("Single quotes stripped, space included", "2 3", s[1]); |
| 32 | assertEquals("Doublequoted null arg prepend", "", s[0]); |
Row | Violation |
---|---|
1 | Clone fragment #1 returns variables , while Clone fragment #2 returns variables s |