From b5137371f8e09c79c6c482e3978a8e694ad2bc25 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 7 Mar 2022 01:35:11 +0300 Subject: [PATCH] js added --- SprintLib/language.py | 9 +++++++++ SprintLib/testers/JavaScriptTester.py | 19 +++++++++++++++++++ SprintLib/testers/__init__.py | 1 + 3 files changed, 29 insertions(+) create mode 100644 SprintLib/testers/JavaScriptTester.py 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