diff options
Diffstat (limited to 'app')
4 files changed, 14 insertions, 87 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CloudNote.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CloudNote.java index cf6c51e8..e194b11e 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CloudNote.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CloudNote.java @@ -7,6 +7,7 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Locale; +import it.niedermann.android.markdown.MarkdownUtil; import it.niedermann.owncloud.notes.shared.util.NoteUtil; /** @@ -46,7 +47,7 @@ public class CloudNote implements Serializable { } public void setTitle(String title) { - this.title = NoteUtil.removeMarkDown(title); + this.title = MarkdownUtil.removeMarkdown(title); } public Calendar getModified() { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NoteUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NoteUtil.java index 014d3377..5033417c 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NoteUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NoteUtil.java @@ -7,10 +7,10 @@ import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import java.util.regex.Pattern; - import it.niedermann.owncloud.notes.R; +import static it.niedermann.android.markdown.MarkdownUtil.removeMarkdown; + /** * Provides basic functionality for Note operations. * Created by stefan on 06.10.15. @@ -18,13 +18,6 @@ import it.niedermann.owncloud.notes.R; @SuppressWarnings("WeakerAccess") public class NoteUtil { - private static final Pattern pLists = Pattern.compile("^\\s*[*+-]\\s+", Pattern.MULTILINE); - private static final Pattern pHeadings = Pattern.compile("^#+\\s+(.*?)\\s*#*$", Pattern.MULTILINE); - private static final Pattern pHeadingLine = Pattern.compile("^(?:=*|-*)$", Pattern.MULTILINE); - private static final Pattern pEmphasis = Pattern.compile("(\\*+|_+)(.*?)\\1", Pattern.MULTILINE); - private static final Pattern pSpace1 = Pattern.compile("^\\s+", Pattern.MULTILINE); - private static final Pattern pSpace2 = Pattern.compile("\\s+$", Pattern.MULTILINE); - public static final String EXCERPT_LINE_SEPARATOR = " "; private NoteUtil() { @@ -32,26 +25,6 @@ public class NoteUtil { } /** - * Strips all MarkDown from the given String - * - * @param s String - MarkDown - * @return Plain Text-String - */ - @NonNull - public static String removeMarkDown(@Nullable String s) { - if (s == null) - return ""; - String result = s; - result = pLists.matcher(result).replaceAll(""); - result = pHeadings.matcher(result).replaceAll("$1"); - result = pHeadingLine.matcher(result).replaceAll(""); - result = pEmphasis.matcher(result).replaceAll("$2"); - result = pSpace1.matcher(result).replaceAll(""); - result = pSpace2.matcher(result).replaceAll(""); - return result; - } - - /** * Checks if a line is empty. * <pre> * " " -> empty @@ -65,7 +38,7 @@ public class NoteUtil { * @return boolean isEmpty */ public static boolean isEmptyLine(@Nullable String line) { - return removeMarkDown(line).trim().length() == 0; + return removeMarkdown(line).trim().length() == 0; } /** @@ -90,12 +63,12 @@ public class NoteUtil { */ @NonNull public static String generateNoteExcerpt(@NonNull String content, @Nullable String title) { - content = removeMarkDown(content.trim()); + content = removeMarkdown(content.trim()); if(TextUtils.isEmpty(content)) { return ""; } if (!TextUtils.isEmpty(title)) { - final String trimmedTitle = removeMarkDown(title.trim()); + final String trimmedTitle = removeMarkdown(title.trim()); if (content.startsWith(trimmedTitle)) { content = content.substring(trimmedTitle.length()); } @@ -120,7 +93,7 @@ public class NoteUtil { */ @NonNull public static String generateNoteTitle(@NonNull String content) { - return getLineWithoutMarkDown(content, 0); + return getLineWithoutMarkdown(content, 0); } /** @@ -131,7 +104,7 @@ public class NoteUtil { * @return lineContent String */ @NonNull - public static String getLineWithoutMarkDown(@NonNull String content, int lineNumber) { + public static String getLineWithoutMarkdown(@NonNull String content, int lineNumber) { String line = ""; if (content.contains("\n")) { String[] lines = content.split("\n"); @@ -140,7 +113,7 @@ public class NoteUtil { currentLine++; } if (currentLine < lines.length) { - line = NoteUtil.removeMarkDown(lines[currentLine]); + line = removeMarkdown(lines[currentLine]); } } else { line = content; diff --git a/app/src/test/java/it/niedermann/owncloud/notes/shared/model/NoteTest.java b/app/src/test/java/it/niedermann/owncloud/notes/shared/model/NoteTest.java deleted file mode 100644 index bd15fe17..00000000 --- a/app/src/test/java/it/niedermann/owncloud/notes/shared/model/NoteTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package it.niedermann.owncloud.notes.shared.model; - -import junit.framework.TestCase; - -import it.niedermann.owncloud.notes.shared.util.NoteUtil; - -/** - * Tests the Note Model - * Created by stefan on 06.10.15. - */ -public class NoteTest extends TestCase { - - public void testMarkDownStrip() { - assertEquals("Title", NoteUtil.removeMarkDown("# Title")); - assertEquals("Aufzählung", NoteUtil.removeMarkDown("* Aufzählung")); - } -} diff --git a/app/src/test/java/it/niedermann/owncloud/notes/shared/util/NoteUtilTest.java b/app/src/test/java/it/niedermann/owncloud/notes/shared/util/NoteUtilTest.java index 90ee505f..5e53c018 100644 --- a/app/src/test/java/it/niedermann/owncloud/notes/shared/util/NoteUtilTest.java +++ b/app/src/test/java/it/niedermann/owncloud/notes/shared/util/NoteUtilTest.java @@ -7,36 +7,6 @@ import junit.framework.TestCase; * Created by stefan on 06.10.15. */ public class NoteUtilTest extends TestCase { - public void testRemoveMarkDown() { - assertEquals("Test", NoteUtil.removeMarkDown("Test")); - assertEquals("Foo\nBar", NoteUtil.removeMarkDown("Foo\nBar")); - assertEquals("Foo\nBar", NoteUtil.removeMarkDown("Foo\n Bar")); - assertEquals("Foo\nBar", NoteUtil.removeMarkDown("Foo \nBar")); - assertEquals("Foo-Bar", NoteUtil.removeMarkDown("Foo-Bar")); - assertEquals("Foo*Bar", NoteUtil.removeMarkDown("Foo*Bar")); - assertEquals("Foo/Bar", NoteUtil.removeMarkDown("Foo/Bar")); - assertEquals("FooTestBar", NoteUtil.removeMarkDown("Foo*Test*Bar")); - assertEquals("FooTestBar", NoteUtil.removeMarkDown("Foo**Test**Bar")); - assertEquals("FooTestBar", NoteUtil.removeMarkDown("Foo***Test***Bar")); - assertEquals("FooTest*Bar", NoteUtil.removeMarkDown("Foo*Test**Bar")); - assertEquals("Foo*TestBar", NoteUtil.removeMarkDown("Foo***Test**Bar")); - assertEquals("FooTestBar", NoteUtil.removeMarkDown("Foo_Test_Bar")); - assertEquals("FooTestBar", NoteUtil.removeMarkDown("Foo__Test__Bar")); - assertEquals("FooTestBar", NoteUtil.removeMarkDown("Foo___Test___Bar")); - assertEquals("Foo\nHeader\nBar", NoteUtil.removeMarkDown("Foo\n# Header\nBar")); - assertEquals("Foo\nHeader\nBar", NoteUtil.removeMarkDown("Foo\n### Header\nBar")); - assertEquals("Foo\nHeader\nBar", NoteUtil.removeMarkDown("Foo\n# Header #\nBar")); - assertEquals("Foo\nHeader\nBar", NoteUtil.removeMarkDown("Foo\n## Header ####\nBar")); - assertEquals("Foo\nNo Header #\nBar", NoteUtil.removeMarkDown("Foo\nNo Header #\nBar")); - assertEquals("Foo\nHeader\nBar", NoteUtil.removeMarkDown("Foo\nHeader\n=\nBar")); - assertEquals("Foo\nHeader\nBar", NoteUtil.removeMarkDown("Foo\nHeader\n-----\nBar")); - assertEquals("Foo\nHeader\n--=--\nBar", NoteUtil.removeMarkDown("Foo\nHeader\n--=--\nBar")); - assertEquals("Foo\nAufzählung\nBar", NoteUtil.removeMarkDown("Foo\n* Aufzählung\nBar")); - assertEquals("Foo\nAufzählung\nBar", NoteUtil.removeMarkDown("Foo\n+ Aufzählung\nBar")); - assertEquals("Foo\nAufzählung\nBar", NoteUtil.removeMarkDown("Foo\n- Aufzählung\nBar")); - assertEquals("Foo\nAufzählung\nBar", NoteUtil.removeMarkDown("Foo\n - Aufzählung\nBar")); - assertEquals("Foo\nAufzählung *\nBar", NoteUtil.removeMarkDown("Foo\n* Aufzählung *\nBar")); - } public void testIsEmptyLine() { assertTrue(NoteUtil.isEmptyLine(" ")); @@ -48,10 +18,10 @@ public class NoteUtilTest extends TestCase { } public void testGetLineWithoutMarkDown() { - assertEquals("Test", NoteUtil.getLineWithoutMarkDown("Test", 0)); - assertEquals("Test", NoteUtil.getLineWithoutMarkDown("\nTest", 0)); - assertEquals("Foo", NoteUtil.getLineWithoutMarkDown("Foo\nBar", 0)); - assertEquals("Bar", NoteUtil.getLineWithoutMarkDown("Foo\nBar", 1)); + assertEquals("Test", NoteUtil.getLineWithoutMarkdown("Test", 0)); + assertEquals("Test", NoteUtil.getLineWithoutMarkdown("\nTest", 0)); + assertEquals("Foo", NoteUtil.getLineWithoutMarkdown("Foo\nBar", 0)); + assertEquals("Bar", NoteUtil.getLineWithoutMarkdown("Foo\nBar", 1)); } public void testGenerateNoteTitle() { |