From 7408236fa994867854959a64f58800858da02518 Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Fri, 15 Apr 2022 18:38:01 -0700 Subject: [PATCH 01/11] Update test-file.md --- test-file.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-file.md b/test-file.md index 0f9fbc913..40760ea0d 100644 --- a/test-file.md +++ b/test-file.md @@ -1,4 +1,4 @@ # Title [link1](https://something.com) -[link2](some-thing.html) +[link2](some-thing.html) \ No newline at end of file From e1eb219fa0a7209e14ecf59cc9fc91e207085262 Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Fri, 15 Apr 2022 18:53:34 -0700 Subject: [PATCH 02/11] Update MarkdownParse.java --- MarkdownParse.java | 1 + 1 file changed, 1 insertion(+) diff --git a/MarkdownParse.java b/MarkdownParse.java index 5ebf83aba..478f0e129 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -18,6 +18,7 @@ public static ArrayList getLinks(String markdown) { int closeParen = markdown.indexOf(")", openParen); toReturn.add(markdown.substring(openParen + 1, closeParen)); currentIndex = closeParen + 1; + System.out.println(currentIndex); } return toReturn; From 209525ed5e9f39b99dfe93d8e9f795b95bb6d3a3 Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Fri, 15 Apr 2022 19:03:33 -0700 Subject: [PATCH 03/11] Create test.md --- test.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 test.md diff --git a/test.md b/test.md new file mode 100644 index 000000000..733a13e0b --- /dev/null +++ b/test.md @@ -0,0 +1,2 @@ +# test +[link](question().com) From 377b36abd184ac0891673e12a89406256ce4549f Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Fri, 15 Apr 2022 19:07:00 -0700 Subject: [PATCH 04/11] d --- MarkdownParse.java | 8 +++++--- test.md | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/MarkdownParse.java b/MarkdownParse.java index 478f0e129..3baeca523 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -13,11 +13,12 @@ public static ArrayList getLinks(String markdown) { int currentIndex = 0; while(currentIndex < markdown.length()) { int openBracket = markdown.indexOf("[", currentIndex); - int closeBracket = markdown.indexOf("]", openBracket); - int openParen = markdown.indexOf("(", closeBracket); - int closeParen = markdown.indexOf(")", openParen); + int closeBracket = markdown.indexOf("]",openBracket); + int openParen = markdown.indexOf("(",closeBracket); + int closeParen = markdown.indexOf(")",openBracket); toReturn.add(markdown.substring(openParen + 1, closeParen)); currentIndex = closeParen + 1; + System.out.println(currentIndex); } @@ -30,5 +31,6 @@ public static void main(String[] args) throws IOException { String content = Files.readString(fileName); ArrayList links = getLinks(content); System.out.println(links); + System.out.println("12312"); } } diff --git a/test.md b/test.md index 733a13e0b..fbac9dd26 100644 --- a/test.md +++ b/test.md @@ -1,2 +1,2 @@ # test -[link](question().com) +[link](question[].com) From c86ec3286bf6971694b1669e2a83fd9e618880ec Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Fri, 22 Apr 2022 18:25:43 -0700 Subject: [PATCH 05/11] k --- MarkdownParse.java | 4 ++-- test.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MarkdownParse.java b/MarkdownParse.java index 3baeca523..e16c357f8 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -16,10 +16,10 @@ public static ArrayList getLinks(String markdown) { int closeBracket = markdown.indexOf("]",openBracket); int openParen = markdown.indexOf("(",closeBracket); int closeParen = markdown.indexOf(")",openBracket); + toReturn.add(markdown.substring(openParen + 1, closeParen)); currentIndex = closeParen + 1; - - System.out.println(currentIndex); + } return toReturn; diff --git a/test.md b/test.md index fbac9dd26..960975c70 100644 --- a/test.md +++ b/test.md @@ -1,2 +1,2 @@ # test -[link](question[].com) +[link](question(ddada).com) \ No newline at end of file From 927b00b7ba8a860f8cab8f78cee08f5c2e050946 Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Fri, 22 Apr 2022 19:02:38 -0700 Subject: [PATCH 06/11] Tester --- MarkdownParseTest.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 MarkdownParseTest.java diff --git a/MarkdownParseTest.java b/MarkdownParseTest.java new file mode 100644 index 000000000..4b6d58cfd --- /dev/null +++ b/MarkdownParseTest.java @@ -0,0 +1,29 @@ +import static org.junit.Assert.*; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; + +import org.junit.*; +public class MarkdownParseTest { + @Test + public void addition() { + assertEquals(2, 1 + 1); + + } + @Test + public void testgetLink(){ + try { + Path fileName = Path.of("test-file.md"); + + String content = Files.readString(fileName); + ArrayList links = MarkdownParse.getLinks(content); + String LinkS=links.toString(); + assertEquals("The website should be printed out correctly","[https://something.com, some-thing.html]", LinkS); + + } catch (Exception e) { + e.printStackTrace(); + } + + } +} \ No newline at end of file From 4f7bf5e1fc01b377a4b00626065c395c6eae50d9 Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Sat, 23 Apr 2022 15:14:11 -0700 Subject: [PATCH 07/11] d --- MarkdownParse.java | 6 ++---- MarkdownParseTest.java | 21 +-------------------- test-file2.md | 6 ++++++ test-file3.md | 5 +++++ test-file4.md | 3 +++ test-file5.md | 7 +++++++ test-file6.md | 3 +++ test-file7.md | 1 + test-file8.md | 2 ++ 9 files changed, 30 insertions(+), 24 deletions(-) create mode 100644 test-file2.md create mode 100644 test-file3.md create mode 100644 test-file4.md create mode 100644 test-file5.md create mode 100644 test-file6.md create mode 100644 test-file7.md create mode 100644 test-file8.md diff --git a/MarkdownParse.java b/MarkdownParse.java index e16c357f8..c6168e93c 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -1,5 +1,3 @@ -//https://howtodoinjava.com/java/io/java-read-file-to-string-examples/ - import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -31,6 +29,6 @@ public static void main(String[] args) throws IOException { String content = Files.readString(fileName); ArrayList links = getLinks(content); System.out.println(links); - System.out.println("12312"); + } -} +} \ No newline at end of file diff --git a/MarkdownParseTest.java b/MarkdownParseTest.java index 4b6d58cfd..376d59245 100644 --- a/MarkdownParseTest.java +++ b/MarkdownParseTest.java @@ -1,29 +1,10 @@ import static org.junit.Assert.*; - -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.ArrayList; - import org.junit.*; public class MarkdownParseTest { + @Test public void addition() { assertEquals(2, 1 + 1); - } - @Test - public void testgetLink(){ - try { - Path fileName = Path.of("test-file.md"); - - String content = Files.readString(fileName); - ArrayList links = MarkdownParse.getLinks(content); - String LinkS=links.toString(); - assertEquals("The website should be printed out correctly","[https://something.com, some-thing.html]", LinkS); - } catch (Exception e) { - e.printStackTrace(); - } - - } } \ No newline at end of file diff --git a/test-file2.md b/test-file2.md new file mode 100644 index 000000000..24fac4add --- /dev/null +++ b/test-file2.md @@ -0,0 +1,6 @@ +# Title + +[a link!](https://something.com) +[another link!](some-page.html) + +some paragraph text after the links \ No newline at end of file diff --git a/test-file3.md b/test-file3.md new file mode 100644 index 000000000..031b99a6d --- /dev/null +++ b/test-file3.md @@ -0,0 +1,5 @@ +# title + +[] + +more text here \ No newline at end of file diff --git a/test-file4.md b/test-file4.md new file mode 100644 index 000000000..083728b57 --- /dev/null +++ b/test-file4.md @@ -0,0 +1,3 @@ +# title + +[]link goes here! diff --git a/test-file5.md b/test-file5.md new file mode 100644 index 000000000..03d95aa8f --- /dev/null +++ b/test-file5.md @@ -0,0 +1,7 @@ +# title + +[stuff] + +paragraph + +(page.com) \ No newline at end of file diff --git a/test-file6.md b/test-file6.md new file mode 100644 index 000000000..18e1f6ff3 --- /dev/null +++ b/test-file6.md @@ -0,0 +1,3 @@ +# title + +![link](page.com) \ No newline at end of file diff --git a/test-file7.md b/test-file7.md new file mode 100644 index 000000000..23f9c68a7 --- /dev/null +++ b/test-file7.md @@ -0,0 +1 @@ +)[ \ No newline at end of file diff --git a/test-file8.md b/test-file8.md new file mode 100644 index 000000000..8ed07127a --- /dev/null +++ b/test-file8.md @@ -0,0 +1,2 @@ +[](a link on the first line) +[ \ No newline at end of file From 4272d0ac09a7f32cd89aae4cf830fbf462dce1e9 Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Sat, 23 Apr 2022 15:51:53 -0700 Subject: [PATCH 08/11] Bug3fix --- MarkdownParse.java | 3 +++ test-file.md | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/MarkdownParse.java b/MarkdownParse.java index c6168e93c..fd72fab60 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -11,6 +11,9 @@ public static ArrayList getLinks(String markdown) { int currentIndex = 0; while(currentIndex < markdown.length()) { int openBracket = markdown.indexOf("[", currentIndex); + if(openBracket==-1){ + break; + } int closeBracket = markdown.indexOf("]",openBracket); int openParen = markdown.indexOf("(",closeBracket); int closeParen = markdown.indexOf(")",openBracket); diff --git a/test-file.md b/test-file.md index 40760ea0d..42b177fd7 100644 --- a/test-file.md +++ b/test-file.md @@ -1,4 +1,4 @@ # Title [link1](https://something.com) -[link2](some-thing.html) \ No newline at end of file +![image](some-thing.html) \ No newline at end of file From 9c76774d5d35afcdc207dd1f2c1847be8f9c9baa Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Sat, 23 Apr 2022 16:03:30 -0700 Subject: [PATCH 09/11] Bugfix1 --- MarkdownParse.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MarkdownParse.java b/MarkdownParse.java index fd72fab60..56d42c764 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -14,6 +14,13 @@ public static ArrayList getLinks(String markdown) { if(openBracket==-1){ break; } + if(markdown.substring(currentIndex,openBracket).contains("!")){ + int closeBracket = markdown.indexOf("]",openBracket); + int openParen = markdown.indexOf("(",closeBracket); + int closeParen = markdown.indexOf(")",openBracket); + currentIndex = closeParen + 1; + continue; + } int closeBracket = markdown.indexOf("]",openBracket); int openParen = markdown.indexOf("(",closeBracket); int closeParen = markdown.indexOf(")",openBracket); From da252cbdd9e560a0d482d84580331b6d570923c9 Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Sat, 23 Apr 2022 16:21:01 -0700 Subject: [PATCH 10/11] Bugfix2 --- MarkdownParse.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MarkdownParse.java b/MarkdownParse.java index 56d42c764..cd8a9ad9f 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -23,6 +23,9 @@ public static ArrayList getLinks(String markdown) { } int closeBracket = markdown.indexOf("]",openBracket); int openParen = markdown.indexOf("(",closeBracket); + if(openParen==-1){ + break; + } int closeParen = markdown.indexOf(")",openBracket); toReturn.add(markdown.substring(openParen + 1, closeParen)); From 03b12dd06446fa221fe26dc8082f01deaa709836 Mon Sep 17 00:00:00 2001 From: Robintianqili Date: Sat, 23 Apr 2022 16:36:34 -0700 Subject: [PATCH 11/11] Update test.md --- test.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test.md b/test.md index 960975c70..1931754ad 100644 --- a/test.md +++ b/test.md @@ -1,2 +1,3 @@ # test -[link](question(ddada).com) \ No newline at end of file +[link](question(ddada).com) +![image](questionddd.com) \ No newline at end of file