diff --git a/WordPressUtils/build.gradle b/WordPressUtils/build.gradle index 820fd38561fe..3200303fdaee 100644 --- a/WordPressUtils/build.gradle +++ b/WordPressUtils/build.gradle @@ -32,7 +32,7 @@ android { buildToolsVersion "23.0.2" defaultConfig { - versionName "1.8.0" + versionName "1.9.0" minSdkVersion 14 targetSdkVersion 23 } diff --git a/WordPressUtils/src/androidTest/java/org/wordpress/android/util/ShortcodeUtilsTest.java b/WordPressUtils/src/androidTest/java/org/wordpress/android/util/ShortcodeUtilsTest.java new file mode 100644 index 000000000000..c506a452ee5d --- /dev/null +++ b/WordPressUtils/src/androidTest/java/org/wordpress/android/util/ShortcodeUtilsTest.java @@ -0,0 +1,25 @@ +package org.wordpress.android.util; + +import android.test.InstrumentationTestCase; + +public class ShortcodeUtilsTest extends InstrumentationTestCase { + public void testGetVideoPressShortcodeFromId() { + assertEquals("[wpvideo abcd1234]", ShortcodeUtils.getVideoPressShortcodeFromId("abcd1234")); + } + + public void testGetVideoPressShortcodeFromNullId() { + assertEquals("", ShortcodeUtils.getVideoPressShortcodeFromId(null)); + } + + public void testGetVideoPressIdFromCorrectShortcode() { + assertEquals("abcd1234", ShortcodeUtils.getVideoPressIdFromShortCode("[wpvideo abcd1234]")); + } + + public void testGetVideoPressIdFromInvalidShortcode() { + assertEquals("", ShortcodeUtils.getVideoPressIdFromShortCode("[other abcd1234]")); + } + + public void testGetVideoPressIdFromNullShortcode() { + assertEquals("", ShortcodeUtils.getVideoPressIdFromShortCode(null)); + } +} diff --git a/WordPressUtils/src/main/java/org/wordpress/android/util/ShortcodeUtils.java b/WordPressUtils/src/main/java/org/wordpress/android/util/ShortcodeUtils.java new file mode 100644 index 000000000000..09480f156364 --- /dev/null +++ b/WordPressUtils/src/main/java/org/wordpress/android/util/ShortcodeUtils.java @@ -0,0 +1,31 @@ +package org.wordpress.android.util; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class ShortcodeUtils { + public static String getVideoPressShortcodeFromId(String videoPressId) { + if (videoPressId == null || videoPressId.isEmpty()) { + return ""; + } + + return "[wpvideo " + videoPressId + "]"; + } + + public static String getVideoPressIdFromShortCode(String shortcode) { + String videoPressId = ""; + + if (shortcode != null) { + String videoPressShortcodeRegex = "^\\[wpvideo (.*)]$"; + + Pattern pattern = Pattern.compile(videoPressShortcodeRegex); + Matcher matcher = pattern.matcher(shortcode); + + if (matcher.find()) { + videoPressId = matcher.group(1); + } + } + + return videoPressId; + } +}