From 0508b0254fac5eb9874f20f9c0f8ac227d309d16 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Thu, 5 May 2016 08:31:31 +1200 Subject: [PATCH] #692 - MigrationVersion parses version "0.1.1-SNAPSHOT" as "0.1" --- .../dbmigration/model/MigrationVersion.java | 2 +- .../dbmigration/model/MigrationVersionTest.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/avaje/ebean/dbmigration/model/MigrationVersion.java b/src/main/java/com/avaje/ebean/dbmigration/model/MigrationVersion.java index c338ccde5..11ed26603 100644 --- a/src/main/java/com/avaje/ebean/dbmigration/model/MigrationVersion.java +++ b/src/main/java/com/avaje/ebean/dbmigration/model/MigrationVersion.java @@ -168,7 +168,7 @@ public class MigrationVersion implements Comparable { value = value.replace('_', '.'); - String[] sections = value.split("\\."); + String[] sections = value.split("[\\.-]"); if ("r".equalsIgnoreCase(sections[0])) { // a "repeatable" version (does not have a version number) diff --git a/src/test/java/com/avaje/ebean/dbmigration/model/MigrationVersionTest.java b/src/test/java/com/avaje/ebean/dbmigration/model/MigrationVersionTest.java index c1b8f73cc..6d02dfe57 100644 --- a/src/test/java/com/avaje/ebean/dbmigration/model/MigrationVersionTest.java +++ b/src/test/java/com/avaje/ebean/dbmigration/model/MigrationVersionTest.java @@ -30,6 +30,22 @@ public class MigrationVersionTest { assertThat(list.get(4).getComment()).isEqualTo("beta"); } + @Test + public void test_parse_hyphenSnapshot() { + + MigrationVersion version = MigrationVersion.parse("0.1.1-SNAPSHOT"); + assertThat(version.normalised()).isEqualTo("0.1.1"); + assertThat(version.getComment()).isEqualTo(""); + } + + @Test + public void test_parse_hyphenSnapshot_when_underscores() { + + MigrationVersion version = MigrationVersion.parse("0_1_1-SNAPSHOT__Foo"); + assertThat(version.normalised()).isEqualTo("0.1.1"); + assertThat(version.getComment()).isEqualTo("Foo"); + } + @Test public void test_parse_when_repeatable() throws Exception {