diff --git a/SprintLib/language.py b/SprintLib/language.py index bc59d62..03063d2 100644 --- a/SprintLib/language.py +++ b/SprintLib/language.py @@ -70,4 +70,13 @@ languages = [ image="swift", highlight="swift", ), + Language( + id=6, + name="JavaScript", + work_name="JavaScript", + file_type="js", + logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/JavaScript-logo.png/240px-JavaScript-logo.png", + image="node", + highlight="javascript", + ) ] diff --git a/SprintLib/testers/JavaScriptTester.py b/SprintLib/testers/JavaScriptTester.py new file mode 100644 index 0000000..9d6fcd4 --- /dev/null +++ b/SprintLib/testers/JavaScriptTester.py @@ -0,0 +1,19 @@ +from os import listdir + +from SprintLib.testers.BaseTester import BaseTester, TestException + + +class JavaScriptTester(BaseTester): + files = None + + def before_test(self): + self.files = [] + for file in listdir(self.solution.testing_directory): + if file.endswith(".js"): + self.files.append(file) + if not self.files: + raise TestException("TE") + + @property + def command(self): + return f"node {' '.join(self.files)}" diff --git a/SprintLib/testers/__init__.py b/SprintLib/testers/__init__.py index bc67c92..d44d25b 100644 --- a/SprintLib/testers/__init__.py +++ b/SprintLib/testers/__init__.py @@ -6,3 +6,4 @@ from .JavaTester import JavaTester from .CSharpTester import CSharpTester from .KotlinTester import KotlinTester from .SwiftTester import SwiftTester +from .JavaScriptTester import JavaScriptTester