("Test subject"); testMailClient.setMessage(""); Thread client = new Thread(testMailClient); client.start(); try { server.join(60 * 1000); // 60s client.join(30 * 1000); // a further 30s } catch (InterruptedException ie ) { fail( "InterruptedException: " + ie ); } String result = testMailServer.getResult(); String expectedResult = "220 test SMTP EmailTaskTest\r\n" + "HELO " + local + "\r\n" + "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" + "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" + "250\r\n" + "RCPT TO: <to@you.com>\r\n" + "250\r\n" + "DATA\r\n" + "354\r\n" + "Subject: Test subject\r\n" + "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" + "To: to@you.com\r\n" + "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" + "\r\n" + "\r\n" + "\r\n" + ".\r\n" + "250\r\n" + "QUIT\r\n" + "221\r\n"; assertEquals(expectedResult.length(), result.length()); assertEquals(expectedResult, result); if (testMailClient.isFailed()) { fail(testMailClient.getFailMessage()); } } /** * Test a MailMessage with US-ASCII character set * The next four testcase can be kinda hard to debug as Ant will often * print the junit failure in US-ASCII. */ public void testAsciiCharset() { ServerThread testMailServer = new ServerThread(); Thread server = new Thread(testMailServer); server.start(); ClientThread testMailClient = new ClientThread(); testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); testMailClient.to("Ceki G\u00fclc\u00fc <abuse@mail-abuse.org>"); testMailClient.setSubject("Test subject"); testMailClient.setMessage(""); Thread client = new Thread(testMailClient); client.start(); try { server.join(60 * 1000); // 60s client.join(30 * 1000); // a further 30s } catch (InterruptedException ie ) { fail("InterruptedException: " + ie); } String result = testMailServer.getResult(); String expectedResult = "220 test SMTP EmailTaskTest\r\n" + "HELO " + local + "\r\n" + "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" + "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" + "250\r\n" + "RCPT TO: <abuse@mail-abuse.org>\r\n" + "250\r\n" + "DATA\r\n" + "354\r\n" + "Subject: Test subject\r\n" + "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" + "To: Ceki G\u00fclc\u00fc <abuse@mail-abuse.org>\r\n" + "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" + "\r\n" + "\r\n" + "\r\n" + ".\r\n" + "250\r\n" + "QUIT\r\n" + "221\r\n"
("Test subject"); testMailClient.setMessage( "test line 1\n" + "test line 2" ); Thread client = new Thread(testMailClient); client.start(); try { server.join(60 * 1000); // 60s client.join(30 * 1000); // a further 30s } catch (InterruptedException ie ) { fail("InterruptedException: " + ie); } String result = testMailServer.getResult(); String expectedResult = "220 test SMTP EmailTaskTest\r\n" + "HELO " + local + "\r\n" + "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" + "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" + "250\r\n" + "RCPT TO: <to@you.com>\r\n" + "250\r\n" + "DATA\r\n" + "354\r\n" + "Subject: Test subject\r\n" + "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" + "To: to@you.com\r\n" + "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" + "\r\n" + "test line 1\r\n" + "test line 2\r\n" + "\r\n" + ".\r\n" + "250\r\n" + "QUIT\r\n" + "221\r\n"; assertEquals(expectedResult.length(), result.length()); assertEquals(expectedResult, result); // order of headers cannot be guaranteed if (testMailClient.isFailed()) { fail(testMailClient.getFailMessage()); } } /** * Test a MailMessage with no to or bcc lines */ public void testCcOnly() { ServerThread testMailServer = new ServerThread(); Thread server = new Thread(testMailServer); server.start(); ClientThread testMailClient = new ClientThread(); testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); testMailClient.cc("cc@you.com"); testMailClient.setSubject("Test subject"); testMailClient.setMessage( "test line 1\n" + "test line 2" ); Thread client = new Thread(testMailClient); client.start(); try { server.join(60 * 1000); // 60s client.join(30 * 1000); // a further 30s } catch (InterruptedException ie ) { fail( "InterruptedException: " + ie ); } String result = testMailServer.getResult(); String expectedResult = "220 test SMTP EmailTaskTest\r\n" + "HELO " + local + "\r\n" + "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" + "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" + "250\r\n" + "RCPT TO: <cc@you.com>\r\n" + "250\r\n" + "DATA\r\n" + "354\r\n" + "Subject: Test subject\r\n" + "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" + "Cc: cc@you.com\r\n" + "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" + "\r\n" + "test line 1\r\n" + "test line 2\r\n" + "\r\n" + ".\r\n" + "250\r\n" + "QUIT\r\n" + "221\r\n"
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/mail/MailMessageTest.java File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/mail/MailMessageTest.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
("Test subject");
1
("Test subject");
2
        testMailClient.setMessage(""
2
        testMailClient.setMessage( "test line 1\n" +
3
);
3
            "test line 2" );
4
        Thread client = new Thread(testMailClient);
4
        Thread client = new Thread(testMailClient);
5
        client.start();
5
        client.start();
6
        try {
6
        try {
7
            server.join(60 * 1000); // 60s
7
            server.join(60 * 1000); // 60s
8
            client.join(30 * 1000); // a further 30s
8
            client.join(30 * 1000); // a further 30s
9
        } catch (InterruptedException ie ) {
9
        } catch (InterruptedException ie ) {
10
            fail( "InterruptedException: " + ie );
10
            fail("InterruptedException: " + ie);
11
        }
11
        }
12
        String result = testMailServer.getResult();
12
        String result = testMailServer.getResult();
13
        String expectedResult = "220 test SMTP EmailTaskTest\r\n" +
13
        String expectedResult = "220 test SMTP EmailTaskTest\r\n" +
14
        "HELO " + local + "\r\n" +
14
        "HELO " + local + "\r\n" +
15
        "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" +
15
        "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" +
16
        "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" +
16
        "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" +
17
        "250\r\n" +
17
        "250\r\n" +
18
        "RCPT TO: <to@you.com>\r\n" +
18
        "RCPT TO: <to@you.com>\r\n" +
19
        "250\r\n" +
19
        "250\r\n" +
20
        "DATA\r\n" +
20
        "DATA\r\n" +
21
        "354\r\n" +
21
        "354\r\n" +
22
        "Subject: Test subject\r\n" +
22
        "Subject: Test subject\r\n" +
23
            "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" +
23
            "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" +
24
            "To: to@you.com\r\n" +
24
            "To: to@you.com\r\n" +
25
        "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" +
25
        "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" +
26
        "\r\n" +
26
        "\r\n" +
27
        "
27
        "test line 1\r\n" +
28
\r\n" +
28
        "test line 2\r\n" +
29
        "\r\n" +
29
        "\r\n" +
30
        ".\r\n" +
30
        ".\r\n" +
31
        "250\r\n" +
31
        "250\r\n" +
32
        "QUIT\r\n" +
32
        "QUIT\r\n" +
33
        "221\r\n";
33
        "221\r\n";
34
        assertEquals(expectedResult.length(), result.length());
34
        assertEquals(expectedResult.length(), result.length());
35
        assertEquals(expectedResult, result);
35
        assertEquals(expectedResult, result); // order of headers cannot be guaranteed
36
        if (testMailClient.isFailed()) {
36
        if (testMailClient.isFailed()) {
37
            fail(testMailClient.getFailMessage());
37
            fail(testMailClient.getFailMessage());
38
        }
38
        }
39
    }
39
    }
