workshopper-exercise
Advanced tools
+14
| { | ||
| "compare": { | ||
| "title": "I risultati della tua soluzione a confronto con quelli previsti:" | ||
| , "actual": "ATTUALI" | ||
| , "expected": "PREVISTI" | ||
| , "pass": "I risultati coincidono con quelli previsti" | ||
| , "fail": "I risultati non coincidono con quelli previsti!" | ||
| } | ||
| , "error": { | ||
| "missing_problem": "Impossibile trovare problem.txt o problem.md per [{{{name}}}] {{{err}}}" | ||
| , "submission_no_file": "File mancante: {{{submission}}}" | ||
| , "submission_not_regular": "File non corretto: {{{submission}}}" | ||
| } | ||
| } |
+7
-1
@@ -23,5 +23,11 @@ const path = require('path') | ||
| inherits(Exercise, EventEmitter) | ||
| // exercise plugin convenience | ||
| // plugin arg is just a function that takes an exercise | ||
| // variable args to `use` are forwarded to plugin | ||
| Exercise.prototype.use = function use(plugin) { | ||
| var args = [].slice.call(arguments, 1) | ||
| return plugin.apply(this, [ this ].concat(args)) | ||
| } | ||
@@ -28,0 +34,0 @@ // for addVerifyProcessor and addVerifySetup |
+8
-8
| { | ||
| "compare": { | ||
| "title": "Your submission results compared to the expected:" | ||
| , "actual": "ACTUAL" | ||
| , "expected": "EXPECTED" | ||
| , "pass": "Submission results match expected" | ||
| , "fail": "Submission results did not match expected!" | ||
| "title": "你的提交结果與預期结果的比较如下:" | ||
| , "actual": "實際結果" | ||
| , "expected": "預期結果" | ||
| , "pass": "提交的结果符合預期" | ||
| , "fail": "提交的结果不符合預期!" | ||
| } | ||
| , "error": { | ||
| "missing_problem": "Could not find problem.txt or problem.md for [{{{name}}}] {{{err}}}" | ||
| , "submission_no_file": "No such file: {{{submission}}}" | ||
| , "submission_not_regular": "Not a regular file: {{{submission}}}" | ||
| "missing_problem": "找不到針對 [{{{name}}}] 的 problem.txt 或者 problem.md: {{{err}}}" | ||
| , "submission_no_file": "這個文件不存在: {{{submission}}}" | ||
| , "submission_not_regular": "這不是一個合法的文件: {{{submission}}}" | ||
| } | ||
| } |
+1
-1
| { | ||
| "name": "workshopper-exercise", | ||
| "version": "2.6.1", | ||
| "version": "2.6.2", | ||
| "description": "An exercise runner component for the Workshopper framework", | ||
@@ -5,0 +5,0 @@ "main": "./exercise.js", |
+10
-0
| var test = require('tape') | ||
| , Exercise = require('../exercise') | ||
| , filecheck = require('../filecheck') | ||
@@ -19,1 +20,10 @@ test('exercise is a constructor function', function (t) { | ||
| }) | ||
| test('provides use method', function (t) { | ||
| t.plan(2) | ||
| var exercise = new Exercise() | ||
| t.equal(typeof exercise.use, 'function') | ||
| t.equal(exercise.use(filecheck), exercise) | ||
| }) |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
26594
4.21%25
4.17%618
4.57%