diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..7c14a10 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,38 @@ +# This is a basic workflow to help you get started with Actions + +name: CI + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the "main" branch + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + + # Runs a single command using the runners shell + - name: Run a one-line script + run: echo Hello, world! + + # Runs a set of commands using the runners shell + - name: Run a multi-line script + run: | + make test + + echo Add other actions to build, + echo test, and deploy your project. diff --git a/MarkdownParse.class b/MarkdownParse.class new file mode 100644 index 0000000..d185e13 Binary files /dev/null and b/MarkdownParse.class differ diff --git a/MarkdownParse.java b/MarkdownParse.java index 5ebf83a..eeea8d3 100644 --- a/MarkdownParse.java +++ b/MarkdownParse.java @@ -12,22 +12,41 @@ public static ArrayList getLinks(String markdown) { // find the next [, then find the ], then find the (, then read link upto next ) int currentIndex = 0; while(currentIndex < markdown.length()) { + + //System.out.println(currentIndex); int openBracket = markdown.indexOf("[", currentIndex); + if(openBracket==-1){ + break; + } + //System.out.println(openBracket); int closeBracket = markdown.indexOf("]", openBracket); + if(closeBracket==1){ + break; + } + //System.out.println(closeBracket); int openParen = markdown.indexOf("(", closeBracket); + if(openParen==-1){ + break; + } + // System.out.println(openParen); int closeParen = markdown.indexOf(")", openParen); + if(closeParen==-1){ + break; + } + //System.out.println(closeBracket); toReturn.add(markdown.substring(openParen + 1, closeParen)); currentIndex = closeParen + 1; - } - + } return toReturn; } public static void main(String[] args) throws IOException { + System.out.println("hello other"); Path fileName = Path.of(args[0]); String content = Files.readString(fileName); ArrayList links = getLinks(content); + //System.out.println("Hello"); System.out.println(links); } } diff --git a/MarkdownParseTest.class b/MarkdownParseTest.class new file mode 100644 index 0000000..e35508d Binary files /dev/null and b/MarkdownParseTest.class differ diff --git a/MarkdownParseTest.java b/MarkdownParseTest.java index 376d592..85f2e24 100644 --- a/MarkdownParseTest.java +++ b/MarkdownParseTest.java @@ -1,10 +1,30 @@ import static org.junit.Assert.*; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; + import org.junit.*; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; public class MarkdownParseTest { @Test public void addition() { assertEquals(2, 1 + 1); } - -} \ No newline at end of file + @Test + public void checkLinks() throws IOException{ + ArrayList check = new ArrayList<>(); + check.add("https://something.com"); + check.add("some-thing.html"); + Path filename=Path.of("test-file.md"); + String cont=Files.readString(filename); + MarkdownParse x = new MarkdownParse(); + assertEquals(check,x.getLinks(cont)); + } +} diff --git a/README.md b/README.md index 6a965c2..56a9a99 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# markdown-parser \ No newline at end of file +# markdown-parser +pls work \ No newline at end of file diff --git a/makefile b/makefile new file mode 100644 index 0000000..523013c --- /dev/null +++ b/makefile @@ -0,0 +1,10 @@ +CLASSPATH = lib/junit-4.13.2.jar:lib/hamcrest-core-1.3.jar:lib/commonmark-0.18.1.jar:. + +MarkdownParseTest.class: MarkdownParseTest.java MarkdownParse.class + /software/CSE/oracle-java-17/jdk-17.0.1/bin/javac -g -cp $(CLASSPATH) MarkdownParseTest.java + +MarkdownParse.class: MarkdownParse.java + /software/CSE/oracle-java-17/jdk-17.0.1/bin/javac -g MarkdownParse.java + +test: MarkdownParseTest.class + /software/CSE/oracle-java-17/jdk-17.0.1/bin/java -cp $(CLASSPATH) org.junit.runner.JUnitCore MarkdownParseTest diff --git a/mdparse b/mdparse new file mode 100644 index 0000000..6e58112 --- /dev/null +++ b/mdparse @@ -0,0 +1 @@ +/software/CSE/oracle-java-17/jdk-17.0.1/bin/java -cp lib/junit-4.13.2.jar:lib/hamcrest-core-1.3.jar:. MarkdownParse $1