Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
40ac055d
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 搜索 >>
提交
40ac055d
编写于
11月 14, 2019
作者:
S
Sam Brannen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Polish contribution
See gh-23895
上级
c9a6f428
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
18 deletion
+25
-18
spring-context/src/main/java/org/springframework/format/datetime/standard/InstantFormatter.java
...gframework/format/datetime/standard/InstantFormatter.java
+2
-1
spring-context/src/test/java/org/springframework/format/datetime/standard/InstantFormatterTests.java
...ework/format/datetime/standard/InstantFormatterTests.java
+23
-17
未找到文件。
spring-context/src/main/java/org/springframework/format/datetime/standard/InstantFormatter.java
浏览文件 @
40ac055d
/*
* Copyright 2002-201
6
the original author or authors.
* Copyright 2002-201
9
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -31,6 +31,7 @@ import org.springframework.format.Formatter;
* (which is commonly used for HTTP date header values), as of Spring 4.3.
*
* @author Juergen Hoeller
* @author Andrei Nevedomskii
* @since 4.0
* @see java.time.Instant#parse
* @see java.time.format.DateTimeFormatter#ISO_INSTANT
...
...
spring-context/src/test/java/org/springframework/format/datetime/standard/InstantFormatterTests.java
浏览文件 @
40ac055d
...
...
@@ -16,34 +16,42 @@
package
org.springframework.format.datetime.standard
;
import
org.junit.jupiter.api.extension.ExtensionContext
;
import
org.junit.jupiter.params.ParameterizedTest
;
import
org.junit.jupiter.params.provider.Arguments
;
import
org.junit.jupiter.params.provider.ArgumentsProvider
;
import
org.junit.jupiter.params.provider.ArgumentsSource
;
import
java.text.ParseException
;
import
java.time.Instant
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Random
;
import
java.util.stream.Stream
;
import
org.junit.jupiter.api.DisplayName
;
import
org.junit.jupiter.api.DisplayNameGeneration
;
import
org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores
;
import
org.junit.jupiter.api.extension.ExtensionContext
;
import
org.junit.jupiter.params.ParameterizedTest
;
import
org.junit.jupiter.params.provider.Arguments
;
import
org.junit.jupiter.params.provider.ArgumentsProvider
;
import
org.junit.jupiter.params.provider.ArgumentsSource
;
import
static
java
.
time
.
Instant
.
MAX
;
import
static
java
.
time
.
Instant
.
MIN
;
import
static
java
.
time
.
ZoneId
.
systemDefault
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
/**
* Unit tests for {@link InstantFormatter}.
*
* @author Andrei Nevedomskii
* @author Sam Brannen
* @since 5.1.12
*/
@SuppressWarnings
(
"ConstantConditions"
)
@DisplayName
(
"InstantFormatter unit tests"
)
@DisplayNameGeneration
(
ReplaceUnderscores
.
class
)
class
InstantFormatterTests
{
private
final
InstantFormatter
instantFormatter
=
new
InstantFormatter
();
@ParameterizedTest
@ArgumentsSource
(
ISOSerializedInstantProvider
.
class
)
void
should_parse_an_ISO_formatted_string_representation_of_an_
i
nstant
(
String
input
)
throws
ParseException
{
void
should_parse_an_ISO_formatted_string_representation_of_an_
I
nstant
(
String
input
)
throws
ParseException
{
Instant
expected
=
DateTimeFormatter
.
ISO_INSTANT
.
parse
(
input
,
Instant:
:
from
);
Instant
actual
=
instantFormatter
.
parse
(
input
,
null
);
...
...
@@ -53,7 +61,7 @@ class InstantFormatterTests {
@ParameterizedTest
@ArgumentsSource
(
RFC1123SerializedInstantProvider
.
class
)
void
should_parse_an_RFC1123_formatted_string_representation_of_an_
i
nstant
(
String
input
)
throws
ParseException
{
void
should_parse_an_RFC1123_formatted_string_representation_of_an_
I
nstant
(
String
input
)
throws
ParseException
{
Instant
expected
=
DateTimeFormatter
.
RFC_1123_DATE_TIME
.
parse
(
input
,
Instant:
:
from
);
Instant
actual
=
instantFormatter
.
parse
(
input
,
null
);
...
...
@@ -63,7 +71,7 @@ class InstantFormatterTests {
@ParameterizedTest
@ArgumentsSource
(
RandomInstantProvider
.
class
)
void
should_serialize_an_
instant_using_ISO_format_and_ignoring_l
ocale
(
Instant
input
)
{
void
should_serialize_an_
Instant_using_ISO_format_and_ignoring_L
ocale
(
Instant
input
)
{
String
expected
=
DateTimeFormatter
.
ISO_INSTANT
.
format
(
input
);
String
actual
=
instantFormatter
.
print
(
input
,
null
);
...
...
@@ -97,7 +105,7 @@ class InstantFormatterTests {
private
static
final
long
DATA_SET_SIZE
=
10
;
static
final
Random
RANDOM
=
new
Random
();
private
static
final
Random
random
=
new
Random
();
Stream
<?>
provideArguments
()
{
return
randomInstantStream
(
MIN
,
MAX
);
...
...
@@ -109,11 +117,9 @@ class InstantFormatterTests {
}
Stream
<
Instant
>
randomInstantStream
(
Instant
min
,
Instant
max
)
{
return
Stream
.
concat
(
Stream
.
of
(
Instant
.
now
()),
// make sure that the data set includes current instant
RANDOM
.
longs
(
min
.
getEpochSecond
(),
max
.
getEpochSecond
())
.
mapToObj
(
Instant:
:
ofEpochSecond
)
);
return
Stream
.
concat
(
Stream
.
of
(
Instant
.
now
()),
// make sure that the data set includes current instant
random
.
longs
(
min
.
getEpochSecond
(),
max
.
getEpochSecond
()).
mapToObj
(
Instant:
:
ofEpochSecond
));
}
}
}
\ No newline at end of file
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录