diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java
index 94ca49bf..2b5cb3e1 100644
--- a/src/de/schildbach/pte/BahnProvider.java
+++ b/src/de/schildbach/pte/BahnProvider.java
@@ -457,7 +457,7 @@ public final class BahnProvider implements NetworkProvider
+ "(\\d{1,2}:\\d{2})" // time
+ "(?: (?:(pünktl\\.)|ca. \\+(\\d+)))?" // ontime, delay
+ "(?: k\\.A\\.)?" //
- + "(?:, ([^<]*))?" // message
+ + "(?:, ([^<]*))*" // messages FIXME
+ "(?:(?:, )?(?:heute )?(Gl\\. " + ParserUtils.P_PLATFORM + ")(?:\\s*)?)?" // position
+ "(?:,
]*>[^<]*)?" // (ersatzzug message)
+ "(?:,
[^<]*]*>[^<]*)?" // (ersatzzug message)
diff --git a/test/de/schildbach/pte/BahnProviderTest.java b/test/de/schildbach/pte/BahnProviderTest.java
index 786f9722..a4190c88 100644
--- a/test/de/schildbach/pte/BahnProviderTest.java
+++ b/test/de/schildbach/pte/BahnProviderTest.java
@@ -136,7 +136,23 @@ public class BahnProviderTest
}
@Test
- public void departureWithMultipleMessages()
+ public void departureWithErsatzzugMessage()
+ {
+ final Matcher m = assertFineDepartures("" //
+ + "\n" //
+ + "RB 93328\n" //
+ + "\n" //
+ + ">>\n" //
+ + "München Hbf Gl.27-36\n" //
+ + "
\n" //
+ + "14:49 pünktl., Gl. 1,
Ersatzzug fürRB 5416");
+
+ assertNotNull(m.group(4)); // onTime
+ assertNotNull(m.group(7)); // position
+ }
+
+ @Test
+ public void departureWithMessageAndErsatzzugMessage()
{
final Matcher m = assertFineDepartures("" //
+ "\n" //
@@ -167,18 +183,19 @@ public class BahnProviderTest
}
@Test
- public void departureWithErsatzzugMessage()
+ public void departureWithMultipleMessages()
{
- final Matcher m = assertFineDepartures("" //
- + "\n" //
- + "RB 93328\n" //
+ final Matcher m = assertFineDepartures(""//
+ + "\n" //
+ + "S 11\n" //
+ "\n" //
+ ">>\n" //
- + "München Hbf Gl.27-36\n" //
+ + "Bergisch Gladbach\n" //
+ "
\n" //
- + "14:49 pünktl., Gl. 1,
Ersatzzug fürRB 5416");
+ + "10:59 pünktl., Änderung im Zuglauf!, Fährt heute nur bis Köln-Dellbrück, Gl. 1");
assertNotNull(m.group(4)); // onTime
+ assertNotNull(m.group(6)); // message
assertNotNull(m.group(7)); // position
}