Skip to content

Commit

Permalink
Merge branch '2.6.x' into 2.7.x
Browse files Browse the repository at this point in the history
Closes gh-32244
  • Loading branch information
snicoll committed Sep 7, 2022
2 parents d44fb56 + cd61d69 commit 9ef067d
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2020 the original author or authors.
* Copyright 2002-2022 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.
Expand Down Expand Up @@ -29,6 +29,7 @@
*
* @author Eddú Meléndez
* @author Edson Chávez
* @author Valentine Wu
* @since 2.3.0
* @see Period
*/
Expand Down Expand Up @@ -102,7 +103,7 @@ private void append(StringBuilder result, Period value, Unit unit) {
/**
* ISO-8601 formatting.
*/
ISO8601("^[+-]?P.*$", 0) {
ISO8601("^[+-]?P.*$", Pattern.CASE_INSENSITIVE) {

@Override
public Period parse(String value, ChronoUnit unit) {
Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2022 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.
Expand Down Expand Up @@ -29,6 +29,7 @@
*
* @author Eddú Meléndez
* @author Edson Chávez
* @author Valentine Wu
*/
class PeriodStyleTests {

Expand All @@ -40,6 +41,7 @@ void detectAndParseWhenValueIsNullShouldThrowException() {

@Test
void detectAndParseWhenIso8601ShouldReturnPeriod() {
assertThat(PeriodStyle.detectAndParse("p15m")).isEqualTo(Period.parse("p15m"));
assertThat(PeriodStyle.detectAndParse("P15M")).isEqualTo(Period.parse("P15M"));
assertThat(PeriodStyle.detectAndParse("-P15M")).isEqualTo(Period.parse("P-15M"));
assertThat(PeriodStyle.detectAndParse("+P15M")).isEqualTo(Period.parse("P15M"));
Expand Down Expand Up @@ -123,6 +125,7 @@ void detectWhenSimpleShouldReturnSimple() {

@Test
void detectWhenIso8601ShouldReturnIso8601() {
assertThat(PeriodStyle.detect("p20")).isEqualTo(PeriodStyle.ISO8601);
assertThat(PeriodStyle.detect("P20")).isEqualTo(PeriodStyle.ISO8601);
assertThat(PeriodStyle.detect("-P15M")).isEqualTo(PeriodStyle.ISO8601);
assertThat(PeriodStyle.detect("+P15M")).isEqualTo(PeriodStyle.ISO8601);
Expand All @@ -140,6 +143,7 @@ void detectWhenUnknownShouldThrowException() {

@Test
void parseIso8601ShouldParse() {
assertThat(PeriodStyle.ISO8601.parse("p20d")).isEqualTo(Period.parse("p20d"));
assertThat(PeriodStyle.ISO8601.parse("P20D")).isEqualTo(Period.parse("P20D"));
assertThat(PeriodStyle.ISO8601.parse("P15M")).isEqualTo(Period.parse("P15M"));
assertThat(PeriodStyle.ISO8601.parse("+P15M")).isEqualTo(Period.parse("P15M"));
Expand All @@ -151,6 +155,7 @@ void parseIso8601ShouldParse() {

@Test
void parseIso8601WithUnitShouldIgnoreUnit() {
assertThat(PeriodStyle.ISO8601.parse("p20d", ChronoUnit.SECONDS)).isEqualTo(Period.parse("p20d"));
assertThat(PeriodStyle.ISO8601.parse("P20D", ChronoUnit.SECONDS)).isEqualTo(Period.parse("P20D"));
assertThat(PeriodStyle.ISO8601.parse("P15M", ChronoUnit.SECONDS)).isEqualTo(Period.parse("P15M"));
assertThat(PeriodStyle.ISO8601.parse("+P15M", ChronoUnit.SECONDS)).isEqualTo(Period.parse("P15M"));
Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2022 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.
Expand Down Expand Up @@ -37,6 +37,7 @@ class StringToPeriodConverterTests {

@ConversionServiceTest
void convertWhenIso8601ShouldReturnPeriod(ConversionService conversionService) {
assertThat(convert(conversionService, "p2y")).isEqualTo(Period.parse("p2y"));
assertThat(convert(conversionService, "P2Y")).isEqualTo(Period.parse("P2Y"));
assertThat(convert(conversionService, "P3M")).isEqualTo(Period.parse("P3M"));
assertThat(convert(conversionService, "P4W")).isEqualTo(Period.parse("P4W"));
Expand Down

0 comments on commit 9ef067d

Please sign in to comment.