mumuki-javascript-runner 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/feedback_hook.rb +25 -0
- data/lib/javascript_runner.rb +4 -1
- data/lib/locales/en.yml +2 -0
- data/lib/locales/es.yml +2 -0
- data/lib/locales/pt.yml +2 -0
- data/lib/query_hook.rb +7 -3
- data/lib/version.rb +1 -1
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1dc108165a6187802b53ed65230fdcab0afaa85b9494f49855ed5e086a1158d6
|
4
|
+
data.tar.gz: a19387ab148f83b6d87f8e6b59dcc41266bec8ab1964ba934a5602d60d02c48f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7137d3840e9d7890d425ac6f2423598a4fb651314b207494e2a88c94e5eb76b53a269a00d869374640fb52411a5d1600de8a2dbd98c5c753fa3e432cab8234b
|
7
|
+
data.tar.gz: 55e9f22881c641fd3b9244db5ef47ef5f18f6c0ce7cfd295ca68fbcf48a05e1a495c33d9a778bfa99a160ea468098c6d36b5eff1eeaa0290bf7694a0ac00d991
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class JavascriptFeedbackHook < Mumukit::Hook
|
2
|
+
def run!(request, results)
|
3
|
+
content = request.content
|
4
|
+
test_results = test_failure_messages results
|
5
|
+
|
6
|
+
JavascriptExplainer.new.explain(content, test_results)
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_failure_messages(results)
|
10
|
+
structured_test_results = results.test_results[0]
|
11
|
+
if structured_test_results.is_a? Array
|
12
|
+
structured_test_results.select { |it| it[1].failed? }.map { |it| it[2] }.join("\n")
|
13
|
+
else
|
14
|
+
''
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class JavascriptExplainer < Mumukit::Explainer
|
19
|
+
def explain_is_not_defined(_, test_results)
|
20
|
+
(/([a-zA-Z0-9_]+) is not defined/.match test_results).try do |it|
|
21
|
+
{identifier: it[1]}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/javascript_runner.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'mumukit'
|
2
2
|
|
3
|
+
I18n.load_translations_path File.join(__dir__, 'locales', '*.yml')
|
4
|
+
|
3
5
|
Mumukit.runner_name = 'javascript'
|
4
6
|
Mumukit.configure do |config|
|
5
7
|
config.docker_image = 'mumuki/mumuki-mocha-worker'
|
@@ -12,5 +14,6 @@ require_relative './metadata_hook'
|
|
12
14
|
require_relative './validation_hook'
|
13
15
|
require_relative './test_hook'
|
14
16
|
require_relative './expectations_hook'
|
17
|
+
require_relative './feedback_hook'
|
15
18
|
require_relative './query_hook'
|
16
|
-
require_relative './try_hook'
|
19
|
+
require_relative './try_hook'
|
data/lib/locales/en.yml
ADDED
data/lib/locales/es.yml
ADDED
data/lib/locales/pt.yml
ADDED
data/lib/query_hook.rb
CHANGED
@@ -95,11 +95,15 @@ javascript
|
|
95
95
|
|
96
96
|
def error_patterns
|
97
97
|
[
|
98
|
-
Mumukit::ErrorPattern::Errored.new(
|
98
|
+
Mumukit::ErrorPattern::Errored.new(error_regexp)
|
99
99
|
]
|
100
100
|
end
|
101
101
|
|
102
|
-
def
|
103
|
-
|
102
|
+
def error_types
|
103
|
+
'(Reference|Syntax|Type)Error'
|
104
|
+
end
|
105
|
+
|
106
|
+
def error_regexp
|
107
|
+
/(?=\X*#{error_types})(solution.*\n|var __mumuki_query_result__ = )|#{error_types}.*\n\K\X*/
|
104
108
|
end
|
105
109
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mumuki-javascript-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Franco Leonardo Bulgarelli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mumukit
|
@@ -102,7 +102,11 @@ extensions: []
|
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
104
|
- lib/expectations_hook.rb
|
105
|
+
- lib/feedback_hook.rb
|
105
106
|
- lib/javascript_runner.rb
|
107
|
+
- lib/locales/en.yml
|
108
|
+
- lib/locales/es.yml
|
109
|
+
- lib/locales/pt.yml
|
106
110
|
- lib/metadata_hook.rb
|
107
111
|
- lib/query_hook.rb
|
108
112
|
- lib/test_hook.rb
|
@@ -128,7 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
132
|
- !ruby/object:Gem::Version
|
129
133
|
version: '0'
|
130
134
|
requirements: []
|
131
|
-
|
135
|
+
rubyforge_project:
|
136
|
+
rubygems_version: 2.7.7
|
132
137
|
signing_key:
|
133
138
|
specification_version: 4
|
134
139
|
summary: Javascript Runner for Mumuki
|