Lines 17-27
Link Here
|
17 |
package org.apache.jasper.servlet; |
17 |
package org.apache.jasper.servlet; |
18 |
|
18 |
|
19 |
import java.io.File; |
19 |
import java.io.File; |
|
|
20 |
import java.lang.reflect.Constructor; |
21 |
import java.net.JarURLConnection; |
22 |
import java.net.URL; |
20 |
import java.util.HashMap; |
23 |
import java.util.HashMap; |
21 |
import java.util.List; |
24 |
import java.util.List; |
22 |
import java.util.Map; |
25 |
import java.util.Map; |
23 |
|
26 |
|
24 |
import org.junit.Assert; |
27 |
import org.junit.Assert; |
|
|
28 |
import org.junit.Ignore; |
25 |
import org.junit.Test; |
29 |
import org.junit.Test; |
26 |
|
30 |
|
27 |
import org.apache.catalina.Context; |
31 |
import org.apache.catalina.Context; |
Lines 29-34
import org.apache.catalina.startup.Tomcat;
Link Here
|
29 |
import org.apache.catalina.startup.TomcatBaseTest; |
33 |
import org.apache.catalina.startup.TomcatBaseTest; |
30 |
import org.apache.tomcat.util.buf.ByteChunk; |
34 |
import org.apache.tomcat.util.buf.ByteChunk; |
31 |
import org.apache.tomcat.util.scan.StandardJarScanner; |
35 |
import org.apache.tomcat.util.scan.StandardJarScanner; |
|
|
36 |
import org.easymock.EasyMock; |
32 |
|
37 |
|
33 |
public class TestTldScanner extends TomcatBaseTest { |
38 |
public class TestTldScanner extends TomcatBaseTest { |
34 |
|
39 |
|
Lines 86-89
public class TestTldScanner extends TomcatBaseTest {
Link Here
|
86 |
Assert.assertTrue(result, result.indexOf("<p>" + expected + "</p>") > 0); |
91 |
Assert.assertTrue(result, result.indexOf("<p>" + expected + "</p>") > 0); |
87 |
} |
92 |
} |
88 |
|
93 |
|
|
|
94 |
@Ignore("Illustrates Bug 57647") |
95 |
@Test |
96 |
public void testBug57647() throws Exception { |
97 |
TldScanner scanner = EasyMock.createMock(TldScanner.class); |
98 |
Constructor<TldScanner.TldScannerCallback> constructor = |
99 |
TldScanner.TldScannerCallback.class.getDeclaredConstructor(TldScanner.class); |
100 |
constructor.setAccessible(true); |
101 |
TldScanner.TldScannerCallback callback = constructor.newInstance((TldScanner) scanner); |
102 |
|
103 |
File webappDir = new File("webapps/examples"); |
104 |
Assert.assertFalse(callback.scanFoundNoTLDs()); |
105 |
scan(callback, webappDir, "WEB-INF/lib/taglibs-standard-spec-1.2.3.jar"); |
106 |
Assert.assertTrue(callback.scanFoundNoTLDs()); |
107 |
scan(callback, webappDir, "WEB-INF/lib/taglibs-standard-impl-1.2.3.jar"); |
108 |
Assert.assertTrue(callback.scanFoundNoTLDs()); |
109 |
} |
110 |
|
111 |
private static void scan(TldScanner.TldScannerCallback callback, File webapp, String path) |
112 |
throws Exception { |
113 |
String fullPath = new File(webapp, path).toURI().toString(); |
114 |
URL jarUrl = new URL("jar:" + fullPath + "!/"); |
115 |
JarURLConnection connection = (JarURLConnection) jarUrl.openConnection(); |
116 |
callback.scan(connection, path, true); |
117 |
} |
118 |
|
89 |
} |
119 |
} |
|
|
120 |
|