diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java index 1e74ba22..165c09ec 100644 --- a/src/de/schildbach/pte/BahnProvider.java +++ b/src/de/schildbach/pte/BahnProvider.java @@ -450,7 +450,8 @@ public final class BahnProvider implements NetworkProvider + ">>\n\\s*(.+?)\\s*\n
\n" // destination + "(\\d{1,2}:\\d{2})" // time + "(?: (?:(pünktl\\.)|ca. \\+(\\d+)))?" // ontime, delay - + "(?:, ([^<]*))?" // (message) + + "(?: k\\.A\\.)?" // + + "(?:, ([^<]*))?" // message + "(?:(?:, )?(Gl\\. " + ParserUtils.P_PLATFORM + "))?" // position , Pattern.DOTALL); private static final Pattern P_DEPARTURES_URI_STATION_ID = Pattern.compile("input=(\\d+)"); diff --git a/test/de/schildbach/pte/BahnProviderTest.java b/test/de/schildbach/pte/BahnProviderTest.java index 21018db1..c515728e 100644 --- a/test/de/schildbach/pte/BahnProviderTest.java +++ b/test/de/schildbach/pte/BahnProviderTest.java @@ -78,6 +78,19 @@ public class BahnProviderTest + "07:02 ca. +5, Fährt heute nur bis Düsseldorf Hbf, Gl. 10"); } + @Test + public void departureWithWeirdMessage() + { + assertFineDepartures("" // + + "\n" // + + "ICE 609\n" // + + "\n" // + + ">>\n" // + + "Basel SBB\n" // + + "
\n" // + + "04:52 k.A., Gl. 3"); + } + private void assertFineConnectionDetails(String s) { Matcher m = BahnProvider.P_CONNECTION_DETAILS_FINE.matcher(s);