@@ -6,35 +6,27 @@ package at.bitfire.ical4android.validation
66
77import org.junit.Assert.assertEquals
88import org.junit.Assert.assertFalse
9- import org.junit.Assert.assertNotEquals
109import org.junit.Assert.assertTrue
1110import org.junit.Test
1211import java.time.Duration
1312
1413class FixInvalidDayOffsetPreprocessorTest {
1514
16- private fun fixParseAssertEqual (expected : String , testValue : String ) {
15+ private fun assertFixedEquals (expected : String , testValue : String , parseDuration : Boolean = true ) {
1716 // Fix the duration string
1817 val fixed = FixInvalidDayOffsetPreprocessor .fixString(testValue)
1918
2019 // Test the duration can now be parsed
21- for (line in fixed.split(' \n ' )) {
22- val duration = line.substring(line.indexOf(' :' ) + 1 )
23- Duration .parse(duration)
24- }
20+ if (parseDuration)
21+ for (line in fixed.split(' \n ' )) {
22+ val duration = line.substring(line.indexOf(' :' ) + 1 )
23+ Duration .parse(duration)
24+ }
2525
2626 // Assert
2727 assertEquals(expected, fixed)
2828 }
2929
30- private fun fixAssertNotEqual (expected : String , testValue : String ) {
31- // Fix the duration string
32- val fixed = FixInvalidDayOffsetPreprocessor .fixString(testValue)
33-
34- // Assert not equal
35- assertNotEquals(expected, fixed)
36- }
37-
3830 @Test
3931 fun test_FixString_NoOccurrence () {
4032 assertEquals(
@@ -47,53 +39,53 @@ class FixInvalidDayOffsetPreprocessorTest {
4739 fun test_FixString_SucceedsAsValueOnCorrectProperties () {
4840 // By RFC 5545 the only properties allowed to hold DURATION as a VALUE are:
4941 // DURATION, REFRESH, RELATED, TRIGGER
50- fixParseAssertEqual (" DURATION;VALUE=DURATION:P1D" , " DURATION;VALUE=DURATION:PT1D" )
51- fixParseAssertEqual (" REFRESH-INTERVAL;VALUE=DURATION:P1D" , " REFRESH-INTERVAL;VALUE=DURATION:PT1D" )
52- fixParseAssertEqual (" RELATED-TO;VALUE=DURATION:P1D" , " RELATED-TO;VALUE=DURATION:PT1D" )
53- fixParseAssertEqual (" TRIGGER;VALUE=DURATION:P1D" , " TRIGGER;VALUE=DURATION:PT1D" )
42+ assertFixedEquals (" DURATION;VALUE=DURATION:P1D" , " DURATION;VALUE=DURATION:PT1D" )
43+ assertFixedEquals (" REFRESH-INTERVAL;VALUE=DURATION:P1D" , " REFRESH-INTERVAL;VALUE=DURATION:PT1D" )
44+ assertFixedEquals (" RELATED-TO;VALUE=DURATION:P1D" , " RELATED-TO;VALUE=DURATION:PT1D" )
45+ assertFixedEquals (" TRIGGER;VALUE=DURATION:P1D" , " TRIGGER;VALUE=DURATION:PT1D" )
5446 }
5547
5648 @Test
5749 fun test_FixString_FailsAsValueOnWrongProperty () {
5850 // The update from RFC 2445 to RFC 5545 disallows using DURATION as a VALUE in FREEBUSY
59- fixAssertNotEqual (" FREEBUSY;VALUE=DURATION:P1D " , " FREEBUSY;VALUE=DURATION:PT1D" )
51+ assertFixedEquals (" FREEBUSY;VALUE=DURATION:PT1D " , " FREEBUSY;VALUE=DURATION:PT1D" , parseDuration = false )
6052 }
6153
6254 @Test
6355 fun test_FixString_FailsIfNotAtStartOfLine () {
64- fixAssertNotEqual (" xxDURATION;VALUE=DURATION:P1D " , " xxDURATION;VALUE=DURATION:PT1D" )
56+ assertFixedEquals (" xxDURATION;VALUE=DURATION:PT1D " , " xxDURATION;VALUE=DURATION:PT1D" , parseDuration = false )
6557 }
6658
6759 @Test
6860 fun test_FixString_DayOffsetFrom_Invalid () {
69- fixParseAssertEqual (" DURATION:-P1D" , " DURATION:-PT1D" )
70- fixParseAssertEqual (" TRIGGER:-P2D" , " TRIGGER:-PT2D" )
61+ assertFixedEquals (" DURATION:-P1D" , " DURATION:-PT1D" )
62+ assertFixedEquals (" TRIGGER:-P2D" , " TRIGGER:-PT2D" )
7163
72- fixParseAssertEqual (" DURATION:-P1D" , " DURATION:-P1DT" )
73- fixParseAssertEqual (" TRIGGER:-P2D" , " TRIGGER:-P2DT" )
64+ assertFixedEquals (" DURATION:-P1D" , " DURATION:-P1DT" )
65+ assertFixedEquals (" TRIGGER:-P2D" , " TRIGGER:-P2DT" )
7466 }
7567
7668 @Test
7769 fun test_FixString_DayOffsetFrom_Valid () {
78- fixParseAssertEqual (" DURATION:-PT12H" , " DURATION:-PT12H" )
79- fixParseAssertEqual (" TRIGGER:-PT12H" , " TRIGGER:-PT12H" )
70+ assertFixedEquals (" DURATION:-PT12H" , " DURATION:-PT12H" )
71+ assertFixedEquals (" TRIGGER:-PT12H" , " TRIGGER:-PT12H" )
8072 }
8173
8274 @Test
8375 fun test_FixString_DayOffsetFromMultiple_Invalid () {
84- fixParseAssertEqual (" DURATION:-P1D\n TRIGGER:-P2D" , " DURATION:-PT1D\n TRIGGER:-PT2D" )
85- fixParseAssertEqual (" DURATION:-P1D\n TRIGGER:-P2D" , " DURATION:-P1DT\n TRIGGER:-P2DT" )
76+ assertFixedEquals (" DURATION:-P1D\n TRIGGER:-P2D" , " DURATION:-PT1D\n TRIGGER:-PT2D" )
77+ assertFixedEquals (" DURATION:-P1D\n TRIGGER:-P2D" , " DURATION:-P1DT\n TRIGGER:-P2DT" )
8678 }
8779
8880 @Test
8981 fun test_FixString_DayOffsetFromMultiple_Valid () {
90- fixParseAssertEqual (" DURATION:-PT12H\n TRIGGER:-PT12H" , " DURATION:-PT12H\n TRIGGER:-PT12H" )
82+ assertFixedEquals (" DURATION:-PT12H\n TRIGGER:-PT12H" , " DURATION:-PT12H\n TRIGGER:-PT12H" )
9183 }
9284
9385 @Test
9486 fun test_FixString_DayOffsetFromMultiple_Mixed () {
95- fixParseAssertEqual (" DURATION:-P1D\n DURATION:-PT12H\n TRIGGER:-P2D" , " DURATION:-PT1D\n DURATION:-PT12H\n TRIGGER:-PT2D" )
96- fixParseAssertEqual (" DURATION:-P1D\n DURATION:-PT12H\n TRIGGER:-P2D" , " DURATION:-P1DT\n DURATION:-PT12H\n TRIGGER:-P2DT" )
87+ assertFixedEquals (" DURATION:-P1D\n DURATION:-PT12H\n TRIGGER:-P2D" , " DURATION:-PT1D\n DURATION:-PT12H\n TRIGGER:-PT2D" )
88+ assertFixedEquals (" DURATION:-P1D\n DURATION:-PT12H\n TRIGGER:-P2D" , " DURATION:-P1DT\n DURATION:-PT12H\n TRIGGER:-P2DT" )
9789 }
9890
9991 @Test
0 commit comments