40
    /**
40
    /**
41
     *  Test a MailMessage with US-ASCII character set
41
     *  Test a MailMessage with 
42
     *  The next four testcase can be kinda hard to debug as Ant will often
43
     *  print the junit failure in US-ASCII.
42
no to or bcc lines
44
     */
43
     */
45
    public void testAsciiCharset() {
44
    public void testCcOnly() {
46
        ServerThread testMailServer = new ServerThread();
45
        ServerThread testMailServer = new ServerThread();
47
        Thread server = new Thread(testMailServer);
46
        Thread server = new Thread(testMailServer);
48
        server.start();
47
        server.start();
49
        ClientThread testMailClient = new ClientThread();
48
        ClientThread testMailClient = new ClientThread();
50
        testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>");
49
        testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>");
51
        testMailClient.to("Ceki G\u00fclc\u00fc <abuse@mail-abuse.org>");
50
        testMailClient.cc("cc@you.com");
52
        testMailClient.setSubject("Test subject");
51
        testMailClient.setSubject("Test subject");
53
        testMailClient.setMessage(""
52
        testMailClient.setMessage( "test line 1\n" +
54
);
53
            "test line 2" );
55
        Thread client = new Thread(testMailClient);
54
        Thread client = new Thread(testMailClient);
56
        client.start();
55
        client.start();
57
        try {
56
        try {
58
            server.join(60 * 1000); // 60s
57
            server.join(60 * 1000); // 60s
59
            client.join(30 * 1000); // a further 30s
58
            client.join(30 * 1000); // a further 30s
60
        } catch (InterruptedException ie ) {
59
        } catch (InterruptedException ie ) {
61
            fail("InterruptedException: " + ie);
60
            fail( "InterruptedException: " + ie );
62
        }
61
        }
63
        String result = testMailServer.getResult();
62
        String result = testMailServer.getResult();
64
        String expectedResult = "220 test SMTP EmailTaskTest\r\n" +
63
        String expectedResult = "220 test SMTP EmailTaskTest\r\n" +
65
        "HELO " + local + "\r\n" +
64
        "HELO " + local + "\r\n" +
66
        "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" +
65
        "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" +
67
        "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" +
66
        "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" +
68
        "250\r\n" +
67
        "250\r\n" +
69
        "RCPT TO: <abuse@mail-abuse.org>\r\n" +
68
        "RCPT TO: <cc@you.com>\r\n" +
70
        "250\r\n" +
69
        "250\r\n" +
71
        "DATA\r\n" +
70
        "DATA\r\n" +
72
        "354\r\n" +
71
        "354\r\n" +
73
        "Subject: Test subject\r\n" +
72
        "Subject: Test subject\r\n" +
74
            "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" +
73
            "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" +
75
            "To: Ceki G\u00fclc\u00fc <abuse@mail-abuse.org>\r\n" +
74
            "Cc: cc@you.com\r\n" +
76
        "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" +
75
        "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" +
77
        "\r\n" +
76
        "\r\n" +
78
        "
77
        "test line 1\r\n" +
79
\r\n" +
78
        "test line 2\r\n" +
80
        "\r\n" +
79
        "\r\n" +
81
        ".\r\n" +
80
        ".\r\n" +
82
        "250\r\n" +
81
        "250\r\n" +
83
        "QUIT\r\n" +
82
        "QUIT\r\n" +
84
        "221\r\n"
83
        "221\r\n"
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