HTTPSamplerBase config = makeUrlConfig(".*index.html"); config.addArgument("te$st", "g.*"); config.setMethod(HTTPSamplerBase.POST); HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html"); String responseText = "<html><head><title>Test page</title></head><body>" + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"te$st\"" + " value=\"goto\">Goto index page</form></body></html>"; HTTPSampleResult result = new HTTPSampleResult(); result.setResponseData(responseText.getBytes()); result.setSampleLabel(context.toString()); result.setURL(context.getUrl()); jmctx.setCurrentSampler(context); jmctx.setCurrentSampler(config); jmctx.setPreviousResult(result); parser.process(); assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString()); assertEquals("te%24st=goto", config.getQueryString());
HTTPSamplerBase config = makeUrlConfig(".*index.html"); config.addArgument("test", "g.*"); config.setMethod(HTTPSamplerBase.POST); HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html"); String responseText = "<html><head><title>Test page</title></head><body>" + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"test\"" + " value=\"goto\">Goto index page</form></body></html>"; HTTPSampleResult result = new HTTPSampleResult(); result.setResponseData(responseText.getBytes()); result.setSampleLabel(context.toString()); result.setURL(context.getUrl()); jmctx.setCurrentSampler(context); jmctx.setCurrentSampler(config); jmctx.setPreviousResult(result); parser.process(); assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString()); assertEquals("test=goto", config.getQueryString());
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/test/src/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java File path: /jakarta-jmeter-2.3.2/test/src/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java
Method name: void testBadCharParse() Method name: void testSimpleFormParse()
Number of AST nodes: 15 Number of AST nodes: 15
1
HTTPSamplerBase config = makeUrlConfig(".*index.html");
1
HTTPSamplerBase config = makeUrlConfig(".*index.html");
2
            config.addArgument("te$st", "g.*");
2
            config.addArgument("test", "g.*");
3
            config.setMethod(HTTPSamplerBase.POST);
3
            config.setMethod(HTTPSamplerBase.POST);
4
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
4
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
5
            String responseText = "<html><head><title>Test page</title></head><body>"
5
            String responseText = "<html><head><title>Test page</title></head><body>"
6
                    + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"te$st\""
6
                    + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"test\""
7
                    + " value=\"goto\">Goto index page</form></body></html>";
7
                    + " value=\"goto\">Goto index page</form></body></html>";
8
            HTTPSampleResult result = new HTTPSampleResult();
8
            HTTPSampleResult result = new HTTPSampleResult();
9
            result.setResponseData(responseText.getBytes());
9
            result.setResponseData(responseText.getBytes());
10
            result.setSampleLabel(context.toString());
10
            result.setSampleLabel(context.toString());
11
            result.setURL(context.getUrl());
11
            result.setURL(context.getUrl());
12
            jmctx.setCurrentSampler(context);
12
            jmctx.setCurrentSampler(context);
13
            jmctx.setCurrentSampler(config);
13
            jmctx.setCurrentSampler(config);
14
            jmctx.setPreviousResult(result);
14
            jmctx.setPreviousResult(result);
15
            parser.process();
15
            parser.process();
16
            assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString());
16
            assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString());
17
            assertEquals("te%24st=goto", config.getQueryString());
17
            assertEquals("test=goto", config.getQueryString());
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones locationClones are declared in the same class
Number of node comparisons137
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements15
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    HTTPSamplerBase config = makeUrlConfig(".*index.html");
    1
    HTTPSamplerBase config = makeUrlConfig(".*index.html");
    2
    config.addArgument("te$st", "g.*");
    2
    config.addArgument("te$st", "g.*");
    2
    config.addArgument("test", "g.*");
    Differences
    Expression1Expression2Difference
    "te$st""test"LITERAL_VALUE_MISMATCH
    2
    config.addArgument("test", "g.*");
    3
    config.setMethod(HTTPSamplerBase.POST);
    3
    config.setMethod(HTTPSamplerBase.POST);
    4
    HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
    4
    HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
    5
    String responseText = "<html><head><title>Test page</title></head><body>" + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"te$st\"" + " value=\"goto\">Goto index page</form></body></html>";
    5
    String responseText = "<html><head><title>Test page</title></head><body>" + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"te$st\"" + " value=\"goto\">Goto index page</form></body></html>";
    5
    String responseText = "<html><head><title>Test page</title></head><body>" + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"test\"" + " value=\"goto\">Goto index page</form></body></html>";
    Differences
    Expression1Expression2Difference
    ""LITERAL_VALUE_MISMATCH
    5
    String responseText = "<html><head><title>Test page</title></head><body>" + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"test\"" + " value=\"goto\">Goto index page</form></body></html>";
    6
    HTTPSampleResult result = new HTTPSampleResult();
    6
    HTTPSampleResult result = new HTTPSampleResult();
    7
    result.setResponseData(responseText.getBytes());
    7
    result.setResponseData(responseText.getBytes());
    8
    result.setSampleLabel(context.toString());
    8
    result.setSampleLabel(context.toString());
    9
    result.setURL(context.getUrl());
    9
    result.setURL(context.getUrl());
    10
    jmctx.setCurrentSampler(context);
    10
    jmctx.setCurrentSampler(context);
    11
    jmctx.setCurrentSampler(config);
    11
    jmctx.setCurrentSampler(config);
    12
    jmctx.setPreviousResult(result);
    12
    jmctx.setPreviousResult(result);
    13
    parser.process();
    13
    parser.process();
    14
    assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString());
    14
    assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString());
    15
    assertEquals("te%24st=goto", config.getQueryString());
    15
    assertEquals("te%24st=goto", config.getQueryString());
    15
    assertEquals("test=goto", config.getQueryString());
    Differences
    Expression1Expression2Difference
    "te%24st=goto""test=goto"LITERAL_VALUE_MISMATCH
    15
    assertEquals("test=goto", config.getQueryString());
    Precondition Violations (0)
    Row Violation