From 81f5d81b7be87a7ab661c9ff2bda744804720576 Mon Sep 17 00:00:00 2001 From: Utsav Chokshi Date: Fri, 18 Feb 2022 15:33:15 +0530 Subject: [PATCH 1/4] Correct Test cases --- java/src/test/java/tech/sourced/enry/EnryTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/src/test/java/tech/sourced/enry/EnryTest.java b/java/src/test/java/tech/sourced/enry/EnryTest.java index 99241c4..15bd67e 100644 --- a/java/src/test/java/tech/sourced/enry/EnryTest.java +++ b/java/src/test/java/tech/sourced/enry/EnryTest.java @@ -120,7 +120,7 @@ public class EnryTest { "extern int foo(void *bar);"; String[] result = Enry.getLanguages("foo.h", code.getBytes()); - String[] expected = {"C", "C++", "Objective-C"}; + String[] expected = {"C"}; assertArrayEquals(expected, result); } From 821f01cdde810d4356ef76a1c19718dc33dad8c3 Mon Sep 17 00:00:00 2001 From: Utsav Chokshi Date: Tue, 1 Mar 2022 14:28:53 +0530 Subject: [PATCH 2/4] Expose IsTest Method (#1) --- java/src/main/java/tech/sourced/enry/Enry.java | 10 ++++++++++ java/src/test/java/tech/sourced/enry/EnryTest.java | 8 ++++++++ shared/enry.go | 5 +++++ 3 files changed, 23 insertions(+) diff --git a/java/src/main/java/tech/sourced/enry/Enry.java b/java/src/main/java/tech/sourced/enry/Enry.java index e8cfad8..193922c 100644 --- a/java/src/main/java/tech/sourced/enry/Enry.java +++ b/java/src/main/java/tech/sourced/enry/Enry.java @@ -237,4 +237,14 @@ public class Enry { public static synchronized String getColor(String language) { return toJavaString(nativeLib.GetColor(toGoString(language))); } + + /** + * Reports whether the given path is a test path or not. + * + * @param path of the file or directory + * @return whether it's test or not + */ + public static synchronized boolean isTest(String path) { + return toJavaBool(nativeLib.IsTest(toGoString(path))); + } } diff --git a/java/src/test/java/tech/sourced/enry/EnryTest.java b/java/src/test/java/tech/sourced/enry/EnryTest.java index 15bd67e..32d9e37 100644 --- a/java/src/test/java/tech/sourced/enry/EnryTest.java +++ b/java/src/test/java/tech/sourced/enry/EnryTest.java @@ -169,6 +169,14 @@ public class EnryTest { ); } + @Test + public void isTest() { + assertTrue(Enry.isTest("test_foo.py")); + assertTrue(Enry.isTest("test/java/tech/sourced/enry/EnryTest.java")); + assertFalse(Enry.isTest("foo.py")); + assertFalse(Enry.isTest("src/java/foo.java")); + } + void assertGuess(String language, boolean safe, Guess guess) { assertEquals(language, guess.language); assertEquals(safe, guess.safe); diff --git a/shared/enry.go b/shared/enry.go index 58820e5..b109804 100644 --- a/shared/enry.go +++ b/shared/enry.go @@ -136,6 +136,11 @@ func GetColor(language string) string { return enry.GetColor(language) } +//export IsTest +func IsTest(path string) bool { + return enry.IsTest(path) +} + func strSliceCopy(result *[]*C.char, slice []string) { for _, str := range slice { *result = append(*result, C.CString(str)) From 4e3a49c5652f2a28bfdf154501f7657aabe4d774 Mon Sep 17 00:00:00 2001 From: Utsav Chokshi Date: Wed, 2 Mar 2022 10:32:57 +0530 Subject: [PATCH 3/4] Expose GetLanguageType (#2) --- java/src/main/java/tech/sourced/enry/Enry.java | 10 ++++++++++ java/src/test/java/tech/sourced/enry/EnryTest.java | 5 +++++ shared/enry.go | 8 +++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/java/src/main/java/tech/sourced/enry/Enry.java b/java/src/main/java/tech/sourced/enry/Enry.java index 193922c..388163e 100644 --- a/java/src/main/java/tech/sourced/enry/Enry.java +++ b/java/src/main/java/tech/sourced/enry/Enry.java @@ -247,4 +247,14 @@ public class Enry { public static synchronized boolean isTest(String path) { return toJavaBool(nativeLib.IsTest(toGoString(path))); } + + /** + * Returns type for given language. + * + * @param language of the file + * @return type (data, programming, markup, prose) + */ + public static synchronized String getLanguageType(String language) { + return toJavaString(nativeLib.GetLanguageType(toGoString(language))); + } } diff --git a/java/src/test/java/tech/sourced/enry/EnryTest.java b/java/src/test/java/tech/sourced/enry/EnryTest.java index 32d9e37..25ba5d2 100644 --- a/java/src/test/java/tech/sourced/enry/EnryTest.java +++ b/java/src/test/java/tech/sourced/enry/EnryTest.java @@ -177,6 +177,11 @@ public class EnryTest { assertFalse(Enry.isTest("src/java/foo.java")); } + @Test + public void getLanguageType() { + assertEquals("data", Enry.getLanguageType("CSV")); + } + void assertGuess(String language, boolean safe, Guess guess) { assertEquals(language, guess.language); assertEquals(safe, guess.safe); diff --git a/shared/enry.go b/shared/enry.go index b109804..1b1a538 100644 --- a/shared/enry.go +++ b/shared/enry.go @@ -5,6 +5,7 @@ package main import "C" import "github.com/go-enry/go-enry/v2" +import "github.com/go-enry/go-enry/v2/data" //export GetLanguage func GetLanguage(filename string, content []byte) string { @@ -141,10 +142,15 @@ func IsTest(path string) bool { return enry.IsTest(path) } +//export GetLanguageType +func GetLanguageType(language string) string { + return data.Type(enry.GetLanguageType(language)).String() +} + func strSliceCopy(result *[]*C.char, slice []string) { for _, str := range slice { *result = append(*result, C.CString(str)) } } -func main() {} +func main() {} \ No newline at end of file From bd1597a740b2a7db2599dd46588eb3d25a51ae71 Mon Sep 17 00:00:00 2001 From: UtsavChokshi Date: Fri, 4 Mar 2022 16:15:35 +0530 Subject: [PATCH 4/4] Add new line --- shared/enry.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/enry.go b/shared/enry.go index 1b1a538..f3646b4 100644 --- a/shared/enry.go +++ b/shared/enry.go @@ -153,4 +153,4 @@ func strSliceCopy(result *[]*C.char, slice []string) { } } -func main() {} \ No newline at end of file +func main() {}