| 1 |
|
package net.sourceforge.pebble.util; |
| 2 |
|
|
| 3 |
|
import junit.framework.TestCase; |
| 4 |
|
|
| 5 |
|
|
| 6 |
|
|
| 7 |
|
|
| 8 |
|
|
| 9 |
|
|
| 10 |
|
|
| 11 |
|
@author |
| 12 |
|
|
| 13 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (28) |
Complexity: 5 |
Complexity Density: 0,21 |
|
| 14 |
|
public class UrlRewriterTest extends TestCase { |
| 15 |
|
private static final String HTTP_URL = "http://pebble.sf.net"; |
| 16 |
|
private static final String HTTPS_URL = "https://sf.net/projects/pebble"; |
| 17 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
| 18 |
2
|
public void testDefaultDoesntRewrite() throws Exception {... |
| 19 |
2
|
assertEquals(HTTP_URL, UrlRewriter.doRewrite(HTTP_URL)); |
| 20 |
|
} |
| 21 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0,17 |
1
PASS
|
|
| 22 |
2
|
public void testMockRewriterIsUsed() {... |
| 23 |
2
|
MockRewriter mockRewriter = new MockRewriter(HTTP_URL, HTTPS_URL); |
| 24 |
2
|
UrlRewriter.useThisRewriter(mockRewriter); |
| 25 |
2
|
assertEquals(HTTPS_URL, UrlRewriter.doRewrite(HTTP_URL)); |
| 26 |
2
|
UrlRewriter.clear(); |
| 27 |
2
|
assertEquals(HTTP_URL, UrlRewriter.doRewrite(HTTP_URL)); |
| 28 |
2
|
assertEquals(1, mockRewriter.count); |
| 29 |
|
} |
| 30 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (15) |
Complexity: 1 |
Complexity Density: 0,07 |
1
PASS
|
|
| 31 |
2
|
public void testThreadedUsage() throws InterruptedException {... |
| 32 |
2
|
MockRewriter m1 = new MockRewriter("s1", "u1"); |
| 33 |
2
|
MockRewriter m2 = new MockRewriter("s2", "u2"); |
| 34 |
2
|
MockRewriter m3 = new MockRewriter("s3", "u3"); |
| 35 |
2
|
Thread t1 = new Thread(new UrlRewriteTestRunnable(m1)); |
| 36 |
2
|
Thread t2 = new Thread(new UrlRewriteTestRunnable(m2)); |
| 37 |
2
|
Thread t3 = new Thread(new UrlRewriteTestRunnable(m3)); |
| 38 |
2
|
t1.start(); |
| 39 |
2
|
t2.start(); |
| 40 |
2
|
t3.start(); |
| 41 |
2
|
t1.join(1000); |
| 42 |
2
|
t2.join(1000); |
| 43 |
2
|
t3.join(1000); |
| 44 |
2
|
assertEquals(1, m1.count); |
| 45 |
2
|
assertEquals(1, m2.count); |
| 46 |
2
|
assertEquals(1, m3.count); |
| 47 |
|
} |
| 48 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 2 |
Complexity Density: 1 |
|
| 49 |
6
|
static void sleep() {... |
| 50 |
6
|
try { Thread.sleep(500); } catch (InterruptedException ignore) {} |
| 51 |
|
} |
| 52 |
|
|
| 53 |
|
|
| 54 |
|
|
| 55 |
|
|
| 56 |
|
|
| 57 |
|
|
| 58 |
|
|
| 59 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 2 |
Complexity Density: 0,5 |
|
| 60 |
|
static class UrlRewriteTestRunnable implements Runnable { |
| 61 |
|
public boolean done = false; |
| 62 |
|
private final MockRewriter m; |
| 63 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
| 64 |
6
|
public UrlRewriteTestRunnable(MockRewriter m) {... |
| 65 |
6
|
this.m = m; |
| 66 |
|
} |
| 67 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0,33 |
|
| 68 |
6
|
public void run() {... |
| 69 |
6
|
UrlRewriter.useThisRewriter(m); |
| 70 |
6
|
sleep(); |
| 71 |
6
|
assertEquals(m.result, UrlRewriter.doRewrite(m.expectation)); |
| 72 |
|
} |
| 73 |
|
} |
| 74 |
|
|
| 75 |
|
|
| 76 |
|
|
| 77 |
|
|
| 78 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 2 |
Complexity Density: 0,4 |
|
| 79 |
|
static class MockRewriter extends UrlRewriter { |
| 80 |
|
private final String expectation; |
| 81 |
|
private final String result; |
| 82 |
|
public int count = 0; |
| 83 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
|
| 84 |
8
|
public MockRewriter(String expectation, String result) {... |
| 85 |
8
|
this.expectation = expectation; |
| 86 |
8
|
this.result = result; |
| 87 |
|
} |
| 88 |
|
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0,33 |
|
| 89 |
8
|
@Override... |
| 90 |
|
public String rewrite(String url) { |
| 91 |
8
|
assertEquals(expectation, url); |
| 92 |
8
|
count++; |
| 93 |
8
|
return result; |
| 94 |
|
} |
| 95 |
|
} |
| 96 |
|
} |