diff options
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java | 4 | ||||
-rw-r--r-- | core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java b/core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java index e14866b4e..8b036c6a9 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java +++ b/core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java @@ -8,7 +8,9 @@ public class DurationParser { public static long inMillis(String durationStr) throws NumberFormatException { String[] parts = durationStr.trim().split(":"); - if (parts.length == 2) { + if (parts.length == 1) { + return toMillis(parts[0]); + } else if (parts.length == 2) { return toMillis("0", parts[0], parts[1]); } else if (parts.length == 3) { return toMillis(parts[0], parts[1], parts[2]); diff --git a/core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java b/core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java index b73916b24..e7c861969 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java @@ -17,6 +17,13 @@ public class DurationParserTest { } @Test + public void testSingleNumberDurationInMillis() { + int twoHoursInSeconds = 2 * 60 * 60; + long duration = DurationParser.inMillis(String.valueOf(twoHoursInSeconds)); + assertEquals(2 * hours, duration); + } + + @Test public void testMinuteSecondDurationInMillis() { long duration = DurationParser.inMillis("05:10"); assertEquals(5 * minutes + 10 * seconds, duration); |