mumukit 2.40.0 → 2.41.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/locales/en.yml +2 -1
- data/lib/locales/es-CL.yml +2 -1
- data/lib/locales/es.yml +2 -1
- data/lib/locales/pt.yml +2 -1
- data/lib/mumukit/error_pattern.rb +1 -1
- data/lib/mumukit/metatest/interactive_checker.rb +18 -4
- data/lib/mumukit/templates/try_hook.rb +9 -1
- data/lib/mumukit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 50c02218ee8201dec0cafb926af1244f37005ca30defbf277647e8f578b80b5f
|
|
4
|
+
data.tar.gz: ca71b312b3b89e4af2601a30248d25e218c2cfa2e51144f839996e12d097bdf8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1d7a38c84758cfc37544a392215164550c8adf7885d7fc4bc836e96dada9436a4f1a542b7c7ccc82dde5590d787e8f906b9d7fef711b3db1b2e27e9b21628b8d
|
|
7
|
+
data.tar.gz: aa52beb81dff6b2986ac84aaa400c15cd3bec40f6947b8286b9b62ec2eb315bce5a7ff04b99c89927339cd54021e34ec37c583a5927eb98515337dacb9d4cca8
|
data/lib/locales/en.yml
CHANGED
|
@@ -6,7 +6,7 @@ en:
|
|
|
6
6
|
interactive:
|
|
7
7
|
check_last_query_equals: "query should be '%{expected}' but was '%{actual}'"
|
|
8
8
|
check_last_query_fails: "query should fail but it passed"
|
|
9
|
-
check_last_query_matches: "query does not match
|
|
9
|
+
check_last_query_matches: "query does not match regexp %{regexp}"
|
|
10
10
|
check_last_query_outputs: "query output should be '%{expected}' but was '%{actual}'"
|
|
11
11
|
check_last_query_includes: "query output should include '%{expected}' but was '%{actual}'"
|
|
12
12
|
check_last_query_like: "query output should be like '%{expected}' but was '%{actual}'"
|
|
@@ -15,3 +15,4 @@ en:
|
|
|
15
15
|
check_query_outputs: "query '%{query}' output should be '%{expected}' but was '%{actual}'"
|
|
16
16
|
check_query_passes: "query '%{query}' should pass but it failed"
|
|
17
17
|
goal_passed: "goal was met successfully"
|
|
18
|
+
check_queries_match: "All the required queries must be executed"
|
data/lib/locales/es-CL.yml
CHANGED
|
@@ -6,7 +6,7 @@ es-CL:
|
|
|
6
6
|
interactive:
|
|
7
7
|
check_last_query_equals: "La consulta debería ser '%{expected}' pero fue '%{actual}'"
|
|
8
8
|
check_last_query_fails: "La consulta debería fallar pero pasó"
|
|
9
|
-
check_last_query_matches: "La consulta no cumple con la expresión regular %{
|
|
9
|
+
check_last_query_matches: "La consulta no cumple con la expresión regular %{regexp}"
|
|
10
10
|
check_last_query_outputs: "La consulta debería devolver '%{expected}' pero devolvió '%{actual}'"
|
|
11
11
|
check_last_query_includes: "La consulta debería incluir '%{expected}' pero devolvió '%{actual}'"
|
|
12
12
|
check_last_query_like: "La consulta debería ser como '%{expected}' pero devolvió '%{actual}'"
|
|
@@ -15,3 +15,4 @@ es-CL:
|
|
|
15
15
|
check_query_outputs: "La consulta '%{query}' debería devolver '%{expected}' pero devolvió '%{actual}'"
|
|
16
16
|
check_query_passes: "La consulta '%{query}' debería pasar pero falló"
|
|
17
17
|
goal_passed: "El objetivo se cumplió exitosamente"
|
|
18
|
+
check_queries_match: "Se deben realizar todas las consultas solicitadas"
|
data/lib/locales/es.yml
CHANGED
|
@@ -6,7 +6,7 @@ es:
|
|
|
6
6
|
interactive:
|
|
7
7
|
check_last_query_equals: "La consulta debería ser '%{expected}' pero fue '%{actual}'"
|
|
8
8
|
check_last_query_fails: "La consulta debería fallar pero pasó"
|
|
9
|
-
check_last_query_matches: "La consulta no cumple con la expresión regular %{
|
|
9
|
+
check_last_query_matches: "La consulta no cumple con la expresión regular %{regexp}"
|
|
10
10
|
check_last_query_outputs: "La consulta debería devolver '%{expected}' pero devolvió '%{actual}'"
|
|
11
11
|
check_last_query_includes: "La consulta debería incluir '%{expected}' pero devolvió '%{actual}'"
|
|
12
12
|
check_last_query_like: "La consulta debería ser como '%{expected}' pero devolvió '%{actual}'"
|
|
@@ -14,4 +14,5 @@ es:
|
|
|
14
14
|
check_query_fails: "La consulta '%{query}' debería fallar pero pasó"
|
|
15
15
|
check_query_outputs: "La consulta '%{query}' debería devolver '%{expected}' pero devolvió '%{actual}'"
|
|
16
16
|
check_query_passes: "La consulta '%{query}' debería pasar pero falló"
|
|
17
|
+
check_queries_match: "Se deben realizar todas las consultas solicitadas"
|
|
17
18
|
goal_passed: "El objetivo se cumplió exitosamente"
|
data/lib/locales/pt.yml
CHANGED
|
@@ -6,7 +6,7 @@ pt:
|
|
|
6
6
|
interactive:
|
|
7
7
|
check_last_query_equals: "a consulta deve ser '%{expected}' mas foi '%{actual}'"
|
|
8
8
|
check_last_query_fails: "a consulta deve falhar, mas passou"
|
|
9
|
-
check_last_query_matches: "A consulta não corresponde a regex %{
|
|
9
|
+
check_last_query_matches: "A consulta não corresponde a regex %{regexp}"
|
|
10
10
|
check_last_query_outputs: "O resultado da consulta deve ser '%{expected}', mas foi '%{actual}'"
|
|
11
11
|
check_last_query_includes: "O resultado da consulta deve incluir '%{expected}', mas foi '%{actual}'"
|
|
12
12
|
check_last_query_like: "O resultado da consulta deve ser como '%{expected}', mas foi '%{actual}'"
|
|
@@ -14,4 +14,5 @@ pt:
|
|
|
14
14
|
check_query_fails: "a consulta '%{query}' deve falhar, mas passou"
|
|
15
15
|
check_query_outputs: "a consulta '%{query}' deve ser '%{expected}', mas foi '%{actual}'"
|
|
16
16
|
check_query_passes: "a consulta '%{query}' deve passar, mas falhou"
|
|
17
|
+
check_queries_match: "Todas as consultas solicitadas devem ser feitas"
|
|
17
18
|
goal_passed: "O objetivo foi alcançado com sucesso"
|
|
@@ -1,25 +1,33 @@
|
|
|
1
1
|
module Mumukit::Metatest
|
|
2
2
|
class InteractiveChecker < Checker
|
|
3
3
|
|
|
4
|
-
def initialize(request)
|
|
4
|
+
def initialize(request, strip_mode: :left_and_right)
|
|
5
5
|
@request = request
|
|
6
|
+
@strip_mode = strip_mode
|
|
6
7
|
end
|
|
7
8
|
|
|
8
9
|
def check_last_query_equals(_result, goal)
|
|
9
10
|
expected = goal[:value]
|
|
10
|
-
actual =
|
|
11
|
+
actual = query
|
|
11
12
|
fail_t :check_last_query_equals, expected: expected, actual: actual unless expected == actual
|
|
12
13
|
end
|
|
13
14
|
|
|
14
15
|
def check_last_query_matches(_result, goal)
|
|
15
|
-
|
|
16
|
-
fail_t :check_last_query_matches,
|
|
16
|
+
regexp = goal[:regexp]
|
|
17
|
+
fail_t :check_last_query_matches, regexp: regexp.inspect unless query.match?(regexp)
|
|
17
18
|
end
|
|
18
19
|
|
|
19
20
|
def check_last_query_fails(result, _goal)
|
|
20
21
|
fail_t :check_last_query_fails unless result[:query][:status].failed?
|
|
21
22
|
end
|
|
22
23
|
|
|
24
|
+
def check_queries_match(result, goal)
|
|
25
|
+
queries = [query] + @request.cookie.to_a
|
|
26
|
+
fail_t :check_queries_match unless goal[:regexps].all? do |regexp|
|
|
27
|
+
queries.any? { |query| query.match? regexp }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
23
31
|
def check_last_query_outputs(result, goal)
|
|
24
32
|
compare_last_query_by(:check_last_query_outputs, result, goal) { |expected, actual| expected == actual }
|
|
25
33
|
end
|
|
@@ -72,5 +80,11 @@ module Mumukit::Metatest
|
|
|
72
80
|
a_string.delete(" \t\r\n").downcase
|
|
73
81
|
end
|
|
74
82
|
|
|
83
|
+
private
|
|
84
|
+
|
|
85
|
+
def query
|
|
86
|
+
query_s = @request.query.to_s
|
|
87
|
+
@strip_mode == :right_only ? query_s.rstrip : query_s.strip
|
|
88
|
+
end
|
|
75
89
|
end
|
|
76
90
|
end
|
|
@@ -4,7 +4,7 @@ module Mumukit
|
|
|
4
4
|
request_goal = request.goal.with_indifferent_access
|
|
5
5
|
|
|
6
6
|
@goal = {postconditions: [[request_goal[:kind], request_goal]]}
|
|
7
|
-
@checker =
|
|
7
|
+
@checker = checker_for request
|
|
8
8
|
super request
|
|
9
9
|
end
|
|
10
10
|
|
|
@@ -14,6 +14,14 @@ module Mumukit
|
|
|
14
14
|
[check_results[2], check_results[1], structured_results[:query]]
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
+
def checker_for(request)
|
|
18
|
+
Metatest::InteractiveChecker.new request, **checker_options
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def checker_options
|
|
22
|
+
{}
|
|
23
|
+
end
|
|
24
|
+
|
|
17
25
|
required :to_structured_results
|
|
18
26
|
end
|
|
19
27
|
end
|
data/lib/mumukit/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mumukit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.41.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: 2021-
|
|
11
|
+
date: 2021-03-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|