Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
108ebe0f
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
108ebe0f
编写于
9月 05, 2016
作者:
R
Rossen Stoyanchev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Polish resource handling tests
上级
3dc6f113
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
51 addition
and
61 deletion
+51
-61
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/GzipResourceResolverTests.java
...ework/web/servlet/resource/GzipResourceResolverTests.java
+42
-41
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceTransformerSupportTests.java
...web/servlet/resource/ResourceTransformerSupportTests.java
+3
-16
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlProviderTests.java
...mework/web/servlet/resource/ResourceUrlProviderTests.java
+6
-4
未找到文件。
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/GzipResourceResolverTests.java
浏览文件 @
108ebe0f
...
...
@@ -36,14 +36,16 @@ import org.springframework.core.io.Resource;
import
org.springframework.mock.web.test.MockHttpServletRequest
;
import
org.springframework.util.FileCopyUtils
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
/**
* Unit tests for
* {@link org.springframework.web.servlet.resource.GzipResourceResolver}.
* Unit tests for {@link GzipResourceResolver}.
*
* @author Jeremy Grelle
* @author Rossen Stoyanchev
*/
public
class
GzipResourceResolverTests
{
...
...
@@ -53,28 +55,27 @@ public class GzipResourceResolverTests {
private
Cache
cache
;
@BeforeClass
public
static
void
createGzippedResources
()
throws
IOException
{
createGzFile
(
"/js/foo.js"
);
createGzFile
(
"foo-e36d2e05253c6c7085a91522ce43a0b4.css"
);
}
private
static
void
createGzFile
(
String
filePath
)
throws
IOException
{
Resource
location
=
new
ClassPathResource
(
"test/"
,
GzipResourceResolverTests
.
class
);
Resource
jsFile
=
new
FileSystemResource
(
location
.
createRelative
(
"/js/foo.js"
).
getFile
());
Resource
gzJsFile
=
jsFile
.
createRelative
(
"foo.js.gz"
);
Resource
fingerPrintedFile
=
new
FileSystemResource
(
location
.
createRelative
(
"foo-e36d2e05253c6c7085a91522ce43a0b4.css"
).
getFile
());
Resource
gzFingerPrintedFile
=
fingerPrintedFile
.
createRelative
(
"foo-e36d2e05253c6c7085a91522ce43a0b4.css.gz"
);
if
(
gzJsFile
.
getFile
().
createNewFile
())
{
GZIPOutputStream
out
=
new
GZIPOutputStream
(
new
FileOutputStream
(
gzJsFile
.
getFile
()));
FileCopyUtils
.
copy
(
jsFile
.
getInputStream
(),
out
);
}
Resource
fileResource
=
new
FileSystemResource
(
location
.
createRelative
(
filePath
).
getFile
());
Resource
gzFileResource
=
location
.
createRelative
(
filePath
+
".gz"
);
if
(
gzFi
ngerPrintedFil
e
.
getFile
().
createNewFile
())
{
GZIPOutputStream
out
=
new
GZIPOutputStream
(
new
FileOutputStream
(
gzFi
ngerPrintedFil
e
.
getFile
()));
FileCopyUtils
.
copy
(
fi
ngerPrintedFil
e
.
getInputStream
(),
out
);
if
(
gzFi
leResourc
e
.
getFile
().
createNewFile
())
{
GZIPOutputStream
out
=
new
GZIPOutputStream
(
new
FileOutputStream
(
gzFi
leResourc
e
.
getFile
()));
FileCopyUtils
.
copy
(
fi
leResourc
e
.
getInputStream
(),
out
);
}
assertTrue
(
gzJsFile
.
exists
());
assertTrue
(
gzFingerPrintedFile
.
exists
());
assertTrue
(
gzFileResource
.
exists
());
}
@Before
public
void
setUp
()
{
this
.
cache
=
new
ConcurrentMapCache
(
"resourceCache"
);
...
...
@@ -89,21 +90,23 @@ public class GzipResourceResolverTests {
resolvers
.
add
(
new
GzipResourceResolver
());
resolvers
.
add
(
versionResolver
);
resolvers
.
add
(
new
PathResourceResolver
());
resolver
=
new
DefaultResourceResolverChain
(
resolvers
);
locations
=
new
ArrayList
<>();
locations
.
add
(
new
ClassPathResource
(
"test/"
,
getClass
()));
locations
.
add
(
new
ClassPathResource
(
"testalternatepath/"
,
getClass
()));
this
.
resolver
=
new
DefaultResourceResolverChain
(
resolvers
);
this
.
locations
=
new
ArrayList
<>();
this
.
locations
.
add
(
new
ClassPathResource
(
"test/"
,
getClass
()));
this
.
locations
.
add
(
new
ClassPathResource
(
"testalternatepath/"
,
getClass
()));
}
@Test
public
void
resolveGzippedFile
()
throws
IOException
{
MockHttpServletRequest
request
=
new
MockHttpServletRequest
();
request
.
addHeader
(
"Accept-Encoding"
,
"gzip"
);
String
file
=
"js/foo.js"
;
String
gzFile
=
file
+
".gz"
;
Resource
resource
=
new
ClassPathResource
(
"test/"
+
gzFile
,
getClass
());
Resource
resolved
=
resolver
.
resolveResource
(
request
,
file
,
locations
);
Resource
resolved
=
this
.
resolver
.
resolveResource
(
request
,
file
,
this
.
locations
);
String
gzFile
=
file
+
".gz"
;
Resource
resource
=
new
ClassPathResource
(
"test/"
+
gzFile
,
getClass
());
assertEquals
(
resource
.
getDescription
(),
resolved
.
getDescription
());
assertEquals
(
new
ClassPathResource
(
"test/"
+
file
).
getFilename
(),
resolved
.
getFilename
());
assertTrue
(
"Expected "
+
resolved
+
" to be of type "
+
EncodedResource
.
class
,
...
...
@@ -115,10 +118,10 @@ public class GzipResourceResolverTests {
MockHttpServletRequest
request
=
new
MockHttpServletRequest
();
request
.
addHeader
(
"Accept-Encoding"
,
"gzip"
);
String
file
=
"foo-e36d2e05253c6c7085a91522ce43a0b4.css"
;
String
gzFile
=
file
+
".gz"
;
Resource
resource
=
new
ClassPathResource
(
"test/"
+
gzFile
,
getClass
());
Resource
resolved
=
resolver
.
resolveResource
(
request
,
file
,
locations
);
Resource
resolved
=
this
.
resolver
.
resolveResource
(
request
,
file
,
this
.
locations
);
String
gzFile
=
file
+
".gz"
;
Resource
resource
=
new
ClassPathResource
(
"test/"
+
gzFile
,
getClass
());
assertEquals
(
resource
.
getDescription
(),
resolved
.
getDescription
());
assertEquals
(
new
ClassPathResource
(
"test/"
+
file
).
getFilename
(),
resolved
.
getFilename
());
assertTrue
(
"Expected "
+
resolved
+
" to be of type "
+
EncodedResource
.
class
,
...
...
@@ -130,40 +133,38 @@ public class GzipResourceResolverTests {
MockHttpServletRequest
request
=
new
MockHttpServletRequest
(
"GET"
,
"/js/foo.js"
);
request
.
addHeader
(
"Accept-Encoding"
,
"gzip"
);
String
file
=
"js/foo.js"
;
String
gzFile
=
file
+
".gz"
;
Resource
resource
=
new
ClassPathResource
(
"test/"
+
file
,
getClass
());
Resource
gzResource
=
new
ClassPathResource
(
"test/"
+
gzFile
,
getClass
());
// resolved resource is now cached in CachingResourceResolver
Resource
resolved
=
resolver
.
resolveResource
(
request
,
file
,
locations
);
Resource
resolved
=
this
.
resolver
.
resolveResource
(
request
,
file
,
this
.
locations
);
String
gzFile
=
file
+
".gz"
;
Resource
gzResource
=
new
ClassPathResource
(
"test/"
+
gzFile
,
getClass
());
assertEquals
(
gzResource
.
getDescription
(),
resolved
.
getDescription
());
assertEquals
(
new
ClassPathResource
(
"test/"
+
file
).
getFilename
(),
resolved
.
getFilename
());
assertTrue
(
"Expected "
+
resolved
+
" to be of type "
+
EncodedResource
.
class
,
resolved
instanceof
EncodedResource
);
// resolved resource is now cached in CachingResourceResolver
request
=
new
MockHttpServletRequest
(
"GET"
,
"/js/foo.js"
);
resolved
=
resolver
.
resolveResource
(
request
,
file
,
locations
);
resolved
=
this
.
resolver
.
resolveResource
(
request
,
file
,
this
.
locations
);
Resource
resource
=
new
ClassPathResource
(
"test/"
+
file
,
getClass
());
assertEquals
(
resource
.
getDescription
(),
resolved
.
getDescription
());
assertEquals
(
new
ClassPathResource
(
"test/"
+
file
).
getFilename
(),
resolved
.
getFilename
());
assertFalse
(
"Expected "
+
resolved
+
" to *not* be of type "
+
EncodedResource
.
class
,
resolved
instanceof
EncodedResource
);
}
// SPR-13149
@Test
@Test
// SPR-13149
public
void
resolveWithNullRequest
()
throws
IOException
{
String
file
=
"js/foo.js"
;
Resource
resolved
=
this
.
resolver
.
resolveResource
(
null
,
file
,
this
.
locations
);
String
gzFile
=
file
+
".gz"
;
Resource
gzResource
=
new
ClassPathResource
(
"test/"
+
gzFile
,
getClass
());
// resolved resource is now cached in CachingResourceResolver
Resource
resolved
=
resolver
.
resolveResource
(
null
,
file
,
locations
);
assertEquals
(
gzResource
.
getDescription
(),
resolved
.
getDescription
());
assertEquals
(
new
ClassPathResource
(
"test/"
+
file
).
getFilename
(),
resolved
.
getFilename
());
assertTrue
(
"Expected "
+
resolved
+
" to be of type "
+
EncodedResource
.
class
,
resolved
instanceof
EncodedResource
);
}
}
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceTransformerSupportTests.java
浏览文件 @
108ebe0f
...
...
@@ -27,7 +27,7 @@ import org.springframework.core.io.ClassPathResource;
import
org.springframework.core.io.Resource
;
import
org.springframework.mock.web.test.MockHttpServletRequest
;
import
static
org
.
junit
.
Assert
.
*
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
/**
* Unit tests for {@code ResourceTransformerSupport}.
...
...
@@ -59,9 +59,9 @@ public class ResourceTransformerSupportTests {
this
.
request
=
new
MockHttpServletRequest
(
"GET"
,
""
);
}
pr
otected
ResourceUrlProvider
createResourceUrlProvider
(
List
<
ResourceResolver
>
resolvers
)
{
pr
ivate
ResourceUrlProvider
createResourceUrlProvider
(
List
<
ResourceResolver
>
resolvers
)
{
ResourceHttpRequestHandler
handler
=
new
ResourceHttpRequestHandler
();
handler
.
setLocations
(
Arrays
.
as
List
(
new
ClassPathResource
(
"test/"
,
getClass
())));
handler
.
setLocations
(
Collections
.
singleton
List
(
new
ClassPathResource
(
"test/"
,
getClass
())));
handler
.
setResourceResolvers
(
resolvers
);
ResourceUrlProvider
urlProvider
=
new
ResourceUrlProvider
();
urlProvider
.
setHandlerMap
(
Collections
.
singletonMap
(
"/resources/**"
,
handler
));
...
...
@@ -80,20 +80,8 @@ public class ResourceTransformerSupportTests {
assertEquals
(
"/context/servlet/resources/bar-11e16cf79faee7ac698c805cf28248d2.css"
,
actual
);
}
@Test
public
void
resolveUrlPathWithoutHandlerMappingAttribute
()
throws
Exception
{
this
.
request
.
setRequestURI
(
"/context/servlet/resources/main.css"
);
this
.
request
.
setContextPath
(
"/context"
);
this
.
request
.
setServletPath
(
"/servlet"
);
String
resourcePath
=
"/context/servlet/resources/bar.css"
;
Resource
css
=
new
ClassPathResource
(
"test/main.css"
,
getClass
());
String
actual
=
this
.
transformer
.
resolveUrlPath
(
resourcePath
,
this
.
request
,
css
,
this
.
transformerChain
);
assertEquals
(
"/context/servlet/resources/bar-11e16cf79faee7ac698c805cf28248d2.css"
,
actual
);
}
@Test
public
void
resolveUrlPathWithRelativePath
()
throws
Exception
{
this
.
request
.
setRequestURI
(
"/context/servlet/resources/main.css"
);
Resource
css
=
new
ClassPathResource
(
"test/main.css"
,
getClass
());
String
actual
=
this
.
transformer
.
resolveUrlPath
(
"bar.css"
,
this
.
request
,
css
,
this
.
transformerChain
);
assertEquals
(
"bar-11e16cf79faee7ac698c805cf28248d2.css"
,
actual
);
...
...
@@ -101,7 +89,6 @@ public class ResourceTransformerSupportTests {
@Test
public
void
resolveUrlPathWithRelativePathInParentDirectory
()
throws
Exception
{
this
.
request
.
setRequestURI
(
"/context/servlet/resources/images/image.png"
);
Resource
imagePng
=
new
ClassPathResource
(
"test/images/image.png"
,
getClass
());
String
actual
=
this
.
transformer
.
resolveUrlPath
(
"../bar.css"
,
this
.
request
,
imagePng
,
this
.
transformerChain
);
assertEquals
(
"../bar-11e16cf79faee7ac698c805cf28248d2.css"
,
actual
);
...
...
spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlProviderTests.java
浏览文件 @
108ebe0f
...
...
@@ -78,8 +78,9 @@ public class ResourceUrlProviderTests {
request
.
setContextPath
(
"/"
);
request
.
setRequestURI
(
"/"
);
String
url
=
this
.
urlProvider
.
getForRequestUrl
(
request
,
"/resources/foo.css?foo=bar&url=http://example.org"
);
assertEquals
(
"/resources/foo.css?foo=bar&url=http://example.org"
,
url
);
String
url
=
"/resources/foo.css?foo=bar&url=http://example.org"
;
String
resolvedUrl
=
this
.
urlProvider
.
getForRequestUrl
(
request
,
url
);
assertEquals
(
"/resources/foo.css?foo=bar&url=http://example.org"
,
resolvedUrl
);
}
@Test
...
...
@@ -132,8 +133,9 @@ public class ResourceUrlProviderTests {
}
@Configuration
@SuppressWarnings
(
"unused"
)
public
static
class
HandlerMappingConfiguration
{
@Configuration
@SuppressWarnings
({
"unused"
,
"WeakerAccess"
})
static
class
HandlerMappingConfiguration
{
@Bean
public
SimpleUrlHandlerMapping
simpleUrlHandlerMapping
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录