void testParseExample1() throws Exception { StringProperty prop = new StringProperty("html", "${__regexFunction(<html>(.*)</html>,$1$)}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("hello world", newProp.getStringValue()); } public void testParseExample2() throws Exception { StringProperty prop = new StringProperty("html", "It should say:\\${${__regexFunction(<html>(.*)</html>,$1$)}}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("It should say:${hello world}", newProp.getStringValue()); } public void testParseExample3() throws Exception { StringProperty prop = new StringProperty("html", "${__regexFunction(<html>(.*)</html>,$1$)}" + "${__regexFunction(<html>(.*o)(.*o)(.*)</html>," + "$1$$3$)}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("hello worldhellorld", newProp.getStringValue()); } public void testParseExample4() throws Exception { StringProperty prop = new StringProperty("html", "${non-existing function}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("${non-existing function}", newProp.getStringValue()); } public void testParseExample6() throws Exception { StringProperty prop = new StringProperty("html", "${server}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("jakarta.apache.org", newProp.getStringValue()); } public void testParseExample5() throws Exception { StringProperty prop = new StringProperty("html", ""); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.StringProperty", newProp.getClass().getName()); assertEquals("", newProp.getStringValue());
void testParseExample7() throws Exception { StringProperty prop = new StringProperty("html", "${__regexFunction(\\<([a-z]*)\\>,$1$)}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("html", newProp.getStringValue()); } public void testParseExample8() throws Exception { StringProperty prop = new StringProperty("html", "${__regexFunction((\\\\$\\d+\\.\\d+),$1$)}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("$3.47", newProp.getStringValue()); } public void testParseExample9() throws Exception { StringProperty prop = new StringProperty("html", "${__regexFunction(([$]\\d+\\.\\d+),$1$)}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("$3.47", newProp.getStringValue()); } public void testParseExample10() throws Exception { StringProperty prop = new StringProperty("html", "${__regexFunction(\\ " + "(\\\\\\$\\d+\\.\\d+\\,\\\\$\\d+\\.\\d+),$1$)}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("$3.47,$5.67", newProp.getStringValue()); } public void testNestedExample1() throws Exception { StringProperty prop = new StringProperty("html", "${__regexFunction(<html>(${my_regex})</html>," + "$1$)}${__regexFunction(<html>(.*o)(.*o)(.*)" + "</html>,$1$$3$)}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("hello worldhellorld", newProp.getStringValue()); } public void testNestedExample2() throws Exception { StringProperty prop = new StringProperty("html", "${__regexFunction(<html>(${my_regex})</html>,$1$)}"); JMeterProperty newProp = transformer.transformValue(prop); newProp.setRunningVersion(true); assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName()); assertEquals("hello world", newProp.getStringValue());
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/test/src/org/apache/jmeter/engine/util/PackageTest.java File path: /jakarta-jmeter-2.3.2/test/src/org/apache/jmeter/engine/util/PackageTest.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
void testParseExample1() throws Exception {
1
void testParseExample7() throws Exception {
2
		StringProperty prop = new StringProperty("html", "${__regexFunction(<html>(.*)</html>,$1$)}");
2
		StringProperty prop = new StringProperty("html", "${__regexFunction(\\<([a-z]*)\\>,$1$)}");
3
		JMeterProperty newProp = transformer.transformValue(prop);
3
		JMeterProperty newProp = transformer.transformValue(prop);
4
		newProp.setRunningVersion(true);
4
		newProp.setRunningVersion(true);
5
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
5
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
6
		assertEquals("hello world", newProp.getStringValue());
6
		assertEquals("html", newProp.getStringValue());
7
	}
7
	}
8
	public void testParseExample2() throws Exception {
8
	public void testParseExample8() throws Exception {
9
		StringProperty prop = new StringProperty("html", "It should say:\\${${__regexFunction(<html>(.*)</html>,$1$)}}");
9
		StringProperty prop = new StringProperty("html", "${__regexFunction((\\\\$\\d+\\.\\d+),$1$)}");
10
		JMeterProperty newProp = transformer.transformValue(prop);
10
		JMeterProperty newProp = transformer.transformValue(prop);
11
		newProp.setRunningVersion(true);
11
		newProp.setRunningVersion(true);
12
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
12
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
13
		assertEquals("It should say:${hello world}", newProp.getStringValue());
13
		assertEquals("$3.47", newProp.getStringValue());
14
	}
14
	}
15
	public void testParseExample3() throws Exception {
15
	public void testParseExample9() throws Exception {
16
		StringProperty prop = new StringProperty("html", "${__regexFunction(<html>(.*)</html>,$1$)}"
16
		StringProperty prop = new StringProperty("html", "${__regexFunction(
17
				+ "${__regexFunction(<html>(.*o)(.*o)(.*)</html>," + "$1$$3$)}");
17
([$]\\d+\\.\\d+),$1$)}");
18
		JMeterProperty newProp = transformer.transformValue(prop);
18
		JMeterProperty newProp = transformer.transformValue(prop);
19
		newProp.setRunningVersion(true);
19
		newProp.setRunningVersion(true);
20
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
20
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
21
		assertEquals("hello worldhellorld", newProp.getStringValue());
21
		assertEquals("$3.47", newProp.getStringValue());
22
	}
22
	}
23
	public void testParseExample4() throws Exception {
23
	public void testParseExample10() throws Exception {
24
		StringProperty prop = new StringProperty("html", "${non-existing function
24
		StringProperty prop = new StringProperty("html", "${__regexFunction(\\ "
25
}");
25
				+ "(\\\\\\$\\d+\\.\\d+\\,\\\\$\\d+\\.\\d+),$1$)}");
26
		JMeterProperty newProp = transformer.transformValue(prop);
26
		JMeterProperty newProp = transformer.transformValue(prop);
27
		newProp.setRunningVersion(true);
27
		newProp.setRunningVersion(true);
28
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
28
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
29
		assertEquals("${non-existing function}", newProp.getStringValue());
29
		assertEquals("$3.47,$5.67", newProp.getStringValue());
30
	}
30
	}
31
	public void testParseExample6() throws Exception {
31
	public void testNestedExample1() throws Exception {
32
		StringProperty prop = new StringProperty("html", "${server
32
		StringProperty prop = new StringProperty("html", "${__regexFunction(<html>(${my_regex})</html>,"
33
}");
33
				+ "$1$)}${__regexFunction(<html>(.*o)(.*o)(.*)" + "</html>,$1$$3$)}");
34
		JMeterProperty newProp = transformer.transformValue(prop);
34
		JMeterProperty newProp = transformer.transformValue(prop);
35
		newProp.setRunningVersion(true);
35
		newProp.setRunningVersion(true);
36
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
36
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
37
		assertEquals("jakarta.apache.org", newProp.getStringValue());
37
		assertEquals("hello worldhellorld", newProp.getStringValue());
38
	}
38
	}
39
	public void testParseExample5() throws Exception {
39
	public void testNestedExample2() throws Exception {
40
		StringProperty prop = new StringProperty("html", "");
40
		StringProperty prop = new StringProperty("html", "${__regexFunction(<html>(${my_regex})</html>,$1$)}");
41
		JMeterProperty newProp = transformer.transformValue(prop);
41
		JMeterProperty newProp = transformer.transformValue(prop);
42
		newProp.setRunningVersion(true);
42
		newProp.setRunningVersion(true);
43
		assertEquals("org.apache.jmeter.testelement.property.StringProperty", newProp.getClass().getName());
43
		assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", newProp.getClass().getName());
44
		assertEquals("", newProp.getStringValue());
44
		assertEquals("hello world", newProp.getStringValue());
45
	
45
	
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0