modl 0.3.23 → 0.3.24

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,10 +32,10 @@ module MODL
32
32
 
33
33
  start = 0
34
34
  if condition.text
35
- value1, success = value(global, condition.text)
35
+ value1, success = value(global, condition.text, true)
36
36
  else
37
37
  start = 1
38
- value1, success = value(global, condition.values[0].text)
38
+ value1, success = value(global, condition.values[0].text, true)
39
39
  end
40
40
 
41
41
 
@@ -54,9 +54,9 @@ module MODL
54
54
  while i < condition.values.length
55
55
  item = condition.values[i]
56
56
  if item.primitive.constant
57
- value2 = Substitutions.process UnicodeEscapes.process(item.text)
57
+ value2 = Substitutions.process(item.text)
58
58
  else
59
- value2, success = value(global, item.text)
59
+ value2, success = value(global, item.text, false)
60
60
  end
61
61
  partial = false
62
62
  case condition.operator
@@ -86,7 +86,7 @@ module MODL
86
86
  result
87
87
  end
88
88
 
89
- def self.value(global, k)
89
+ def self.value(global, k, replaceFromPairIfPossible)
90
90
  success = false
91
91
  if k.is_a?(String) && k.include?('%')
92
92
  value1, _ignore = MODL::Parser::RefProcessor.deref(k, global)
@@ -105,12 +105,15 @@ module MODL
105
105
  if ikey.to_s == key
106
106
  index_val = global.index[ikey]
107
107
  value1 = index_val.respond_to?(:text) ? index_val.text : nil
108
- value1 = Substitutions.process UnicodeEscapes.process(value1)
108
+ value1 = Substitutions.process(value1)
109
109
  else
110
110
  pair = global.pair(key)
111
- return Substitutions.process UnicodeEscapes.process(k) unless pair
112
-
113
- value1 = Substitutions.process UnicodeEscapes.process(pair.text)
111
+ return Substitutions.process(k) unless pair
112
+ if replaceFromPairIfPossible
113
+ value1 = Substitutions.process(pair.text)
114
+ else
115
+ value1 = k
116
+ end
114
117
  end
115
118
  success = true
116
119
  end
@@ -58,6 +58,20 @@ module MODL
58
58
  end
59
59
  pair.key_lists << key_list
60
60
  end
61
+ elsif item.is_a?(Parsed::ParsedValueItem) && !item.value.nbArray.nil?
62
+ item.value.nbArray.arrayItems.each do |avi|
63
+ key_list = []
64
+ avi.arrayValueItem.array.abstractArrayItems.each do |key|
65
+ key_list << key.arrayValueItem.primitive.string.string if key.arrayValueItem.primitive.string
66
+ key_list << key.arrayValueItem.primitive.number.num if key.arrayValueItem.primitive.number
67
+ end
68
+ if key_list.length > last_keylist_len
69
+ last_keylist_len = key_list.length
70
+ else
71
+ raise InterpreterError, 'Error: Key lists in *assign are not in ascending order of list length.'
72
+ end
73
+ pair.key_lists << key_list
74
+ end
61
75
  else
62
76
  raise InterpreterError, 'Array of arrays expected for: ' + pair.key
63
77
  end
@@ -22,6 +22,8 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
24
 
25
+ require 'modl/parser/unicode_escape_replacer'
26
+
25
27
  module MODL
26
28
  module Parser
27
29
  # Escape-sequence replacements for MODL files.
@@ -82,6 +84,8 @@ module MODL
82
84
  # Remove unescaped graves and double quotes
83
85
  new_str = Sutil.unquote(str)
84
86
 
87
+ new_str = UnicodeEscapeReplacer.convert_unicode_sequences new_str
88
+
85
89
  # Handle escape sequences
86
90
  @@subs.each do |s|
87
91
  loop do
@@ -0,0 +1,148 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The MIT License (MIT)
4
+ #
5
+ # Copyright (c) 2019 NUM Technology Ltd
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in
15
+ # all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ # THE SOFTWARE.
24
+
25
+ module MODL
26
+ module Parser
27
+ # Unicode replacements for MODL files.
28
+ class UnicodeEscapeReplacer
29
+ BACKSLASH_U = "\\u"
30
+ TILDE_U = "~u"
31
+ TILDE = '~'
32
+ BACKSLASH = '\\'
33
+ HEX = 16
34
+
35
+ def self.convert_unicode_sequences(str)
36
+ start = 0
37
+ result = str
38
+
39
+ until result.nil?
40
+ # We could have a backslash-u escape sequence or a ~u escape sequence
41
+ back_slash_u_index = result.index(BACKSLASH_U, start)
42
+ tilde_u_index = result.index(TILDE_U, start)
43
+
44
+ # Filter out cases with no escape sequences.
45
+ unicode_str_idx = 0
46
+ if tilde_u_index.nil? && back_slash_u_index.nil?
47
+ break
48
+ elsif tilde_u_index.nil?
49
+ unicode_str_idx = back_slash_u_index # No ~? Must be backslash
50
+ elsif back_slash_u_index.nil?
51
+ unicode_str_idx = tilde_u_index # No backslash? Must be ~
52
+ else
53
+ # Pick the first escaped character and proceed with that one.
54
+ unicode_str_idx = [back_slash_u_index, tilde_u_index].min
55
+ end
56
+
57
+ try_parse_result = try_parse(result, unicode_str_idx + 2)
58
+
59
+ # Next time round the loop we start searching after the current escape sequence.
60
+ start = unicode_str_idx + 1
61
+
62
+ # If the escape sequence is itself escaped then don't replace it
63
+ if unicode_str_idx > 0 && (result[unicode_str_idx - 1] == TILDE || result[unicode_str_idx - 1] == BACKSLASH)
64
+ next
65
+ end
66
+
67
+ # Get the codepoint value and replace the escape sequence
68
+ if try_parse_result.code_point > 0
69
+ chars = try_parse_result.code_point.chr(Encoding::UTF_8)
70
+ result = replace(result, chars, unicode_str_idx, try_parse_result.length + 2)
71
+ end
72
+ end
73
+ result
74
+ end
75
+
76
+ private
77
+
78
+ #
79
+ # Replace a unicode value in a String
80
+ #
81
+ def self.replace(s, value, unicode_str_index, length)
82
+ left = s.slice(0, unicode_str_index)
83
+ ends = [s.length, unicode_str_index + length].min
84
+ right = s.slice(ends, s.length)
85
+ left + value.to_s + right
86
+ end
87
+
88
+ #
89
+ # Check whether the value is a valid unicode codepoint
90
+ #
91
+ def self.valid_range?(value)
92
+ (value >= 0x100000 && value <= 0x10ffff) || (value >= 0x10000 && value <= 0xfffff) || (value >= 0 && value <= 0xd7ff) || (value >= 0xe000 && value <= 0xffff)
93
+ end
94
+
95
+ #
96
+ # Can we get `n` hex digits from the string at the `idx` location?
97
+ #
98
+ def self.has_enough_digits?(s, idx, n)
99
+ i = 0
100
+ chars = s.chars
101
+
102
+ while i < n && (idx + i) < s.length
103
+ c = chars[idx + i]
104
+ unless c =~ /[0-9a-fA-F]/
105
+ return false
106
+ end
107
+ i += 1
108
+ end
109
+ i == n
110
+ end
111
+
112
+ #
113
+ # Attempt to parse a unicode character starting at `idx` in `str`
114
+ #
115
+ def self.try_parse(str, idx)
116
+ # Check for a 6-digit unicode value
117
+ if has_enough_digits? str, idx, 6
118
+ value = str.slice(idx, 6).to_i(HEX)
119
+ return TryParse.new(value, 6) if valid_range? value
120
+ end
121
+
122
+ # Check for a 5-digit unicode value
123
+ if has_enough_digits? str, idx, 5
124
+ value = str.slice(idx, 5).to_i(HEX)
125
+ return TryParse.new(value, 5) if valid_range? value
126
+ end
127
+
128
+ # Check for a 4-digit unicode value
129
+ if has_enough_digits? str, idx, 4
130
+ value = str.slice(idx, 4).to_i(HEX)
131
+ return TryParse.new(value, 4) if valid_range? value
132
+ end
133
+ return TryParse.new(0, 4)
134
+ end
135
+ end
136
+
137
+ # Class to hold the result of the tryParse method
138
+ class TryParse
139
+ attr_accessor :code_point
140
+ attr_accessor :length
141
+
142
+ def initialize(code, len)
143
+ @code_point = code
144
+ @length = len
145
+ end
146
+ end
147
+ end
148
+ end
@@ -24,6 +24,6 @@
24
24
 
25
25
  module MODL
26
26
  module Parser
27
- VERSION = "0.3.23"
27
+ VERSION = "0.3.24"
28
28
  end
29
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.23
4
+ version: 0.3.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Walmsley
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-15 00:00:00.000000000 Z
11
+ date: 2019-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -86,22 +86,6 @@ files:
86
86
  - Rakefile
87
87
  - bin/console
88
88
  - bin/setup
89
- - grammar_tests/1.modl
90
- - grammar_tests/2.modl
91
- - grammar_tests/3.modl
92
- - grammar_tests/a.modl
93
- - grammar_tests/b.modl
94
- - grammar_tests/base_tests.json
95
- - grammar_tests/c.modl
96
- - grammar_tests/demo_config.modl
97
- - grammar_tests/error_tests.json
98
- - grammar_tests/files/a-b.txt
99
- - grammar_tests/files/c-d.txt
100
- - grammar_tests/import_config.modl
101
- - grammar_tests/test_import_dir/nested_import1.txt
102
- - grammar_tests/test_import_dir/nested_import2.txt
103
- - grammar_tests/test_import_dir/nested_import3.txt
104
- - grammar_tests/test_import_dir/test_import.txt
105
89
  - lib/modl.rb
106
90
  - lib/modl/parser/MODLLexer.interp
107
91
  - lib/modl/parser/MODLLexer.rb
@@ -131,6 +115,7 @@ files:
131
115
  - lib/modl/parser/substitutions.rb
132
116
  - lib/modl/parser/sutil.rb
133
117
  - lib/modl/parser/throwing_error_listener.rb
118
+ - lib/modl/parser/unicode_escape_replacer.rb
134
119
  - lib/modl/parser/unicode_escapes.rb
135
120
  - lib/modl/parser/version.rb
136
121
  - modl.gemspec
@@ -1 +0,0 @@
1
- _number=1
@@ -1 +0,0 @@
1
- _number=2
@@ -1 +0,0 @@
1
- _number=3
@@ -1 +0,0 @@
1
- _var=a
@@ -1 +0,0 @@
1
- _var=%var%b
@@ -1,3174 +0,0 @@
1
- [
2
- {
3
- "id": "1",
4
- "input": "*l=grammar_tests/test_import_dir/nested_import1.txt;\nfiles=%*load",
5
- "expected_output": "{\n \"files\": [\n \"grammar_tests/test_import_dir/nested_import1.txt\",\n \"grammar_tests/test_import_dir/nested_import2.txt\",\n \"grammar_tests/test_import_dir/nested_import3.txt\",\n \"grammar_tests/test_import_dir/test_import.txt\"\n ]\n}",
6
- "tested_features": [
7
- "load"
8
- ],
9
- "minimised_modl": "*l=grammar_tests/test_import_dir/nested_import1.txt;files=%*load"
10
- },
11
- {
12
- "id": "2",
13
- "input": "*l=grammar_tests/1:grammar_tests/2:grammar_tests/3:grammar_tests/1;\nfiles=%*load",
14
- "expected_output": "{\n \"files\": [\n \"grammar_tests/1.modl\",\n \"grammar_tests/2.modl\",\n \"grammar_tests/3.modl\",\n \"grammar_tests/1.modl\"\n ]\n}",
15
- "tested_features": [
16
- "load"
17
- ],
18
- "minimised_modl": "*l=grammar_tests/1:grammar_tests/2:grammar_tests/3:grammar_tests/1;files=%*load"
19
- },
20
- {
21
- "id": "3",
22
- "input": "*L=\"https://www.modl.uk/tests/message-thread.txt\";\n\nclasses=*class",
23
- "expected_output": "{\n \"classes\": \"*class\"\n}",
24
- "tested_features": [
25
- "load"
26
- ],
27
- "minimised_modl": "*L=\"https://www.modl.uk/demo/message-thread.txt\";classes=*class"
28
- },
29
- {
30
- "id": "4",
31
- "input": "*method(\n *id=cn;\n *name=company_name;\n *transform=replace<-, >.trim<.>.initcap\n);\n\nm=%*method",
32
- "expected_output": "{\n \"m\": [\n {\n \"cn\": {\n \"name\": \"company_name\",\n \"transform\": \"replace<-,>.trim<.>.initcap\"\n }\n }\n ]\n}",
33
- "tested_features": [
34
- "method"
35
- ],
36
- "minimised_modl": "*m(*i=cn;*n=company_name;*transform=replace<-, >.trim<.>.initcap);m=%*method"
37
- },
38
- {
39
- "id": "5",
40
- "input": "*L=\"https://www.modl.uk/tests/message-thread.txt\";\n*class(\n *id=a;\n *name=alpha;\n *superclass=map;\n v=victor\n);\n*class(\n *id=b;\n *name=bravo;\n *superclass=alpha;\n w=whisky\n);\n*class(\n *id=c;\n *name=charlie;\n *superclass=bravo;\n x=xray\n);\n*class(\n *id=d;\n *name=delta;\n *superclass=charlie;\n y=yankee\n);\nclasses=%*class",
41
- "expected_output": "{\n \"classes\": [\n {\n \"m\": {\n \"name\": \"message\",\n \"superclass\": \"map\",\n \"assign\": [\n [\n \"direction\",\n \"date_time\",\n \"message\"\n ]\n ],\n \"method\": \"sms\"\n }\n },\n {\n \"a\": {\n \"name\": \"alpha\",\n \"superclass\": \"map\",\n \"v\": \"victor\"\n }\n },\n {\n \"b\": {\n \"name\": \"bravo\",\n \"superclass\": \"alpha\",\n \"w\": \"whisky\"\n }\n },\n {\n \"c\": {\n \"name\": \"charlie\",\n \"superclass\": \"bravo\",\n \"x\": \"xray\"\n }\n },\n {\n \"d\": {\n \"name\": \"delta\",\n \"superclass\": \"charlie\",\n \"y\": \"yankee\"\n }\n }\n ]\n}",
42
- "tested_features": [
43
- "load",
44
- "class"
45
- ],
46
- "minimised_modl": "*L=\"https://www.modl.uk/tests/message-thread.txt\";*class(*id=a;*name=alpha;*superclass=map;v=victor)*class(*id=b;*name=bravo;*superclass=alpha;w=whisky);*class(*id=c;*name=charlie;*superclass=bravo;x=xray)*class(*id=d;*name=delta;*superclass=charlie;y=yankee)classes=%*class"
47
- },
48
- {
49
- "id": "6",
50
- "input": "_test1=one;\n_one=two;\n{\ntest1=`one`?\n result=match\n/?\n result=nomatch\n}",
51
- "expected_output": "{\n \"result\": \"match\"\n}",
52
- "tested_features": [
53
- "conditional"
54
- ],
55
- "minimised_modl": "_test1=one;_one=two{test1=`one`?result=match/?result=nomatch}"
56
- },
57
- {
58
- "id": "7",
59
- "input": "_test1=one;\n_one=two;\n{\ntest1=`two`?\n result=match\n/?\n result=nomatch\n}",
60
- "expected_output": "{\n \"result\": \"nomatch\"\n}",
61
- "tested_features": [
62
- "conditional"
63
- ],
64
- "minimised_modl": "_test1=one;_one=two{test1=`two`?result=match/?result=nomatch}"
65
- },
66
- {
67
- "id": "8",
68
- "input": "_test1=one;\n_one=two;\n{\ntest1=\"one\"?\n result=match\n/?\n result=nomatch\n}",
69
- "expected_output": "{\n \"result\": \"match\"\n}",
70
- "tested_features": [
71
- "conditional"
72
- ],
73
- "minimised_modl": "_test1=one;_one=two{test1=\"one\"?result=match/?result=nomatch}"
74
- },
75
- {
76
- "id": "9",
77
- "input": "_test1=one;\n_one=two;\n{\ntest1=\"two\"?\n result=match\n/?\n result=nomatch\n}",
78
- "expected_output": "{\n \"result\": \"nomatch\"\n}",
79
- "tested_features": [
80
- "conditional"
81
- ],
82
- "minimised_modl": "_test1=one;_one=two{test1=\"two\"?result=match/?result=nomatch}"
83
- },
84
- {
85
- "id": "10",
86
- "input": "DELETED",
87
- "expected_output": "DELETED",
88
- "tested_features": [
89
- "DELETED"
90
- ],
91
- "minimised_modl": "DELETED"
92
- },
93
- {
94
- "id": "11",
95
- "input": "_x=a:b:c:d;\n_y=[1;2;3;4];\nz={%x.1=b | %y.2=1?}\n",
96
- "expected_output": "{\n \"z\": true\n}",
97
- "tested_features": [
98
- "conditional",
99
- "object_ref"
100
- ],
101
- "minimised_modl": "_x=a:b:c:d;_y=[1;2;3;4];z={%x.1=b | %y.2=1?}"
102
- },
103
- {
104
- "id": "12",
105
- "input": "_x=a:b:c:d;\n_y=[1;2;3;4];\nz={%x.1=b & %y.2=1?}\n",
106
- "expected_output": "{\n \"z\": false\n}",
107
- "tested_features": [
108
- "conditional",
109
- "object_ref"
110
- ],
111
- "minimised_modl": "_x=a:b:c:d;_y=[1;2;3;4];z={%x.1=b & %y.2=1?}"
112
- },
113
- {
114
- "id": "13",
115
- "input": "_x=a:b:c:d;\n_y=[1;2;3;4];\nz={%x.1=b&%y.2=3?}",
116
- "expected_output": "{\n \"z\": true\n}",
117
- "tested_features": [
118
- "conditional",
119
- "object_ref"
120
- ],
121
- "minimised_modl": "_x=a:b:c:d;_y=[1;2;3;4];z={%x.1=b&%y.2=3?}"
122
- },
123
- {
124
- "id": "14",
125
- "input": "_x=a:b:c:d;\n_y=[1;2;3;4];\nz={%x.1=b|%y.2=3?}",
126
- "expected_output": "{\n \"z\": true\n}",
127
- "tested_features": [
128
- "conditional",
129
- "object_ref"
130
- ],
131
- "minimised_modl": "_x=a:b:c:d;_y=[1;2;3;4];z={%x.1=b|%y.2=3?}"
132
- },
133
- {
134
- "id": "15",
135
- "input": "_x=a:b:c:d;\n_y=[1;2;3;4];\nz={%x.1=b|%y.2=x?}",
136
- "expected_output": "{\n \"z\": true\n}",
137
- "tested_features": [
138
- "conditional",
139
- "object_ref"
140
- ],
141
- "minimised_modl": "_x=a:b:c:d;_y=[1;2;3;4];z={%x.1=b|%y.2=x?}"
142
- },
143
- {
144
- "id": "16",
145
- "input": "_x=a:b:c:d;\n_y=[1;2;3;4];\nz={%x.1=a|%y.2=3?}",
146
- "expected_output": "{\n \"z\": true\n}",
147
- "tested_features": [
148
- "conditional",
149
- "object_ref"
150
- ],
151
- "minimised_modl": "_x=a:b:c:d;_y=[1;2;3;4];z={%x.1=a|%y.2=3?}"
152
- },
153
- {
154
- "id": "17",
155
- "input": "_x=a:b:c:d;\n_y=[1;2;3;4];\nx={%x.1=%y.2?}",
156
- "expected_output": "{\n \"x\": false\n}",
157
- "tested_features": [
158
- "conditional",
159
- "object_ref"
160
- ],
161
- "minimised_modl": "_x=a:b:c:d;_y=[1;2;3;4];x={%x.1=%y.2?}"
162
- },
163
- {
164
- "id": "18",
165
- "input": "_x=[1;2;3;4];\n_y=[1;2;3;4];\nx={%x.2=%y.2?}",
166
- "expected_output": "{\n \"x\": true\n}",
167
- "tested_features": [
168
- "conditional",
169
- "object_ref"
170
- ],
171
- "minimised_modl": "_x=[1;2;3;4];_y=[1;2;3;4];x={%x.2=%y.2?}"
172
- },
173
- {
174
- "id": "19",
175
- "input": "_country=gb;\n{\n country = gb | country = us?\n support_number=+441270123456\n /?\n support_number=+14161234567\n}",
176
- "expected_output": "{\n \"support_number\": \"+441270123456\"\n}",
177
- "tested_features": [
178
- "conditional",
179
- "object_ref"
180
- ],
181
- "minimised_modl": "_country=gb{country = gb | country = us?support_number=+441270123456/?support_number=+14161234567}"
182
- },
183
- {
184
- "id": "20",
185
- "input": "_country=gb;\n{\n country = us | country = gb?\n support_number=+441270123456\n /?\n support_number=+14161234567\n}",
186
- "expected_output": "{\n \"support_number\": \"+441270123456\"\n}",
187
- "tested_features": [
188
- "conditional",
189
- "object_ref"
190
- ],
191
- "minimised_modl": "_country=gb{country = us | country = gb?support_number=+441270123456/?support_number=+14161234567}"
192
- },
193
- {
194
- "id": "21",
195
- "input": "?=a:b:c:d;12%3=1",
196
- "expected_output": "{\n \"12d\": 1\n}",
197
- "tested_features": [
198
- "object_ref"
199
- ],
200
- "minimised_modl": "?=a:b:c:d;12%3=1"
201
- },
202
- {
203
- "id": "22",
204
- "input": "(\n name=%`e1afmkfd`.p;\n department=%` -7sbcecqbdsccxfizhcp6b8ah`.p\n)",
205
- "expected_output": "{\n \"name\": \"пример\",\n \"department\": \"обслуживание клиентов\"\n}",
206
- "tested_features": [
207
- "puny"
208
- ],
209
- "minimised_modl": "(name=%`e1afmkfd`.p;department=%` -7sbcecqbdsccxfizhcp6b8ah`.p)"
210
- },
211
- {
212
- "id": "23",
213
- "input": "\"%`80aafnhi4ae`.p.u\"=%`lsa12dvaxki`.p.u",
214
- "expected_output": "{\n \"НАЗВАНИЕ\": \"БОРИ́С\"\n}",
215
- "tested_features": [
216
- "puny",
217
- "string_method"
218
- ],
219
- "minimised_modl": "%`80aafnhi4ae`.p=%`lsa12dvaxki`.p"
220
- },
221
- {
222
- "id": "24",
223
- "input": "(\n _name = John;\n %name.u = \"Developer\";\n foo = %name.u\n)",
224
- "expected_output": "{\n \"JOHN\": \"Developer\",\n \"foo\": \"JOHN\"\n}",
225
- "tested_features": [
226
- "string_method"
227
- ],
228
- "minimised_modl": "(_name = John;%name.u = \"Developer\";foo = %name.u)"
229
- },
230
- {
231
- "id": "25",
232
- "input": "(\n _name = John;\n %name.u = \"Developer\";\n foo = %JOHN\n)",
233
- "expected_output": "{\n \"JOHN\": \"Developer\",\n \"foo\": \"Developer\"\n}",
234
- "tested_features": [
235
- "string_method",
236
- "object_ref"
237
- ],
238
- "minimised_modl": "(_name=John;%name.u=\"Developer\";foo = %JOHN)"
239
- },
240
- {
241
- "id": "26",
242
- "input": "(\n _name = John;\n %name = \"Developer\";\n foo = %John\n)",
243
- "expected_output": "{\n \"John\": \"Developer\",\n \"foo\": \"Developer\"\n}",
244
- "tested_features": [
245
- "object_ref"
246
- ],
247
- "minimised_modl": "(_name=John;%name=\"Developer\";foo = %John)"
248
- },
249
- {
250
- "id": "27",
251
- "input": "_array[1;2];\n_array_item=%array.0;\ntest={\n array_item=%array.0?\n yes\n /?\n no\n}",
252
- "expected_output": "{\n \"test\": \"yes\"\n}",
253
- "tested_features": [
254
- "conditional",
255
- "object_ref"
256
- ],
257
- "minimised_modl": "_array[1;2];_array_item=%array.0;test={array_item=%array.0?yes/?no}"
258
- },
259
- {
260
- "id": "28",
261
- "input": "_array[1;2];\ntest={\n %array.0=1?\n yes\n /?\n no\n}",
262
- "expected_output": "{\n \"test\": \"yes\"\n}",
263
- "tested_features": [
264
- "conditional",
265
- "object_ref"
266
- ],
267
- "minimised_modl": "_array[1;2];test={%array.0=1?yes/?no}"
268
- },
269
- {
270
- "id": "29",
271
- "input": "_array[1;2];\n_array_item=%array.0;\ntest={\n array_item=1?\n yes\n /?\n no\n}",
272
- "expected_output": "{\n \"test\": \"yes\"\n}",
273
- "tested_features": [
274
- "conditional",
275
- "object_ref"
276
- ],
277
- "minimised_modl": "_array[1;2];_array_item=%array.0;test={array_item=1?yes/?no}"
278
- },
279
- {
280
- "id": "30",
281
- "input": "_person( \n name(\n speak=say;\n first=John;\n last=Smith\n )\n);\njust %person.name.speak.u%_this=Hello %person.name.first.d!",
282
- "expected_output": "{\n \"just SAY_this\": \"Hello john!\"\n}",
283
- "tested_features": [
284
- "string_method",
285
- "object_ref"
286
- ],
287
- "minimised_modl": "_person(name(speak=say;first=John;last=Smith));just %person.name.speak.u%_this=Hello %person.name.first.d!"
288
- },
289
- {
290
- "id": "31",
291
- "input": "*class(\n *i=test;\n *a=[\n [one;two;three]\n ]\n);\ntest=1:2:3",
292
- "expected_output": "{\n \"test\": {\n \"one\": 1,\n \"two\": 2,\n \"three\": 3\n }\n}",
293
- "tested_features": [
294
- "class",
295
- "assign"
296
- ],
297
- "minimised_modl": "*class(\n *i=test\n *a=[\n [one;two;three]\n ]\n)\ntest=1:2:3"
298
- },
299
- {
300
- "id": "32",
301
- "input": "*class(\n *i=test;\n *a=[\n [one;two;three]\n ]\n);\n\ntest=1:2:(a=Alpha;b=Bravo;c=Charlie)",
302
- "expected_output": "{\n \"test\": {\n \"one\": 1,\n \"two\": 2,\n \"three\": {\n \"a\": \"Alpha\",\n \"b\": \"Bravo\",\n \"c\": \"Charlie\"\n }\n }\n}",
303
- "tested_features": [
304
- "class",
305
- "assign"
306
- ],
307
- "minimised_modl": "*class(\n *i=test\n *a=[\n [one;two;three]\n ]\n)\n\ntest=1:2:(a=Alpha;b=Bravo;c=Charlie)"
308
- },
309
- {
310
- "id": "33",
311
- "input": "*class(\n *i=test;\n *a=[\n [one;two;three]\n ]\n);\n\ntest=1:2:[a;b;c]",
312
- "expected_output": "{\n \"test\": {\n \"one\": 1,\n \"two\": 2,\n \"three\": [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n}",
313
- "tested_features": [
314
- "class",
315
- "assign"
316
- ],
317
- "minimised_modl": "*class(\n *i=test\n *a=[\n [one;two;three]\n ]\n)\n\ntest=1:2:[a;b;c]"
318
- },
319
- {
320
- "id": "34",
321
- "input": "_name = John;\n%name = \"123\"",
322
- "expected_output": "{\n \"John\": \"123\"\n}",
323
- "tested_features": [
324
- "object_ref"
325
- ],
326
- "minimised_modl": "_name = John;%name = \"123\""
327
- },
328
- {
329
- "id": "35",
330
- "input": "[\none;\ntwo;\nthree;\n]",
331
- "expected_output": "[\n \"one\",\n \"two\",\n \"three\"\n]",
332
- "tested_features": [
333
- "array"
334
- ],
335
- "minimised_modl": "[one;two;three;]"
336
- },
337
- {
338
- "id": "36",
339
- "input": "[\none;\ntwo;\nthree\n]",
340
- "expected_output": "[\n \"one\",\n \"two\",\n \"three\"\n]",
341
- "tested_features": [
342
- "array"
343
- ],
344
- "minimised_modl": "[one;two;three]"
345
- },
346
- {
347
- "id": "37",
348
- "input": "_country = gb;\nsupport_contact = {\ncountry=gb?\n}",
349
- "expected_output": "{\n \"support_contact\": true\n}",
350
- "tested_features": [
351
- "object_ref",
352
- "conditional"
353
- ],
354
- "minimised_modl": "_country=gb;support_contact={country=gb?}"
355
- },
356
- {
357
- "id": "38",
358
- "input": " *class(\n *id=a;\n *name=alpha;\n *superclass=map;\n v=victor\n);\n*class(\n *id=b;\n *name=bravo;\n *superclass=alpha;\n w=whisky\n);\n*class(\n *id=c;\n *name=charlie;\n *superclass=bravo;\n x=xray\n);\n*class(\n *id=d;\n *name=delta;\n *superclass=charlie;\n y=yankee\n);\nd(test1=test2)",
359
- "expected_output": "{\n \"delta\": {\n \"test1\": \"test2\",\n \"y\": \"yankee\",\n \"x\": \"xray\",\n \"w\": \"whisky\",\n \"v\": \"victor\"\n }\n}",
360
- "tested_features": [
361
- "class"
362
- ],
363
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=map;v=victor)*class(*id=b;*name=bravo;*superclass=alpha;w=whisky)*class(*id=c;*name=charlie;*superclass=bravo;x=xray);*class(*id=d;*name=delta;*superclass=charlie;y=yankee)d(test1=test2)"
364
- },
365
- {
366
- "id": "39",
367
- "input": "*class(\n *id=a;\n *name=alpha;\n *superclass=map;\n v=victor\n);\n*class(\n *id=b;\n *name=bravo;\n *superclass=a;\n w=whisky\n);\n*class(\n *id=c;\n *name=charlie;\n *superclass=b;\n x=xray\n);\n*class(\n *id=d;\n *name=delta;\n *superclass=c;\n y=yankee\n);\nd(test1=test2)",
368
- "expected_output": "{\n \"delta\": {\n \"test1\": \"test2\",\n \"y\": \"yankee\",\n \"x\": \"xray\",\n \"w\": \"whisky\",\n \"v\": \"victor\"\n }\n}",
369
- "tested_features": [
370
- "class"
371
- ],
372
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=map;v=victor)*class(*id=b;*name=bravo;*superclass=a;w=whisky)*class(*id=c;*name=charlie;*superclass=b;x=xray)*class(*id=d;*name=delta;*superclass=c;y=yankee)d(test1=test2)"
373
- },
374
- {
375
- "id": "40",
376
- "input": "_test=[[a;b]];letters2=%test.0.0",
377
- "expected_output": "{\n \"letters2\": \"a\"\n}",
378
- "tested_features": [
379
- "object_ref"
380
- ],
381
- "minimised_modl": "_test=[[a;b]];letters2=%test.0.0"
382
- },
383
- {
384
- "id": "41",
385
- "input": "?=`e1afmkfd`:` -7sbcecqbdsccxfizhcp6b8ah`;(name=%0.p;department=%1.p)",
386
- "expected_output": "{\n \"name\": \"пример\",\n \"department\": \"обслуживание клиентов\"\n}",
387
- "tested_features": [
388
- "object_ref",
389
- "puny"
390
- ],
391
- "minimised_modl": "?=`e1afmkfd`:` -7sbcecqbdsccxfizhcp6b8ah`;(name=%0.p;department=%1.p)"
392
- },
393
- {
394
- "id": "42",
395
- "input": "*class(*id=object;*superclass=arr);sales(name=John Smith;telephone=44800 555 555);service(name=Jim Brown;telephone=44800 666 666)",
396
- "expected_output": "{\n \"sales\": {\n \"name\": \"John Smith\",\n \"telephone\": \"44800 555 555\"\n },\n \"service\": {\n \"name\": \"Jim Brown\",\n \"telephone\": \"44800 666 666\"\n }\n}",
397
- "tested_features": [
398
- "class"
399
- ],
400
- "minimised_modl": "*c(*id=object;*superclass=arr);sales(name=John Smith;telephone=44800 555 555);service(name=Jim Brown;telephone=44800 666 666)"
401
- },
402
- {
403
- "id": "43",
404
- "input": "*class(\n *id=p;\n *NAME=person\n);\n\np(name=John Smith;dob=01/01/2001)",
405
- "expected_output": "{\n \"person\": {\n \"name\": \"John Smith\",\n \"dob\": \"01/01/2001\"\n }\n}",
406
- "tested_features": [
407
- "class"
408
- ],
409
- "minimised_modl": "*c(*i=p;*N=person);p(name=John Smith;dob=01/01/2001)"
410
- },
411
- {
412
- "id": "44",
413
- "input": "*class(*id=a;*name=age);a=10",
414
- "expected_output": "{\n \"age\": 10\n}",
415
- "tested_features": [
416
- "class"
417
- ],
418
- "minimised_modl": "*class(*id=a;*name=age);a=10"
419
- },
420
- {
421
- "id": "45",
422
- "input": "*class(*id=a;*name=age;*superclass=num);a=10",
423
- "expected_output": "{\n \"age\": 10\n}",
424
- "tested_features": [
425
- "class"
426
- ],
427
- "minimised_modl": "*class(*id=a;*name=age;*superclass=num);a=10"
428
- },
429
- {
430
- "id": "46",
431
- "input": "*class(*id=a;*name=age;*superclass=str);a=10",
432
- "expected_output": "{\n \"age\": \"10\"\n}",
433
- "tested_features": [
434
- "class"
435
- ],
436
- "minimised_modl": "*class(*id=a;*name=age;*superclass=str);a=10"
437
- },
438
- {
439
- "id": "47",
440
- "input": "*class(*id=newstr;*superclass=str);*class(*id=a;*name=age;*superclass=newstr);a=10",
441
- "expected_output": "{\n \"age\": \"10\"\n}",
442
- "tested_features": [
443
- "class"
444
- ],
445
- "minimised_modl": "*class(*id=newstr;*superclass=str);*class(*id=a;*name=age;*superclass=newstr);a=10"
446
- },
447
- {
448
- "id": "48",
449
- "input": "?[[a;b;c]];letters=%0",
450
- "expected_output": "{\n \"letters\": [\n \"a\",\n \"b\",\n \"c\"\n ]\n}",
451
- "tested_features": [
452
- "object_ref"
453
- ],
454
- "minimised_modl": "?[[a;b;c]];letters=%0"
455
- },
456
- {
457
- "id": "49",
458
- "input": "?=[a;b;c;d]:[1;2;3;4;5];\ntest=%1.0",
459
- "expected_output": "{\n \"test\": 1\n}",
460
- "tested_features": [
461
- "object_ref"
462
- ],
463
- "minimised_modl": "?=[a;b;c;d]:[1;2;3;4;5];test=%1.0"
464
- },
465
- {
466
- "id": "50",
467
- "input": "_test=123;object(print_test = %test.test)",
468
- "expected_output": "{\n \"object\": {\n \"print_test\": \"123.test\"\n }\n}",
469
- "tested_features": [
470
- "object_ref"
471
- ],
472
- "minimised_modl": "_test=123;object(print_test = %test.test)"
473
- },
474
- {
475
- "id": "51",
476
- "input": "?=one:two:three;test1=%0;test2=%1;test3=%2;test4=%3;test5=%4;test6=%5;test7=%6;test8=%7;test9=%8",
477
- "expected_output": "{\n \"test1\": \"one\",\n \"test2\": \"two\",\n \"test3\": \"three\",\n \"test4\": \"%3\",\n \"test5\": \"%4\",\n \"test6\": \"%5\",\n \"test7\": \"%6\",\n \"test8\": \"%7\",\n \"test9\": \"%8\"\n}",
478
- "tested_features": [
479
- "object_ref"
480
- ],
481
- "minimised_modl": "?=one:two:three;test1=%0;test2=%1;test3=%2;test4=%3;test5=%4;test6=%5;test7=%6;test8=%7;test9=%8"
482
- },
483
- {
484
- "id": "52",
485
- "input": "a=1:2:3;b=4:5:6",
486
- "expected_output": "{\n \"a\": [\n 1,\n 2,\n 3\n ],\n \"b\": [\n 4,\n 5,\n 6\n ]\n}",
487
- "tested_features": [
488
- "nbArray"
489
- ],
490
- "minimised_modl": "a=1:2:3;b=4:5:6"
491
- },
492
- {
493
- "id": "53",
494
- "input": "DELETED",
495
- "expected_output": "DELETED",
496
- "tested_features": [
497
- "DELETED"
498
- ],
499
- "minimised_modl": "DELETED"
500
- },
501
- {
502
- "id": "54",
503
- "input": "DELETED",
504
- "expected_output": "DELETED",
505
- "tested_features": [
506
- "DELETED"
507
- ],
508
- "minimised_modl": "DELETED"
509
- },
510
- {
511
- "id": "55",
512
- "input": "a=1:2:3;\nb=4:5:6",
513
- "expected_output": "{\n \"a\": [\n 1,\n 2,\n 3\n ],\n \"b\": [\n 4,\n 5,\n 6\n ]\n}",
514
- "tested_features": [
515
- "nbArray"
516
- ],
517
- "minimised_modl": "a=1:2:3;\nb=4:5:6"
518
- },
519
- {
520
- "id": "56",
521
- "input": "DELETED",
522
- "expected_output": "DELETED",
523
- "tested_features": [
524
- "DELETED"
525
- ],
526
- "minimised_modl": "DELETED"
527
- },
528
- {
529
- "id": "57",
530
- "input": "a=1:2:3\n;\nb=4:5:6",
531
- "expected_output": "{\n \"a\": [\n 1,\n 2,\n 3\n ],\n \"b\": [\n 4,\n 5,\n 6\n ]\n}",
532
- "tested_features": [
533
- "nbArray"
534
- ],
535
- "minimised_modl": "a=1:2:3\n;\nb=4:5:6"
536
- },
537
- {
538
- "id": "58",
539
- "input": "_test=(a=b=c=d=f);\nx=%test.a.b.c.d",
540
- "expected_output": "{\n \"x\": \"f\"\n}",
541
- "tested_features": [
542
- "object_ref"
543
- ],
544
- "minimised_modl": "_test=(a=b=c=d=f)\nx=%test.a.b.c.d"
545
- },
546
- {
547
- "id": "59",
548
- "input": "a(b(c(d(e(f=1)))));\ntesting=%a.b.c.d.e.f",
549
- "expected_output": "{\n \"a\": {\n \"b\": {\n \"c\": {\n \"d\": {\n \"e\": {\n \"f\": 1\n }\n }\n }\n }\n },\n \"testing\": 1\n}",
550
- "tested_features": [
551
- "object_ref"
552
- ],
553
- "minimised_modl": "a(b(c(d(e(f=1)))))\ntesting=%a.b.c.d.e.f"
554
- },
555
- {
556
- "id": "60",
557
- "input": "_test=(a=b=c=d=f);\ntesting=%test.a.b.c.d",
558
- "expected_output": "{\n \"testing\": \"f\"\n}",
559
- "tested_features": [
560
- "object_ref"
561
- ],
562
- "minimised_modl": "_test=(a=b=c=d=f)\ntesting=%test.a.b.c.d"
563
- },
564
- {
565
- "id": "61",
566
- "input": "a=\nb\n=c;\nd=e",
567
- "expected_output": "{\n \"a\": {\n \"b\": \"c\"\n },\n \"d\": \"e\"\n}",
568
- "tested_features": [
569
- "map"
570
- ],
571
- "minimised_modl": "a=\nb\n=c\nd=e"
572
- },
573
- {
574
- "id": "62",
575
- "input": "test=this is a #hashtag test;test2=#testing 123",
576
- "expected_output": "{\n \"test\": \"this is a #hashtag test\",\n \"test2\": \"#testing 123\"\n}",
577
- "tested_features": [
578
- "pair"
579
- ],
580
- "minimised_modl": "test=this is a #hashtag test;test2=#testing 123"
581
- },
582
- {
583
- "id": "63",
584
- "input": "a=(b=c=d=e=f)",
585
- "expected_output": "{\n \"a\": {\n \"b\": {\n \"c\": {\n \"d\": {\n \"e\": \"f\"\n }\n }\n }\n }\n}",
586
- "tested_features": [
587
- "map"
588
- ],
589
- "minimised_modl": "a=(b=c=d=e=f)"
590
- },
591
- {
592
- "id": "64",
593
- "input": "a=b=c=d=e=f",
594
- "expected_output": "{\n \"a\": {\n \"b\": {\n \"c\": {\n \"d\": {\n \"e\": \"f\"\n }\n }\n }\n }\n}",
595
- "tested_features": [
596
- "map"
597
- ],
598
- "minimised_modl": "a=b=c=d=e=f"
599
- },
600
- {
601
- "id": "65",
602
- "input": "a=(b=(c=(d=(e=f))))",
603
- "expected_output": "{\n \"a\": {\n \"b\": {\n \"c\": {\n \"d\": {\n \"e\": \"f\"\n }\n }\n }\n }\n}",
604
- "tested_features": [
605
- "map"
606
- ],
607
- "minimised_modl": "a=(b=(c=(d=(e=f))))"
608
- },
609
- {
610
- "id": "66",
611
- "input": "country=gb;\nx=[{ country=gb ? this /country=us? that }]",
612
- "expected_output": "{\n \"country\": \"gb\",\n \"x\": [\n \"this\"\n ]\n}",
613
- "tested_features": [
614
- "object_ref",
615
- "conditional"
616
- ],
617
- "minimised_modl": "country=gb;x=[{ country=gb? this /country=us? that }]"
618
- },
619
- {
620
- "id": "67",
621
- "input": "_a=3;_b=3;c={a=b?true/?false}",
622
- "expected_output": "{\n \"c\": true\n}",
623
- "tested_features": [
624
- "object_ref",
625
- "conditional"
626
- ],
627
- "minimised_modl": "_a=3;_b=3;c={a=b?true/?false}"
628
- },
629
- {
630
- "id": "68",
631
- "input": "a=1;b=2;c={{a=1}|{b=2}?true/?false}",
632
- "expected_output": "{\n \"a\": 1,\n \"b\": 2,\n \"c\": true\n}",
633
- "tested_features": [
634
- "conditional"
635
- ],
636
- "minimised_modl": "a=1;b=2;c={{a=1}|{b=2}?true/?false}"
637
- },
638
- {
639
- "id": "69",
640
- "input": "_a=1;\n_b=2;\nx={a=b?}",
641
- "expected_output": "{\n \"x\": false\n}",
642
- "tested_features": [
643
- "object_ref",
644
- "conditional"
645
- ],
646
- "minimised_modl": "_a=1;_b=2;x={a=b?}"
647
- },
648
- {
649
- "id": "70",
650
- "input": "_a=1;\n_b=1;\nx={a=b?}",
651
- "expected_output": "{\n \"x\": true\n}",
652
- "tested_features": [
653
- "object_ref",
654
- "conditional"
655
- ],
656
- "minimised_modl": "_a=1;_b=1;x={a=b?}"
657
- },
658
- {
659
- "id": "71",
660
- "input": "_testing = quick-test of John's variable_methods;\nupcase_example = %testing.u;\ndowncase_example = %testing.d;\ninitcap_example = %testing.i;\nsentence_example = %testing.s;\nurl_encode_example = %testing.u.e",
661
- "expected_output": "{\n \"upcase_example\": \"QUICK-TEST OF JOHN'S VARIABLE_METHODS\",\n \"downcase_example\": \"quick-test of john's variable_methods\",\n \"initcap_example\": \"Quick-test Of John's Variable_methods\",\n \"sentence_example\": \"Quick-test of John's variable_methods\",\n \"url_encode_example\": \"QUICK-TEST+OF+JOHN%27S+VARIABLE_METHODS\"\n}",
662
- "tested_features": [
663
- "string_method"
664
- ],
665
- "minimised_modl": "_testing=quick-test of John's variable_methods;upcase_example=%testing.u;downcase_example=%testing.d;initcap_example=%testing.i;sentence_example=%testing.s;url_encode_example=%testing.u.e"
666
- },
667
- {
668
- "id": "72",
669
- "input": "*VERSION=1;\n\"test\"=1",
670
- "expected_output": "{\n \"test\": 1\n}",
671
- "tested_features": [
672
- "version"
673
- ],
674
- "minimised_modl": "*VERSION=1;test=1"
675
- },
676
- {
677
- "id": "73",
678
- "input": "*VERSION=100;\n\"test\"=1",
679
- "expected_output": "{\n \"test\": 1\n}",
680
- "tested_features": [
681
- "version"
682
- ],
683
- "minimised_modl": "*VERSION=100;test=1"
684
- },
685
- {
686
- "id": "74",
687
- "input": "*class(\n *id=g;\n *name=glossary;\n *superclass=map\n);\n*class(\n *id=t;\n *name=title;\n *superclass=str\n);\n*class(\n *id=d;\n *name=GlossDiv;\n *superclass=map\n);\n*class(\n *id=l;\n *name=GlossList;\n *superclass=map\n);\n*class(\n *id=e;\n *name=GlossEntry;\n *superclass=map;\n *assign[\n [i;s;gt;a;ab;gd;gs]\n ]\n);\n*class(\n *id=i;\n *name=ID;\n *superclass=str\n);\n*class(\n *id=s;\n *name=SortAs;\n *superclass=str\n);\n*class(\n *id=gt;\n *name=GlossTerm;\n *superclass=str\n);\n*class(\n *id=a;\n *name=Acronym;\n *superclass=str\n);\n*class(\n *id=ab;\n *name=Abbrev;\n *superclass=str\n);\n*class(\n *id=gd;\n *name=GlossDef;\n *assign=[\n [p];\n [p;sa]\n ]\n);\n*class(\n *id=p;\n *name=para;\n *superclass=str\n);\n*class(\n *id=sa;\n *name=SeeAlso;\n *superclass=arr\n);\n*class(\n *id=gs;\n *name=GlossSee;\n *superclass=str\n);\n\ng(\n ?=[SGML;markup;language];\n t=example glossary;\n d(\n t=S;\n l(\n e(\n i=%0;\n s=%0;\n gt=Standard Generalized %1.s %2.s;\n a=%0;\n ab=ISO 8879\\:1986;\n gd=A meta-%1 %2, used to create %1 %2%s such as DocBook.\n :[GML;XML];\n gs=%1\n )\n )\n )\n)",
688
- "expected_output": "{\n \"glossary\": {\n \"title\": \"example glossary\",\n \"GlossDiv\": {\n \"title\": \"S\",\n \"GlossList\": {\n \"GlossEntry\": {\n \"ID\": \"SGML\",\n \"SortAs\": \"SGML\",\n \"GlossTerm\": \"Standard Generalized Markup Language\",\n \"Acronym\": \"SGML\",\n \"Abbrev\": \"ISO 8879:1986\",\n \"GlossDef\": {\n \"para\": \"A meta-markup language, used to create markup languages such as DocBook.\",\n \"SeeAlso\": [\n \"GML\",\n \"XML\"\n ]\n },\n \"GlossSee\": \"markup\"\n }\n }\n }\n }\n}",
689
- "tested_features": [
690
- "class",
691
- "object_ref",
692
- "string_method"
693
- ],
694
- "minimised_modl": "*c(*i=g;*n=glossary;*s=map);*c(*i=t;*n=title;*s=str);*c(*i=d;*n=GlossDiv;*s=map);*c(*i=l;*n=GlossList;*s=map);*c(*i=e;*n=GlossEntry;*s=map;*a[[i;s;gt;a;ab;gd;gs]]);*c(*i=i;*n=ID;*s=str);*c(*i=s;*n=SortAs;*s=str);*c(*i=gt;*n=GlossTerm;*s=str);*c(*i=a;*n=Acronym;*s=str);*c(*i=ab;*n=Abbrev;*s=str);*c(*i=gd;*n=GlossDef;*a=[p]:[p;sa]);*c(*i=p;*n=para;*s=str);*c(*i=sa;*n=SeeAlso;*s=arr);*c(*i=gs;*n=GlossSee;*s=str);g(?=SGML:markup:language;t=example glossary;d(t=S;l(e(i=%0;s=%0;gt=Standard Generalized %1.s %2.s;a=%0;ab=ISO 8879~:1986;gd=A meta-%1 %2, used to create %1 %2%s such as DocBook.:[GML;XML];gs=%1))))"
695
- },
696
- {
697
- "id": "75",
698
- "input": "_test=1~:2;\n\nresult={\n test=1~:2?\n yes\n /?\n no\n}",
699
- "expected_output": "{\n \"result\": \"yes\"\n}",
700
- "tested_features": [
701
- "class",
702
- "object_ref",
703
- "conditional"
704
- ],
705
- "minimised_modl": "_test=1~:2;result={test=1~:2?yes/?no}"
706
- },
707
- {
708
- "id": "76",
709
- "input": "_test=\"http://www.tesco.com\";\n\nresult={\n test=\"http://www.tesco.com\"?\n yes\n /?\n no\n}",
710
- "expected_output": "{\n \"result\": \"yes\"\n}",
711
- "tested_features": [
712
- "class",
713
- "object_ref",
714
- "conditional"
715
- ],
716
- "minimised_modl": "_test=http~://www.tesco.com;result={test=\"http://www.tesco.com\"?yes/?no}"
717
- },
718
- {
719
- "id": "77",
720
- "input": "DELETED",
721
- "expected_output": "DELETED",
722
- "tested_features": [
723
- "DELETED"
724
- ],
725
- "minimised_modl": "DELETED"
726
- },
727
- {
728
- "id": "78",
729
- "input": "_branch=\"alex.\";\n_root=d;\nnamespace=%branch%blah.%root",
730
- "expected_output": "{\n \"namespace\": \"alex.blah.d\"\n}",
731
- "tested_features": [
732
- "object_ref"
733
- ],
734
- "minimised_modl": "_branch=\"alex.\";_root=d;namespace=%branch%blah.%root"
735
- },
736
- {
737
- "id": "79",
738
- "input": "namespace=%branch%blah.%root",
739
- "expected_output": "{\n \"namespace\": \"%branch%blah.%root\"\n}",
740
- "tested_features": [
741
- "pair",
742
- "graves"
743
- ],
744
- "minimised_modl": "namespace=%branch%blah.%root"
745
- },
746
- {
747
- "id": "80",
748
- "input": "_root=tesco.com;\n_branch=direct.;\nnamespace1=%branch%numrecord.%root;\nnamespace2=%branch%_%root%.numq.net",
749
- "expected_output": "{\n \"namespace1\": \"direct.numrecord.tesco.com\",\n \"namespace2\": \"direct._tesco.com.numq.net\"\n}",
750
- "tested_features": [
751
- "object_ref",
752
- "graves"
753
- ],
754
- "minimised_modl": "_root=tesco.com;_branch=direct.;namespace1=%branch%numrecord.%root;namespace2=%branch%_%root%.numq.net"
755
- },
756
- {
757
- "id": "81",
758
- "input": "_branch=\"\";\n_root=\"\";\nnamespace=%branch%numrecord.%root",
759
- "expected_output": "{\n \"namespace\": \"numrecord.\"\n}",
760
- "tested_features": [
761
- "object_ref",
762
- "graves"
763
- ],
764
- "minimised_modl": "_branch=\"\";_root=\"\";namespace=%branch%numrecord.%root"
765
- },
766
- {
767
- "id": "82",
768
- "input": "*class(\n *id=desc;\n *name=description;\n *superclass=str\n);\n\n*class(\n *id=val;\n *name=value;\n *superclass=str\n);\n\n*class(\n *id=media1;\n *name=media1;\n *assign=[\n [desc;val]\n ]\n);\n\n*class(\n *id=media2;\n *name=media2;\n *assign=[\n [desc;val]\n ]\n);\n*class(\n *id=list;\n *name=list;\n *assign[\n [media1;media2]\n ]\n);\n\n\nlist=[tel;fb]:[yt;tw]",
769
- "expected_output": "{\n \"list\": [\n {\n \"description\": \"tel\",\n \"value\": \"fb\"\n },\n {\n \"description\": \"yt\",\n \"value\": \"tw\"\n }\n ]\n}",
770
- "tested_features": [
771
- "class",
772
- "assign"
773
- ],
774
- "minimised_modl": "*class(*id=desc;*name=description;*superclass=str);*class(*id=val;*name=value;*superclass=str);*class(*id=media1;*name=media1;*assign=[[desc;val]]);*class(*id=media2;*name=media2;*assign=[[desc;val]]);*class(*id=list;*name=list;*assign[[media1;media2]]);list=[tel;fb]:[yt;tw]"
775
- },
776
- {
777
- "id": "83",
778
- "input": "*CLASS(\n *id=p;\n *name=person;\n *SUPERCLASS=map\n);\n\np(name=John Smith;dob=01/01/2000)",
779
- "expected_output": "{\n \"person\": {\n \"name\": \"John Smith\",\n \"dob\": \"01/01/2000\"\n }\n}",
780
- "tested_features": [
781
- "class"
782
- ],
783
- "minimised_modl": "*C(*i=p;*n=person;*S=map);p(name=John Smith;dob=01/01/2000)"
784
- },
785
- {
786
- "id": "84",
787
- "input": "*c(\n *i=m;\n *n=message;\n *S=map;\n *a=[\n [direction;date_time;message]\n ];\n method=sms\n);\nm=in:2018-03-22:hi",
788
- "expected_output": "{\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22\",\n \"message\": \"hi\",\n \"method\": \"sms\"\n }\n}",
789
- "tested_features": [
790
- "class",
791
- "assign"
792
- ],
793
- "minimised_modl": "*c(*i=m;*n=message;*S=map;*a[[direction;date_time;message]];method=sms);m=in:2018-03-22:hi"
794
- },
795
- {
796
- "id": "85",
797
- "input": "*class(\n *id=car;\n *name=car;\n *superclass=map\n);\n\ncar(\n make=Bentley\n)",
798
- "expected_output": "{\n \"car\": {\n \"make\": \"Bentley\"\n }\n}",
799
- "tested_features": [
800
- "class"
801
- ],
802
- "minimised_modl": "*c(*i=car;*n=car;*s=map);car(make=Bentley)"
803
- },
804
- {
805
- "id": "86",
806
- "input": "?=[one;two];\ntest=Blah %0.s %1.s",
807
- "expected_output": "{\n \"test\": \"Blah One Two\"\n}",
808
- "tested_features": [
809
- "object_ref",
810
- "graves",
811
- "string_method"
812
- ],
813
- "minimised_modl": "?=one:two;test=Blah %0.s %1.s"
814
- },
815
- {
816
- "id": "87",
817
- "input": "?=one:two;\ntest=Blah %0.r<o,huzzah> %1.t<w>",
818
- "expected_output": "{\n \"test\": \"Blah huzzahne t\"\n}",
819
- "tested_features": [
820
- "object_ref",
821
- "graves",
822
- "string_method"
823
- ],
824
- "minimised_modl": "?=one:two;test=Blah %0.r<o,huzzah> %1.t<w>"
825
- },
826
- {
827
- "id": "88",
828
- "input": "_test=\"123\";\nobject(\n print_test = %test%.test\n)",
829
- "expected_output": "{\n \"object\": {\n \"print_test\": \"123.test\"\n }\n}",
830
- "tested_features": [
831
- "object_ref"
832
- ],
833
- "minimised_modl": "_test=\"123\";object(print_test=%test%.test)"
834
- },
835
- {
836
- "id": "89",
837
- "input": "_var = NotThisOne;\n_var=%var%blah;\nout=%var%deblah",
838
- "expected_output": "{\n \"out\": \"NotThisOneblahdeblah\"\n}",
839
- "tested_features": [
840
- "object_ref"
841
- ],
842
- "minimised_modl": "_var = NotThisOne;_var=%var%blah;out=%var%deblah"
843
- },
844
- {
845
- "id": "90",
846
- "input": "_var = NotThisOne;\n_var=blah;\nout=%var%deblah",
847
- "expected_output": "{\n \"out\": \"blahdeblah\"\n}",
848
- "tested_features": [
849
- "object_ref"
850
- ],
851
- "minimised_modl": "_var = NotThisOne;_var=blah;out=%var%deblah"
852
- },
853
- {
854
- "id": "91",
855
- "input": "test(\n map(\n array[]\n );\n array[\n map();\n array[1;2;3]\n ]\n)",
856
- "expected_output": "{\n \"test\": {\n \"map\": {\n \"array\": []\n },\n \"array\": [\n {\n \"map\": {}\n },\n {\n \"array\": [\n 1,\n 2,\n 3\n ]\n }\n ]\n }\n}",
857
- "tested_features": [
858
- "array",
859
- "map"
860
- ],
861
- "minimised_modl": "test(map(array[]);array[map();array=1:2:3])"
862
- },
863
- {
864
- "id": "92",
865
- "input": "{\n01?\n test=1\n}",
866
- "expected_output": "{\n \"test\": 1\n}",
867
- "tested_features": [
868
- "conditional",
869
- "pair"
870
- ],
871
- "minimised_modl": "{01?test=1}"
872
- },
873
- {
874
- "id": "93",
875
- "input": "test=()",
876
- "expected_output": "{\n \"test\": {}\n}",
877
- "tested_features": [
878
- "map"
879
- ],
880
- "minimised_modl": "test()"
881
- },
882
- {
883
- "id": "94",
884
- "input": "_co=at;\n_l=de;\n{\n co=at?\n country=Austria\n language={\n l=fr?\n French\n /l=de?\n German\n /?\n Other\n }\n /?\n country=Other\n}",
885
- "expected_output": "{\n \"country\": \"Austria\",\n \"language\": \"German\"\n}",
886
- "tested_features": [
887
- "conditional"
888
- ],
889
- "minimised_modl": "_co=at;_l=de;{co=at?country=Austria;language={l=fr?French/l=de?German/?Other}/?country=Other}"
890
- },
891
- {
892
- "id": "95",
893
- "input": "true2 = 01;\ntrue1 = true;\nfalse2 = 00;\nfalse1 = false;\nnull2 = 000;\nnull1 = null",
894
- "expected_output": "{\n \"true2\": true,\n \"true1\": true,\n \"false2\": false,\n \"false1\": false,\n \"null2\": null,\n \"null1\": null\n}",
895
- "tested_features": [
896
- "bool",
897
- "map",
898
- "null"
899
- ],
900
- "minimised_modl": "true2=01;true1=01;false2=00;false1=00;null2=000;null1=000"
901
- },
902
- {
903
- "id": "96",
904
- "input": "_person( \n name(\n first=John;\n last=Smith\n )\n);\nsay=%person.name.first",
905
- "expected_output": "{\n \"say\": \"John\"\n}",
906
- "tested_features": [
907
- "object_ref"
908
- ],
909
- "minimised_modl": "_person(name(first=John;last=Smith));say=%person.name.first"
910
- },
911
- {
912
- "id": "97",
913
- "input": "DELETED",
914
- "expected_output": "DELETED",
915
- "tested_features": [
916
- "DELETED"
917
- ],
918
- "minimised_modl": "DELETED"
919
- },
920
- {
921
- "id": "98",
922
- "input": "_C=gb;\n_COUNTRIES(\n us=United States;\n gb=United Kingdom;\n de=Germany\n);\n\ncountry_name = %COUNTRIES.%C",
923
- "expected_output": "{\n \"country_name\": \"United Kingdom\"\n}",
924
- "tested_features": [
925
- "object_ref"
926
- ],
927
- "minimised_modl": "_C=gb;_COUNTRIES(us=United States;gb=United Kingdom;de=Germany);country_name=%COUNTRIES.%C"
928
- },
929
- {
930
- "id": "99",
931
- "input": "*class(\n *id=car;\n *name=car;\n *superclass=map;\n *assign=[\n [m];\n [m;md]\n ]\n);\n\n_C=gb;\n\ncar=Bentley:{C=ru?ContinentalRussia GT/?Continental GT}",
932
- "expected_output": "{\n \"car\": {\n \"m\": \"Bentley\",\n \"md\": \"Continental GT\"\n }\n}",
933
- "tested_features": [
934
- "object_ref",
935
- "class",
936
- "assign",
937
- "conditional"
938
- ],
939
- "minimised_modl": "*c(*i=car;*n=car;*s=map;*a=[m]:[m;md]);_C=gb;car=Bentley:{C=ru?ContinentalRussia GT/?Continental GT}"
940
- },
941
- {
942
- "id": "100",
943
- "input": "_person( \n name(\n first=\"John\"\n )\n);\na=%person.name.first",
944
- "expected_output": "{\n \"a\": \"John\"\n}",
945
- "tested_features": [
946
- "object_ref"
947
- ],
948
- "minimised_modl": "_person(name(first=John));a=%person.name.first"
949
- },
950
- {
951
- "id": "101",
952
- "input": "?=[a;b;c;d]:[1;2;3;4;5];\ntest=%1",
953
- "expected_output": "{\n \"test\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ]\n}",
954
- "tested_features": [
955
- "object_ref"
956
- ],
957
- "minimised_modl": "?=[a;b;c;d]:[1;2;3;4;5];test=%1"
958
- },
959
- {
960
- "id": "102",
961
- "input": "_test=123;\nprint=%_test",
962
- "expected_output": "{\n \"print\": 123\n}",
963
- "tested_features": [
964
- "object_ref"
965
- ],
966
- "minimised_modl": "_test=123;print=%_test"
967
- },
968
- {
969
- "id": "103",
970
- "input": "_test=abc;\n\n{\n test?\n result=test is defined\n /?\n result=test is not defined\n}",
971
- "expected_output": "{\n \"result\": \"test is defined\"\n}",
972
- "tested_features": [
973
- "object_ref",
974
- "conditional"
975
- ],
976
- "minimised_modl": "_test=abc;{test?result=test is defined/?result=test is not defined}"
977
- },
978
- {
979
- "id": "104",
980
- "input": "{\n true?\n result=true\n}\n",
981
- "expected_output": "{\n \"result\": true\n}",
982
- "tested_features": [
983
- "conditional"
984
- ],
985
- "minimised_modl": "{01?result=01}"
986
- },
987
- {
988
- "id": "105",
989
- "input": "_test=true;\n\n{\n test?\n result=%test\n}\n",
990
- "expected_output": "{\n \"result\": true\n}",
991
- "tested_features": [
992
- "object_ref",
993
- "conditional"
994
- ],
995
- "minimised_modl": "_test=01;{test?result=%test}"
996
- },
997
- {
998
- "id": "106",
999
- "input": "_test=false;\n\n{\n test?\n result=result is true\n /?\n result=result is false\n}",
1000
- "expected_output": "{\n \"result\": \"result is false\"\n}",
1001
- "tested_features": [
1002
- "object_ref",
1003
- "conditional"
1004
- ],
1005
- "minimised_modl": "_test=00;{test?result=result is true/?result=result is false}"
1006
- },
1007
- {
1008
- "id": "107",
1009
- "input": "{\n test?\n result=test is defined\n /?\n result=test is not defined\n}\n",
1010
- "expected_output": "{\n \"result\": \"test is not defined\"\n}",
1011
- "tested_features": [
1012
- "conditional"
1013
- ],
1014
- "minimised_modl": "{test?result=test is defined/?result=test is not defined}"
1015
- },
1016
- {
1017
- "id": "108",
1018
- "input": "{\n !test?\n result=test is not defined\n /?\n result=test is defined\n}\n",
1019
- "expected_output": "{\n \"result\": \"test is not defined\"\n}",
1020
- "tested_features": [
1021
- "conditional"
1022
- ],
1023
- "minimised_modl": "{!test?result=test is not defined/?result=test is defined}"
1024
- },
1025
- {
1026
- "id": "109",
1027
- "input": "_colour = green;\n_test = { colour=green? true /? false }; \n\n{\n !test?\n result=it's not green\n /?\n result=it's green\n}",
1028
- "expected_output": "{\n \"result\": \"it's green\"\n}",
1029
- "tested_features": [
1030
- "object_ref",
1031
- "conditional"
1032
- ],
1033
- "minimised_modl": "_colour=green;_test={colour=green?01/?00};{!test?result=it's not green/?result=it's green}"
1034
- },
1035
- {
1036
- "id": "110",
1037
- "input": "_test=1;\nresult={\n %test=1?\n yes\n /?\n no\n}",
1038
- "expected_output": "{\n \"result\": \"yes\"\n}",
1039
- "tested_features": [
1040
- "conditional",
1041
- "object_ref"
1042
- ],
1043
- "minimised_modl": "_test=1;result={%test=1?yes/?no}"
1044
- },
1045
- {
1046
- "id": "111",
1047
- "input": "_test=1;\nresult={\n test=1?\n yes\n /?\n no\n}",
1048
- "expected_output": "{\n \"result\": \"yes\"\n}",
1049
- "tested_features": [
1050
- "conditional",
1051
- "object_ref"
1052
- ],
1053
- "minimised_modl": "_test=1;result={test=1?yes/?no}"
1054
- },
1055
- {
1056
- "id": "112",
1057
- "input": "_test=1;\nresult={\n _test=1?\n yes\n /?\n no\n}",
1058
- "expected_output": "{\n \"result\": \"yes\"\n}",
1059
- "tested_features": [
1060
- "conditional",
1061
- "object_ref"
1062
- ],
1063
- "minimised_modl": "_test=1;result={_test=1?yes/?no}"
1064
- },
1065
- {
1066
- "id": "113",
1067
- "input": "_test=1;\nresult={\n %_test=1?\n yes\n /?\n no\n}",
1068
- "expected_output": "{\n \"result\": \"yes\"\n}",
1069
- "tested_features": [
1070
- "conditional",
1071
- "object_ref"
1072
- ],
1073
- "minimised_modl": "_test=1;result={%_test=1?yes/?no}"
1074
- },
1075
- {
1076
- "id": "114",
1077
- "input": "?[[a;b;c];[one;two;three]];letters=%0;numbers=%1",
1078
- "expected_output": "{\n \"letters\": [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"numbers\": [\n \"one\",\n \"two\",\n \"three\"\n ]\n}",
1079
- "tested_features": [
1080
- "object_ref"
1081
- ],
1082
- "minimised_modl": "?=[a;b;c]:[one;two;three];letters=%0;numbers=%1"
1083
- },
1084
- {
1085
- "id": "115",
1086
- "input": "?=[a;b;c]:[one;two;three];letters=%0;numbers=%1",
1087
- "expected_output": "{\n \"letters\": [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"numbers\": [\n \"one\",\n \"two\",\n \"three\"\n ]\n}",
1088
- "tested_features": [
1089
- "object_ref"
1090
- ],
1091
- "minimised_modl": "?=[a;b;c]:[one;two;three];letters=%0;numbers=%1"
1092
- },
1093
- {
1094
- "id": "116",
1095
- "input": "?[a;b;c];letters=%0",
1096
- "expected_output": "{\n \"letters\": \"a\"\n}",
1097
- "tested_features": [
1098
- "object_ref"
1099
- ],
1100
- "minimised_modl": "?=a:b:c;letters=%0"
1101
- },
1102
- {
1103
- "id": "117",
1104
- "input": "DELETED",
1105
- "expected_output": "DELETED",
1106
- "tested_features": [
1107
- "DELETED"
1108
- ],
1109
- "minimised_modl": "DELETED"
1110
- },
1111
- {
1112
- "id": "118",
1113
- "input": "test=[zero;one]:[a;b]",
1114
- "expected_output": "{\n \"test\": [\n [\n \"zero\",\n \"one\"\n ],\n [\n \"a\",\n \"b\"\n ]\n ]\n}",
1115
- "tested_features": [
1116
- "map",
1117
- "array"
1118
- ],
1119
- "minimised_modl": "test=[zero;one]:[a;b]"
1120
- },
1121
- {
1122
- "id": "119",
1123
- "input": "DELETED",
1124
- "expected_output": "DELETED",
1125
- "tested_features": [
1126
- "DELETED"
1127
- ],
1128
- "minimised_modl": "DELETED"
1129
- },
1130
- {
1131
- "id": "120",
1132
- "input": "?[zero;one;two];\nfirst_var=%0;\nsecond_var=%1;\nthird_var=%2",
1133
- "expected_output": "{\n \"first_var\": \"zero\",\n \"second_var\": \"one\",\n \"third_var\": \"two\"\n}",
1134
- "tested_features": [
1135
- "object_ref"
1136
- ],
1137
- "minimised_modl": "?=zero:one:two;first_var=%0;second_var=%1;third_var=%2"
1138
- },
1139
- {
1140
- "id": "121",
1141
- "input": "_C=gb;\no(\n{C=gb?test1=123};\ntest2=456\n)",
1142
- "expected_output": "{\n \"o\": {\n \"test1\": 123,\n \"test2\": 456\n }\n}",
1143
- "tested_features": [
1144
- "object_ref",
1145
- "conditional"
1146
- ],
1147
- "minimised_modl": "_C=gb;o({C=gb?test1=123};test2=456)"
1148
- },
1149
- {
1150
- "id": "122",
1151
- "input": "{\ntrue?\n test=1\n}",
1152
- "expected_output": "{\n \"test\": 1\n}",
1153
- "tested_features": [
1154
- "conditional"
1155
- ],
1156
- "minimised_modl": "{01?test=1}"
1157
- },
1158
- {
1159
- "id": "123",
1160
- "input": "_test[a;b;c];alex=%test",
1161
- "expected_output": "{\n \"alex\": [\n \"a\",\n \"b\",\n \"c\"\n ]\n}",
1162
- "tested_features": [
1163
- "object_ref"
1164
- ],
1165
- "minimised_modl": "_test=a:b:c;alex=%test"
1166
- },
1167
- {
1168
- "id": "124",
1169
- "input": "_test[a;b;c];alex=%test.0",
1170
- "expected_output": "{\n \"alex\": \"a\"\n}",
1171
- "tested_features": [
1172
- "object_ref"
1173
- ],
1174
- "minimised_modl": "_test=a:b:c;alex=%test.0"
1175
- },
1176
- {
1177
- "id": "125",
1178
- "input": "?[a;b;c];alex=%0",
1179
- "expected_output": "{\n \"alex\": \"a\"\n}",
1180
- "tested_features": [
1181
- "object_ref"
1182
- ],
1183
- "minimised_modl": "?=a:b:c;alex=%0"
1184
- },
1185
- {
1186
- "id": "126",
1187
- "input": "_bool=true;\n{\n%bool?\n test=1\n}",
1188
- "expected_output": "{\n \"test\": 1\n}",
1189
- "tested_features": [
1190
- "object_ref",
1191
- "conditional"
1192
- ],
1193
- "minimised_modl": "_bool=01;{%bool?test=1}"
1194
- },
1195
- {
1196
- "id": "127",
1197
- "input": "_co = gb;\ntest = {\n co = gb?\n UK\n /?\n Other\n}",
1198
- "expected_output": "{\n \"test\": \"UK\"\n}",
1199
- "tested_features": [
1200
- "object_ref",
1201
- "conditional"
1202
- ],
1203
- "minimised_modl": "_co=gb;test={co=gb?UK/?Other}"
1204
- },
1205
- {
1206
- "id": "128",
1207
- "input": "?=0:1:2;\nresult={\n%1>1?\n yes\n/?\n no\n}",
1208
- "expected_output": "{\n \"result\": \"no\"\n}",
1209
- "tested_features": [
1210
- "object_ref",
1211
- "conditional"
1212
- ],
1213
- "minimised_modl": "?=0:1:2;result={%1>1?yes/?no}"
1214
- },
1215
- {
1216
- "id": "129",
1217
- "input": "_test_vars(\n one = 1;\n two = 2\n);\n\nfirst_number = %test_vars.one",
1218
- "expected_output": "{\n \"first_number\": 1\n}",
1219
- "tested_features": [
1220
- "object_ref",
1221
- "conditional"
1222
- ],
1223
- "minimised_modl": "_test_vars(one=1;two=2);first_number=%test_vars.one"
1224
- },
1225
- {
1226
- "id": "130",
1227
- "input": "_C=gb;\n_COUNTRIES[\n United States;\n United Kingdom;\n Germany\n];\n\ncountry_name = %COUNTRIES.0",
1228
- "expected_output": "{\n \"country_name\": \"United States\"\n}",
1229
- "tested_features": [
1230
- "object_ref",
1231
- "conditional"
1232
- ],
1233
- "minimised_modl": "_C=gb;_COUNTRIES=United States:United Kingdom:Germany;country_name=%COUNTRIES.0"
1234
- },
1235
- {
1236
- "id": "131",
1237
- "input": "(_C=gb;\n{C=gb?test1=123};\ntest2=456)",
1238
- "expected_output": "{\n \"test1\": 123,\n \"test2\": 456\n}",
1239
- "tested_features": [
1240
- "object_ref",
1241
- "conditional"
1242
- ],
1243
- "minimised_modl": "(_C=gb;{C=gb?test1=123};test2=456)"
1244
- },
1245
- {
1246
- "id": "132",
1247
- "input": "alex=1.2345",
1248
- "expected_output": "{\n \"alex\": 1.2345\n}",
1249
- "tested_features": [
1250
- "pair"
1251
- ],
1252
- "minimised_modl": "alex=1.2345"
1253
- },
1254
- {
1255
- "id": "133",
1256
- "input": "?=zero:one:two;\ndiscount=%30",
1257
- "expected_output": "{\n \"discount\": \"%30\"\n}",
1258
- "tested_features": [
1259
- "object_ref"
1260
- ],
1261
- "minimised_modl": "?=zero:one:two;discount=%30"
1262
- },
1263
- {
1264
- "id": "134",
1265
- "input": "DELETED",
1266
- "expected_output": "DELETED",
1267
- "tested_features": [
1268
- "DELETED"
1269
- ],
1270
- "minimised_modl": "DELETED"
1271
- },
1272
- {
1273
- "id": "135",
1274
- "input": "{\nTRUE?\n test=1\n}",
1275
- "expected_output": "{\n \"test\": 1\n}",
1276
- "tested_features": [
1277
- "conditional"
1278
- ],
1279
- "minimised_modl": "{01?test=1}"
1280
- },
1281
- {
1282
- "id": "136",
1283
- "input": "_test=abcdefg;\nresult={\n {test!=a*}?\n in\n /?\n out\n}",
1284
- "expected_output": "{\n \"result\": \"out\"\n}",
1285
- "tested_features": [
1286
- "object_ref",
1287
- "conditional"
1288
- ],
1289
- "minimised_modl": "_test=abcdefg;result={{test!=a*}?in/?out}"
1290
- },
1291
- {
1292
- "id": "137",
1293
- "input": "test=[]",
1294
- "expected_output": "{\n \"test\": []\n}",
1295
- "tested_features": [
1296
- "pair",
1297
- "array"
1298
- ],
1299
- "minimised_modl": "test[]"
1300
- },
1301
- {
1302
- "id": "138",
1303
- "input": "test(\n empty_array=[];\n empty_map=()\n)\n",
1304
- "expected_output": "{\n \"test\": {\n \"empty_array\": [],\n \"empty_map\": {}\n }\n}",
1305
- "tested_features": [
1306
- "map",
1307
- "array"
1308
- ],
1309
- "minimised_modl": "test(empty_array[];empty_map())"
1310
- },
1311
- {
1312
- "id": "139",
1313
- "input": "_num1 = 2;\n_num2 = 1000;\n\nresult={\n num1>num2?\n num1 is bigger\n /?\n num1 is not bigger\n}\n",
1314
- "expected_output": "{\n \"result\": \"num1 is not bigger\"\n}",
1315
- "tested_features": [
1316
- "object_ref",
1317
- "conditional"
1318
- ],
1319
- "minimised_modl": "_num1=2;_num2=1000;result={num1>num2?num1 is bigger/?num1 is not bigger}"
1320
- },
1321
- {
1322
- "id": "140",
1323
- "input": "?=0:1:2;\nzero=%0;\none=%1;\ntwo=%2",
1324
- "expected_output": "{\n \"zero\": 0,\n \"one\": 1,\n \"two\": 2\n}",
1325
- "tested_features": [
1326
- "object_ref"
1327
- ],
1328
- "minimised_modl": "?=0:1:2;zero=%0;one=%1;two=%2"
1329
- },
1330
- {
1331
- "id": "141",
1332
- "input": "?=a:b:c;\nzero=%0;\none=%1;\ntwo=%2\n",
1333
- "expected_output": "{\n \"zero\": \"a\",\n \"one\": \"b\",\n \"two\": \"c\"\n}",
1334
- "tested_features": [
1335
- "object_ref"
1336
- ],
1337
- "minimised_modl": "?=a:b:c;zero=%0;one=%1;two=%2"
1338
- },
1339
- {
1340
- "id": "142",
1341
- "input": "_num1 = 5;\n_num2 = 2;\n\nresult={\n num1>num2?\n num1 is bigger\n /?\n num1 is not bigger\n}",
1342
- "expected_output": "{\n \"result\": \"num1 is bigger\"\n}",
1343
- "tested_features": [
1344
- "object_ref",
1345
- "conditional"
1346
- ],
1347
- "minimised_modl": "_num1=5;_num2=2;result={num1>num2?num1 is bigger/?num1 is not bigger}"
1348
- },
1349
- {
1350
- "id": "143",
1351
- "input": "?=\"A\":B:C;\nfirst_letter=%0",
1352
- "expected_output": "{\n \"first_letter\": \"A\"\n}",
1353
- "tested_features": [
1354
- "object_ref"
1355
- ],
1356
- "minimised_modl": "?=A:B:C;first_letter=%0"
1357
- },
1358
- {
1359
- "id": "144",
1360
- "input": "test=100%",
1361
- "expected_output": "{\n \"test\": \"100%\"\n}",
1362
- "tested_features": [
1363
- "pair"
1364
- ],
1365
- "minimised_modl": "test=100%"
1366
- },
1367
- {
1368
- "id": "145",
1369
- "input": "test=`test`",
1370
- "expected_output": "{\n \"test\": \"test\"\n}",
1371
- "tested_features": [
1372
- "pair",
1373
- "graves"
1374
- ],
1375
- "minimised_modl": "test=`test`"
1376
- },
1377
- {
1378
- "id": "146",
1379
- "input": "test=!",
1380
- "expected_output": "{\n \"test\": \"!\"\n}",
1381
- "tested_features": [
1382
- "pair"
1383
- ],
1384
- "minimised_modl": "test=!"
1385
- },
1386
- {
1387
- "id": "147",
1388
- "input": "test=[zero;one]",
1389
- "expected_output": "{\n \"test\": [\n \"zero\",\n \"one\"\n ]\n}",
1390
- "tested_features": [
1391
- "pair",
1392
- "array"
1393
- ],
1394
- "minimised_modl": "test=zero:one"
1395
- },
1396
- {
1397
- "id": "148",
1398
- "input": "_C=fr;\n{C=gb?test1=123};\ntest2=456",
1399
- "expected_output": "{\n \"test2\": 456\n}",
1400
- "tested_features": [
1401
- "object_ref",
1402
- "conditional"
1403
- ],
1404
- "minimised_modl": "_C=fr;{C=gb?test1=123};test2=456"
1405
- },
1406
- {
1407
- "id": "149",
1408
- "input": "_C=ca;\n_L=en;\n{\n C=ca?\n n=Tesco Canada\n {L=fr?\n s=Chaque Petite Contribution\n }\n}",
1409
- "expected_output": "{\n \"n\": \"Tesco Canada\"\n}",
1410
- "tested_features": [
1411
- "object_ref",
1412
- "conditional"
1413
- ],
1414
- "minimised_modl": "_C=ca;_L=en;{C=ca?n=Tesco Canada;{L=fr?s=Chaque Petite Contribution}}"
1415
- },
1416
- {
1417
- "id": "150",
1418
- "input": "_L=en;\n{\n C=ca?\n o(\n n=Tesco Canada;\n s={L=fr?\n Chaque Petite Contribution\n /?\n Every Little Helps\n }\n )\n}",
1419
- "expected_output": "null",
1420
- "tested_features": [
1421
- "object_ref",
1422
- "conditional",
1423
- "null"
1424
- ],
1425
- "minimised_modl": "_L=en;{C=ca?o(n=Tesco Canada;s={L=fr?Chaque Petite Contribution/?Every Little Helps})}"
1426
- },
1427
- {
1428
- "id": "151",
1429
- "input": "_letter=a;\n{\n letter=a?\n word=Apple\n /letter=b?\n word=Bee\n /?\n word=Other\n}",
1430
- "expected_output": "{\n \"word\": \"Apple\"\n}",
1431
- "tested_features": [
1432
- "object_ref",
1433
- "conditional"
1434
- ],
1435
- "minimised_modl": "_letter=a;{letter=a?word=Apple/letter=b?word=Bee/?word=Other}"
1436
- },
1437
- {
1438
- "id": "152",
1439
- "input": "_int=1;\n{\n int=1?\n number=one\n /int=2?\n number=two\n /int=3?\n number=three\n /?\n number=other\n}",
1440
- "expected_output": "{\n \"number\": \"one\"\n}",
1441
- "tested_features": [
1442
- "object_ref",
1443
- "conditional"
1444
- ],
1445
- "minimised_modl": "_int=1;{int=1?number=one/int=2?number=two/int=3?number=three/?number=other}"
1446
- },
1447
- {
1448
- "id": "153",
1449
- "input": "_number=one;\n{\n number=one?\n int=1\n /number=two?\n int=2\n /number=three?\n int=3\n}",
1450
- "expected_output": "{\n \"int\": 1\n}",
1451
- "tested_features": [
1452
- "object_ref",
1453
- "conditional"
1454
- ],
1455
- "minimised_modl": "_number=one;{number=one?int=1/number=two?int=2/number=three?int=3}"
1456
- },
1457
- {
1458
- "id": "154",
1459
- "input": "_co=gb;\n{\nco=gb?\n country = United Kingdom\n/?\n country = Other\n}",
1460
- "expected_output": "{\n \"country\": \"United Kingdom\"\n}",
1461
- "tested_features": [
1462
- "object_ref",
1463
- "conditional"
1464
- ],
1465
- "minimised_modl": "_co=gb;{co=gb?country=United Kingdom/?country=Other}"
1466
- },
1467
- {
1468
- "id": "155",
1469
- "input": "DELETED",
1470
- "expected_output": "DELETED",
1471
- "tested_features": [
1472
- "DELETED"
1473
- ],
1474
- "minimised_modl": "DELETED"
1475
- },
1476
- {
1477
- "id": "156",
1478
- "input": "_co = gb;\ntest = {\n co = gb?\n test=123\n /?\n test\n}",
1479
- "expected_output": "{\n \"test\": {\n \"test\": 123\n }\n}",
1480
- "tested_features": [
1481
- "object_ref",
1482
- "conditional"
1483
- ],
1484
- "minimised_modl": "_co=gb;test={co=gb?test=123/?test}"
1485
- },
1486
- {
1487
- "id": "157",
1488
- "input": "_co = fr;\ntest = {\n co = gb?\n test=123\n /?\n test\n}",
1489
- "expected_output": "{\n \"test\": \"test\"\n}",
1490
- "tested_features": [
1491
- "object_ref",
1492
- "conditional"
1493
- ],
1494
- "minimised_modl": "_co=fr;test={co=gb?test=123/?test}"
1495
- },
1496
- {
1497
- "id": "158",
1498
- "input": "_COUNTRY=gb;\ncountry=The country is %COUNTRY",
1499
- "expected_output": "{\n \"country\": \"The country is gb\"\n}",
1500
- "tested_features": [
1501
- "object_ref"
1502
- ],
1503
- "minimised_modl": "_COUNTRY=gb;country=The country is %COUNTRY"
1504
- },
1505
- {
1506
- "id": "159",
1507
- "input": "COUNTRY=gb;\ncountry=The country is %COUNTRY",
1508
- "expected_output": "{\n \"COUNTRY\": \"gb\",\n \"country\": \"The country is gb\"\n}",
1509
- "tested_features": [
1510
- "object_ref"
1511
- ],
1512
- "minimised_modl": "COUNTRY=gb;country=The country is %COUNTRY"
1513
- },
1514
- {
1515
- "id": "160",
1516
- "input": "_co=gb;\ncountry=The country is %co",
1517
- "expected_output": "{\n \"country\": \"The country is gb\"\n}",
1518
- "tested_features": [
1519
- "object_ref"
1520
- ],
1521
- "minimised_modl": "_co=gb;country=The country is %co"
1522
- },
1523
- {
1524
- "id": "161",
1525
- "input": "_test = 123;\n_test2 = abc",
1526
- "expected_output": "null",
1527
- "tested_features": [
1528
- "object_ref",
1529
- "null"
1530
- ],
1531
- "minimised_modl": "_test=123;_test2=abc"
1532
- },
1533
- {
1534
- "id": "162",
1535
- "input": "_co=gb;\ntest=123",
1536
- "expected_output": "{\n \"test\": 123\n}",
1537
- "tested_features": [
1538
- "object_ref"
1539
- ],
1540
- "minimised_modl": "_co=gb;test=123"
1541
- },
1542
- {
1543
- "id": "163",
1544
- "input": "*method(\n *id=cn;\n *name=company_name;\n *transform=replace<-, >.trim<.>.initcap\n);\n\n_domain = smiths-limited.com;\nfriendly_name = %domain.cn",
1545
- "expected_output": "{\n \"friendly_name\": \"Smiths Limited\"\n}",
1546
- "tested_features": [
1547
- "method"
1548
- ],
1549
- "minimised_modl": "*method( *id=cn;*name=company_name;*transform=replace<-, >.trim<.>.initcap);_domain = smiths-limited.com;friendly_name = %domain.cn"
1550
- },
1551
- {
1552
- "id": "164",
1553
- "input": "*method(\n *id=rt;\n *name=remove_two;\n *transform=replace<two,>\n);\n\n_numbers = one two three;\nname = %numbers.rt",
1554
- "expected_output": "{\n \"name\": \"one three\"\n}",
1555
- "tested_features": [
1556
- "method"
1557
- ],
1558
- "minimised_modl": "*m(*i=rt;*n=remove_two;*transform=replace<two,>);_numbers=one two three;name=%numbers.rt"
1559
- },
1560
- {
1561
- "id": "165",
1562
- "input": "_co=ca;\n_l=fr;\n{\n { co = ca & l = fr } | co = fr?\n support_number=14161234567\n /?\n support_number=441270123456\n}",
1563
- "expected_output": "{\n \"support_number\": 14161234567\n}",
1564
- "tested_features": [
1565
- "object_ref",
1566
- "conditional"
1567
- ],
1568
- "minimised_modl": "_co=ca;_l=fr;{{co=ca&l=fr}|co=fr?support_number=14161234567/?support_number=441270123456}"
1569
- },
1570
- {
1571
- "id": "166",
1572
- "input": "_input=\"hi apple ios\";\n{\n {input=*apple*ios*}?\n support_number=441270123456\n /?\n support_number=International Clients:14161234567\n}",
1573
- "expected_output": "{\n \"support_number\": 441270123456\n}",
1574
- "tested_features": [
1575
- "object_ref",
1576
- "conditional"
1577
- ],
1578
- "minimised_modl": "_input=hi apple ios;{{input=*apple*ios*}?support_number=441270123456/?support_number=International Clients:14161234567}"
1579
- },
1580
- {
1581
- "id": "167",
1582
- "input": "_input=\"An iOS string\";\n{\n {input=*iOS*}?\n support_number=441270123456\n /?\n support_number=International Clients:14161234567\n}",
1583
- "expected_output": "{\n \"support_number\": 441270123456\n}",
1584
- "tested_features": [
1585
- "undefined"
1586
- ],
1587
- "minimised_modl": "_input=An iOS string;{{input=*iOS*}?support_number=441270123456/?support_number=International Clients:14161234567}"
1588
- },
1589
- {
1590
- "id": "168",
1591
- "input": "_input=\"An iOS string\";\n{\n !{input=iOS*}?\n support_number=441270123456\n /?\n support_number=International Clients:14161234567\n}",
1592
- "expected_output": "{\n \"support_number\": 441270123456\n}",
1593
- "tested_features": [
1594
- "object_ref",
1595
- "conditional"
1596
- ],
1597
- "minimised_modl": "_input=An iOS string;{!{input=iOS*}?support_number=441270123456/?support_number=International Clients:14161234567}"
1598
- },
1599
- {
1600
- "id": "169",
1601
- "input": "_number=42;\n{\n {number>41}?\n support_number=441270123456\n /?\n support_number=International Clients:14161234567\n}",
1602
- "expected_output": "{\n \"support_number\": 441270123456\n}",
1603
- "tested_features": [
1604
- "object_ref",
1605
- "conditional"
1606
- ],
1607
- "minimised_modl": "_number=42;{{number>41}?support_number=441270123456/?support_number=International Clients:14161234567}"
1608
- },
1609
- {
1610
- "id": "170",
1611
- "input": "_co=ca;\n{\n co = fr?\n support_number=14161234567\n /?\n support_number=441270123456\n}",
1612
- "expected_output": "{\n \"support_number\": 441270123456\n}",
1613
- "tested_features": [
1614
- "object_ref",
1615
- "conditional"
1616
- ],
1617
- "minimised_modl": "_co=ca;{co=fr?support_number=14161234567/?support_number=441270123456}"
1618
- },
1619
- {
1620
- "id": "171",
1621
- "input": "_country=gb;\n{\n country=us/gb/au?\n support_number=441270123456\n /?\n support_number=International Clients:14161234567\n}",
1622
- "expected_output": "{\n \"support_number\": 441270123456\n}",
1623
- "tested_features": [
1624
- "object_ref",
1625
- "conditional"
1626
- ],
1627
- "minimised_modl": "_country=gb;{country=us/gb/au?support_number=441270123456/?support_number=International Clients:14161234567}"
1628
- },
1629
- {
1630
- "id": "172",
1631
- "input": "_test=gb;\nresult={test=gb/au?No/?Yes}",
1632
- "expected_output": "{\n \"result\": \"No\"\n}",
1633
- "tested_features": [
1634
- "object_ref",
1635
- "conditional"
1636
- ],
1637
- "minimised_modl": "_test=gb;result={test=gb/au?No/?Yes}"
1638
- },
1639
- {
1640
- "id": "173",
1641
- "input": "_number=42;\n{\n !{number>41}?\n support_number=441270123456\n /?\n support_number=International Clients:14161234567\n}",
1642
- "expected_output": "{\n \"support_number\": [\n \"International Clients\",\n 14161234567\n ]\n}",
1643
- "tested_features": [
1644
- "object_ref",
1645
- "conditional"
1646
- ],
1647
- "minimised_modl": "_number=42;{!{number>41}?support_number=441270123456/?support_number=International Clients:14161234567}"
1648
- },
1649
- {
1650
- "id": "174",
1651
- "input": "_country=gb;\n{\n !{country=us/gb/au}?\n support_number=441270123456\n /?\n support_number=International Clients:14161234567\n}",
1652
- "expected_output": "{\n \"support_number\": [\n \"International Clients\",\n 14161234567\n ]\n}",
1653
- "tested_features": [
1654
- "object_ref",
1655
- "conditional"
1656
- ],
1657
- "minimised_modl": "_country=gb;{!{country=us/gb/au}?support_number=441270123456/?support_number=International Clients:14161234567}"
1658
- },
1659
- {
1660
- "id": "175",
1661
- "input": "*L=\"https://www.modl.uk/tests/message-thread.txt\";\n[\nm=out:2018-03-22 15\\:25:Hi;\nm=in:2018-03-22 15\\:26:Hello, how are you?;\nm=out:2018-03-22 15\\:25:Hi, good thanks;\nm=out:2018-03-22 15\\:26:How about you?;\nm=in:2018-03-22 15\\:26:Yes, fine thanks. What are you up to?;\nm=out:2018-03-22 15\\:25:Just testing out MODL;\nm=in:2018-03-22 15\\:26:Cool!\n]",
1662
- "expected_output": "[\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Hi\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Hello, how are you?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Hi, good thanks\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"How about you?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Yes, fine thanks. What are you up to?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Just testing out MODL\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Cool!\",\n \"method\": \"sms\"\n }\n }\n]",
1663
- "tested_features": [
1664
- "load"
1665
- ],
1666
- "minimised_modl": "*L=\"https://www.modl.uk/demo/message-thread.txt\";[m=out:2018-03-22 15~:25:Hi;m=in:2018-03-22 15~:26:Hello, how are you?;m=out:2018-03-22 15~:25:Hi, good thanks;m=out:2018-03-22 15~:26:How about you?;m=in:2018-03-22 15~:26:Yes, fine thanks. What are you up to?;m=out:2018-03-22 15~:25:Just testing out MODL;m=in:2018-03-22 15~:26:Cool!]"
1667
- },
1668
- {
1669
- "id": "176",
1670
- "input": "_var=2;\n*L=\"http://modl.uk/tests/testing.txt!\";\nprint=%update_date\n",
1671
- "expected_output": "{\n \"print\": \"20180921 08:20 2\"\n}",
1672
- "tested_features": [
1673
- "object_ref",
1674
- "load"
1675
- ],
1676
- "minimised_modl": "_var=2;*L=http~://s3-eu-west-1.amazonaws.com/modltestfiles/testing.txt!;print=%update_date"
1677
- },
1678
- {
1679
- "id": "177",
1680
- "input": "_T=grammar_tests/demo;\n*L=%T%_config",
1681
- "expected_output": "null",
1682
- "tested_features": [
1683
- "object_ref",
1684
- "load",
1685
- "null"
1686
- ],
1687
- "minimised_modl": "_T=grammar_tests/demo;*L=%T%_config"
1688
- },
1689
- {
1690
- "id": "178",
1691
- "input": "*l=grammar_tests/1;*L=grammar_tests/1;a=1",
1692
- "expected_output": "{\n \"a\": 1\n}",
1693
- "tested_features": [
1694
- "load"
1695
- ],
1696
- "minimised_modl": "*l=grammar_tests/1;*L=grammar_tests/1;a=1"
1697
- },
1698
- {
1699
- "id": "179",
1700
- "input": "*l=grammar_tests/1;*l=grammar_tests/1;a=1",
1701
- "expected_output": "{\n \"a\": 1\n}",
1702
- "tested_features": [
1703
- "load"
1704
- ],
1705
- "minimised_modl": "*l=grammar_tests/1;*l=grammar_tests/1;a=1"
1706
- },
1707
- {
1708
- "id": "180",
1709
- "input": "*l=grammar_tests/1:grammar_tests/2:grammar_tests/3;\nthe_number=%number",
1710
- "expected_output": "{\n \"the_number\": 3\n}",
1711
- "tested_features": [
1712
- "object_ref",
1713
- "load"
1714
- ],
1715
- "minimised_modl": "*l=grammar_tests/1:grammar_tests/2:grammar_tests/3;the_number=%number"
1716
- },
1717
- {
1718
- "id": "181",
1719
- "input": "*l=grammar_tests/1:grammar_tests/2:grammar_tests/3:grammar_tests/1;\nthe_number=%number",
1720
- "expected_output": "{\n \"the_number\": 1\n}",
1721
- "tested_features": [
1722
- "object_ref",
1723
- "load"
1724
- ],
1725
- "minimised_modl": "*l=grammar_tests/1:grammar_tests/2:grammar_tests/3:grammar_tests/1;the_number=%number"
1726
- },
1727
- {
1728
- "id": "182",
1729
- "input": "*l[grammar_tests/1;grammar_tests/2;grammar_tests/3;grammar_tests/1];\nthe_number=%number",
1730
- "expected_output": "{\n \"the_number\": 1\n}",
1731
- "tested_features": [
1732
- "object_ref",
1733
- "load"
1734
- ],
1735
- "minimised_modl": "*l=grammar_tests/1:grammar_tests/2:grammar_tests/3:grammar_tests/1;the_number=%number"
1736
- },
1737
- {
1738
- "id": "183",
1739
- "input": "*l=grammar_tests/a:grammar_tests/b:grammar_tests/c;\nvar=%var",
1740
- "expected_output": "{\n \"var\": \"abc\"\n}",
1741
- "tested_features": [
1742
- "object_ref",
1743
- "load"
1744
- ],
1745
- "minimised_modl": "*l=grammar_tests/a:grammar_tests/b:grammar_tests/c;var=%var"
1746
- },
1747
- {
1748
- "id": "184",
1749
- "input": "*L=grammar_tests/demo_config;\n[\nm=out:2018-03-22 15\\:25:Hi;\nm=in:2018-03-22 15\\:26:Hello, how are you?;\nm=out:2018-03-22 15\\:25:Hi, good thanks;\nm=out:2018-03-22 15\\:26:How about you?;\nm=in:2018-03-22 15\\:26:Yes, fine thanks. What are you up to?;\nm=out:2018-03-22 15\\:25:Just testing out MODL;\nm=in:2018-03-22 15\\:26:Cool!\n]",
1750
- "expected_output": "[\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Hi\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Hello, how are you?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Hi, good thanks\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"How about you?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Yes, fine thanks. What are you up to?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Just testing out MODL\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Cool!\",\n \"method\": \"sms\"\n }\n }\n]",
1751
- "tested_features": [
1752
- "object_ref",
1753
- "load"
1754
- ],
1755
- "minimised_modl": "*L=grammar_tests/demo_config;m=out:2018-03-22 15~:25:Hi;[m=in:2018-03-22 15~:26:Hello, how are you?;m=out:2018-03-22 15~:25:Hi, good thanks;m=out:2018-03-22 15~:26:How about you?;m=in:2018-03-22 15~:26:Yes, fine thanks. What are you up to?;m=out:2018-03-22 15~:25:Just testing out MODL;m=in:2018-03-22 15~:26:Cool!]"
1756
- },
1757
- {
1758
- "id": "185",
1759
- "input": "## country\n_c = us;\n## language\n_l = en;\n\n*L=grammar_tests/import_config.modl;\n\ncountry = %c;\nlanguage = %l;\ntime_zone = %tz",
1760
- "expected_output": "{\n \"country\": \"us\",\n \"language\": \"en\",\n \"time_zone\": \"EST\"\n}",
1761
- "tested_features": [
1762
- "object_ref",
1763
- "load",
1764
- "comments"
1765
- ],
1766
- "minimised_modl": "_c=us;_l=en;*L=grammar_tests/import_config.modl;country=%c;language=%l;time_zone=%tz"
1767
- },
1768
- {
1769
- "id": "186",
1770
- "input": "*L=grammar_tests/test_import_dir/test_import.txt;\n[\nm=out:2018-03-22 15\\:25:Hi;\nm=in:2018-03-22 15\\:26:Hello, how are you?;\nm=out:2018-03-22 15\\:25:Hi, good thanks;\nm=out:2018-03-22 15\\:26:How about you?;\nm=in:2018-03-22 15\\:26:Yes, fine thanks. What are you up to?;\nm=out:2018-03-22 15\\:25:Just testing out MODL;\nm=in:2018-03-22 15\\:26:Cool!\n]",
1771
- "expected_output": "[\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Hi\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Hello, how are you?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Hi, good thanks\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"How about you?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Yes, fine thanks. What are you up to?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Just testing out MODL\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Cool!\",\n \"method\": \"sms\"\n }\n }\n]",
1772
- "tested_features": [
1773
- "object_ref",
1774
- "load"
1775
- ],
1776
- "minimised_modl": "*L=grammar_tests/test_import_dir/test_import.txt;[m=out:2018-03-22 15~:25:Hi;m=in:2018-03-22 15~:26:Hello, how are you?;m=out:2018-03-22 15~:25:Hi, good thanks;m=out:2018-03-22 15~:26:How about you?;m=in:2018-03-22 15~:26:Yes, fine thanks. What are you up to?;m=out:2018-03-22 15~:25:Just testing out MODL;m=in:2018-03-22 15~:26:Cool!]"
1777
- },
1778
- {
1779
- "id": "187",
1780
- "input": "o=[test;test;t=Customer Service:44123]",
1781
- "expected_output": "{\n \"o\": [\n \"test\",\n \"test\",\n {\n \"t\": [\n \"Customer Service\",\n 44123\n ]\n }\n ]\n}",
1782
- "tested_features": [
1783
- "map",
1784
- "array"
1785
- ],
1786
- "minimised_modl": "o[test;test;t=Customer Service:44123]"
1787
- },
1788
- {
1789
- "id": "188",
1790
- "input": "test[number=1;number=2;number=3]",
1791
- "expected_output": "{\n \"test\": [\n {\n \"number\": 1\n },\n {\n \"number\": 2\n },\n {\n \"number\": 3\n }\n ]\n}",
1792
- "tested_features": [
1793
- "map",
1794
- "array"
1795
- ],
1796
- "minimised_modl": "test[number=1;number=2;number=3]"
1797
- },
1798
- {
1799
- "id": "189",
1800
- "input": "test(one=1;two=2;three=3)",
1801
- "expected_output": "{\n \"test\": {\n \"one\": 1,\n \"two\": 2,\n \"three\": 3\n }\n}",
1802
- "tested_features": [
1803
- "map",
1804
- "array"
1805
- ],
1806
- "minimised_modl": "test(one=1;two=2;three=3)"
1807
- },
1808
- {
1809
- "id": "190",
1810
- "input": "test=test",
1811
- "expected_output": "{\n \"test\": \"test\"\n}",
1812
- "tested_features": [
1813
- "pair"
1814
- ],
1815
- "minimised_modl": "test=test"
1816
- },
1817
- {
1818
- "id": "191",
1819
- "input": "one=1;two=2;three=3",
1820
- "expected_output": "{\n \"one\": 1,\n \"two\": 2,\n \"three\": 3\n}",
1821
- "tested_features": [
1822
- "map",
1823
- "pair"
1824
- ],
1825
- "minimised_modl": "one=1;two=2;three=3"
1826
- },
1827
- {
1828
- "id": "192",
1829
- "input": "[o(n=test);o(n=test2)]",
1830
- "expected_output": "[\n {\n \"o\": {\n \"n\": \"test\"\n }\n },\n {\n \"o\": {\n \"n\": \"test2\"\n }\n }\n]",
1831
- "tested_features": [
1832
- "map",
1833
- "pair"
1834
- ],
1835
- "minimised_modl": "[o(n=test);o(n=test2)]"
1836
- },
1837
- {
1838
- "id": "193",
1839
- "input": "R=0;\nnumber1=1;number2=2;number3=3",
1840
- "expected_output": "{\n \"R\": 0,\n \"number1\": 1,\n \"number2\": 2,\n \"number3\": 3\n}",
1841
- "tested_features": [
1842
- "map",
1843
- "array",
1844
- "pair"
1845
- ],
1846
- "minimised_modl": "R=0;number1=1;number2=2;number3=3"
1847
- },
1848
- {
1849
- "id": "194",
1850
- "input": "test=(one=1)",
1851
- "expected_output": "{\n \"test\": {\n \"one\": 1\n }\n}",
1852
- "tested_features": [
1853
- "map",
1854
- "array"
1855
- ],
1856
- "minimised_modl": "test(one=1)"
1857
- },
1858
- {
1859
- "id": "195",
1860
- "input": "test(one=1)",
1861
- "expected_output": "{\n \"test\": {\n \"one\": 1\n }\n}",
1862
- "tested_features": [
1863
- "map",
1864
- "array"
1865
- ],
1866
- "minimised_modl": "test(one=1)"
1867
- },
1868
- {
1869
- "id": "196",
1870
- "input": "test=[1;2;3]",
1871
- "expected_output": "{\n \"test\": [\n 1,\n 2,\n 3\n ]\n}",
1872
- "tested_features": [
1873
- "map",
1874
- "array"
1875
- ],
1876
- "minimised_modl": "test=1:2:3"
1877
- },
1878
- {
1879
- "id": "197",
1880
- "input": "test[1;2;3]",
1881
- "expected_output": "{\n \"test\": [\n 1,\n 2,\n 3\n ]\n}",
1882
- "tested_features": [
1883
- "map",
1884
- "array"
1885
- ],
1886
- "minimised_modl": "test=1:2:3"
1887
- },
1888
- {
1889
- "id": "198",
1890
- "input": "o(n=Tesco;s=Every Little Helps)",
1891
- "expected_output": "{\n \"o\": {\n \"n\": \"Tesco\",\n \"s\": \"Every Little Helps\"\n }\n}",
1892
- "tested_features": [
1893
- "map",
1894
- "array"
1895
- ],
1896
- "minimised_modl": "o(n=Tesco;s=Every Little Helps)"
1897
- },
1898
- {
1899
- "id": "199",
1900
- "input": "o(n=test)",
1901
- "expected_output": "{\n \"o\": {\n \"n\": \"test\"\n }\n}",
1902
- "tested_features": [
1903
- "map",
1904
- "array"
1905
- ],
1906
- "minimised_modl": "o(n=test)"
1907
- },
1908
- {
1909
- "id": "200",
1910
- "input": "o(n=test)\n",
1911
- "expected_output": "{\n \"o\": {\n \"n\": \"test\"\n }\n}",
1912
- "tested_features": [
1913
- "map",
1914
- "array"
1915
- ],
1916
- "minimised_modl": "o(n=test)"
1917
- },
1918
- {
1919
- "id": "201",
1920
- "input": "o(\nn=test\n)",
1921
- "expected_output": "{\n \"o\": {\n \"n\": \"test\"\n }\n}",
1922
- "tested_features": [
1923
- "undefined"
1924
- ],
1925
- "minimised_modl": "o(n=test)"
1926
- },
1927
- {
1928
- "id": "202",
1929
- "input": "DELETED",
1930
- "expected_output": "DELETED",
1931
- "tested_features": [
1932
- "DELETED"
1933
- ],
1934
- "minimised_modl": "DELETED"
1935
- },
1936
- {
1937
- "id": "203",
1938
- "input": "o1(n=test);\no2(n=test2)",
1939
- "expected_output": "{\n \"o1\": {\n \"n\": \"test\"\n },\n \"o2\": {\n \"n\": \"test2\"\n }\n}",
1940
- "tested_features": [
1941
- "map",
1942
- "array"
1943
- ],
1944
- "minimised_modl": "o1(n=test);o2(n=test2)"
1945
- },
1946
- {
1947
- "id": "204",
1948
- "input": "o1(n=test);o2(n=test2)",
1949
- "expected_output": "{\n \"o1\": {\n \"n\": \"test\"\n },\n \"o2\": {\n \"n\": \"test2\"\n }\n}",
1950
- "tested_features": [
1951
- "map",
1952
- "array"
1953
- ],
1954
- "minimised_modl": "o1(n=test);o2(n=test2)"
1955
- },
1956
- {
1957
- "id": "205",
1958
- "input": "o=[test;test]",
1959
- "expected_output": "{\n \"o\": [\n \"test\",\n \"test\"\n ]\n}",
1960
- "tested_features": [
1961
- "map",
1962
- "array"
1963
- ],
1964
- "minimised_modl": "o=test:test"
1965
- },
1966
- {
1967
- "id": "206",
1968
- "input": "o=test",
1969
- "expected_output": "{\n \"o\": \"test\"\n}",
1970
- "tested_features": [
1971
- "pair"
1972
- ],
1973
- "minimised_modl": "o=test"
1974
- },
1975
- {
1976
- "id": "207",
1977
- "input": "o=[1;2]",
1978
- "expected_output": "{\n \"o\": [\n 1,\n 2\n ]\n}",
1979
- "tested_features": [
1980
- "map",
1981
- "array"
1982
- ],
1983
- "minimised_modl": "o=1:2"
1984
- },
1985
- {
1986
- "id": "208",
1987
- "input": "o=[test1;test2]",
1988
- "expected_output": "{\n \"o\": [\n \"test1\",\n \"test2\"\n ]\n}",
1989
- "tested_features": [
1990
- "map",
1991
- "array"
1992
- ],
1993
- "minimised_modl": "o=test1:test2"
1994
- },
1995
- {
1996
- "id": "209",
1997
- "input": "o(t=test1;t2=test2)",
1998
- "expected_output": "{\n \"o\": {\n \"t\": \"test1\",\n \"t2\": \"test2\"\n }\n}",
1999
- "tested_features": [
2000
- "map"
2001
- ],
2002
- "minimised_modl": "o(t=test1;t2=test2)"
2003
- },
2004
- {
2005
- "id": "210",
2006
- "input": "o(t(a=test;b=test2);t2(c=test;d=test2))",
2007
- "expected_output": "{\n \"o\": {\n \"t\": {\n \"a\": \"test\",\n \"b\": \"test2\"\n },\n \"t2\": {\n \"c\": \"test\",\n \"d\": \"test2\"\n }\n }\n}",
2008
- "tested_features": [
2009
- "map"
2010
- ],
2011
- "minimised_modl": "o(t(a=test;b=test2);t2(c=test;d=test2))"
2012
- },
2013
- {
2014
- "id": "211",
2015
- "input": "o=1:2::4:5",
2016
- "expected_output": "{\n \"o\": [\n 1,\n 2,\n null,\n 4,\n 5\n ]\n}",
2017
- "tested_features": [
2018
- "pair",
2019
- "nbArray",
2020
- "null"
2021
- ],
2022
- "minimised_modl": "5"
2023
- },
2024
- {
2025
- "id": "212",
2026
- "input": "o=[1;2;;4;5]",
2027
- "expected_output": "{\n \"o\": [\n 1,\n 2,\n null,\n 4,\n 5\n ]\n}",
2028
- "tested_features": [
2029
- "pair",
2030
- "array",
2031
- "null"
2032
- ],
2033
- "minimised_modl": "o=1:2::4:5"
2034
- },
2035
- {
2036
- "id": "213",
2037
- "input": "o=[1;\n2;\n\n3;\n4;\n5]",
2038
- "expected_output": "{\n \"o\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ]\n}",
2039
- "tested_features": [
2040
- "pair",
2041
- "array"
2042
- ],
2043
- "minimised_modl": "o=1:2:3:4:5"
2044
- },
2045
- {
2046
- "id": "214",
2047
- "input": "o=[1 2 3 4 5]",
2048
- "expected_output": "{\n \"o\": [\n \"1 2 3 4 5\"\n ]\n}",
2049
- "tested_features": [
2050
- "pair"
2051
- ],
2052
- "minimised_modl": "o=1 2 3 4 5"
2053
- },
2054
- {
2055
- "id": "215",
2056
- "input": "o=`ok`",
2057
- "expected_output": "{\n \"o\": \"ok\"\n}",
2058
- "tested_features": [
2059
- "pair",
2060
- "graves"
2061
- ],
2062
- "minimised_modl": "o=`ok`"
2063
- },
2064
- {
2065
- "id": "216",
2066
- "input": "o=``",
2067
- "expected_output": "{\n \"o\": \"\"\n}",
2068
- "tested_features": [
2069
- "pair",
2070
- "graves"
2071
- ],
2072
- "minimised_modl": "o=``"
2073
- },
2074
- {
2075
- "id": "217",
2076
- "input": "_test=(\n numbers=[[1;2;3;4;5];[6;7;8;9;10]]\n);\n \ntesting=%test.numbers.0.0",
2077
- "expected_output": "{\n \"testing\": 1\n}",
2078
- "tested_features": [
2079
- "object_ref"
2080
- ],
2081
- "minimised_modl": "_test=(numbers=[[1;2;3;4;5];[6;7;8;9;10]]);testing=%test.numbers.0.0"
2082
- },
2083
- {
2084
- "id": "218",
2085
- "input": "_test=(\n numbers=(\"one\"=1)\n);\n \ntesting = this is a string that includes a reference with a letter s after it %test.numbers.one%s",
2086
- "expected_output": "{\n \"testing\": \"this is a string that includes a reference with a letter s after it 1s\"\n}",
2087
- "tested_features": [
2088
- "object_ref"
2089
- ],
2090
- "minimised_modl": "_test=(numbers=(one=1));testing=this is a string that includes a reference with a letter s after it %test.numbers.one%s"
2091
- },
2092
- {
2093
- "id": "219",
2094
- "input": "_test=(\n numbers=(\"v\"=TEST)\n);\n \ntesting = this is a string that includes extra transforms for the value %test.numbers.v.d%_value",
2095
- "expected_output": "{\n \"testing\": \"this is a string that includes extra transforms for the value test_value\"\n}",
2096
- "tested_features": [
2097
- "object_ref",
2098
- "string_method"
2099
- ],
2100
- "minimised_modl": "_test=(numbers=(v=TEST));testing=this is a string that includes extra transforms for the value %test.numbers.v.d%_value"
2101
- },
2102
- {
2103
- "id": "220",
2104
- "input": "_test=(\n first=(\"v\"=TEST);\n second=(\"v\"=TEST2)\n);\n \ntesting = this is a string that includes extra transforms for the value %test.second.v.d%_value",
2105
- "expected_output": "{\n \"testing\": \"this is a string that includes extra transforms for the value test2_value\"\n}",
2106
- "tested_features": [
2107
- "object_ref",
2108
- "string_method"
2109
- ],
2110
- "minimised_modl": "_test=(first=(v=TEST);second=(v=TEST2));testing=this is a string that includes extra transforms for the value %test.second.v.d%_value"
2111
- },
2112
- {
2113
- "id": "221",
2114
- "input": "_test=(\n first=(\"v1\"=one);\n second=(\"v2\"=two:three)\n);\n \ntesting = %test.second.v2.1",
2115
- "expected_output": "{\n \"testing\": \"three\"\n}",
2116
- "tested_features": [
2117
- "object_ref",
2118
- "graves"
2119
- ],
2120
- "minimised_modl": "_test=(first=(v1=one);second=(v2=two:three));testing=%test.second.v2.1"
2121
- },
2122
- {
2123
- "id": "222",
2124
- "input": "_test=(\n first=(\"v1\"=[one]);\n second=(\"v2\"=two:three)\n);\n \ntesting = %test.first.v1.0%%test.second.v2.0%%test.second.v2.1",
2125
- "expected_output": "{\n \"testing\": \"onetwothree\"\n}",
2126
- "tested_features": [
2127
- "object_ref"
2128
- ],
2129
- "minimised_modl": "_test=(first=(v1=[one]);second=(v2=two:three));testing=%test.first.v1.0%%test.second.v2.0%%test.second.v2.1"
2130
- },
2131
- {
2132
- "id": "223",
2133
- "input": "_test=(\n first=(\"v1\"=(one=(two=three)))\n);\n \ntesting = %test.first.v1.one.two",
2134
- "expected_output": "{\n \"testing\": \"three\"\n}",
2135
- "tested_features": [
2136
- "object_ref"
2137
- ],
2138
- "minimised_modl": "_test=(first=(v1=(one=(two=three))));testing=%test.first.v1.one.two"
2139
- },
2140
- {
2141
- "id": "224",
2142
- "input": "b=2;\nc=2;\nd=2;\ne=2;\na={\n {b=c & d=e}?\n v1:v2:v3\n /?\n v4:v5:v6\n }",
2143
- "expected_output": "{\n \"b\": 2,\n \"c\": 2,\n \"d\": 2,\n \"e\": 2,\n \"a\": [\n \"v1\",\n \"v2\",\n \"v3\"\n ]\n}",
2144
- "tested_features": [
2145
- "conditional"
2146
- ],
2147
- "minimised_modl": "b=2;c=2;d=2;e=2;a={{b=c & d=e}?v1:v2:v3/?v4:v5:v6}"
2148
- },
2149
- {
2150
- "id": "225",
2151
- "input": "o=1:2:3:4:5",
2152
- "expected_output": "{\n \"o\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ]\n}",
2153
- "tested_features": [
2154
- "nbArray"
2155
- ],
2156
- "minimised_modl": "o=1:2:3:4:5"
2157
- },
2158
- {
2159
- "id": "226",
2160
- "input": "DELETED",
2161
- "expected_output": "DELETED",
2162
- "tested_features": [
2163
- "DELETED"
2164
- ],
2165
- "minimised_modl": "DELETED"
2166
- },
2167
- {
2168
- "id": "227",
2169
- "input": "o=[1;2;3;4;5]",
2170
- "expected_output": "{\n \"o\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ]\n}",
2171
- "tested_features": [
2172
- "array"
2173
- ],
2174
- "minimised_modl": "o=[1;2;3;4;5]"
2175
- },
2176
- {
2177
- "id": "228",
2178
- "input": "DELETED",
2179
- "expected_output": "DELETED",
2180
- "tested_features": [
2181
- "DELETED"
2182
- ],
2183
- "minimised_modl": "DELETED"
2184
- },
2185
- {
2186
- "id": "229",
2187
- "input": "o=[1;\n2;\n3;\n4;\n5]",
2188
- "expected_output": "{\n \"o\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ]\n}",
2189
- "tested_features": [
2190
- "undefined"
2191
- ],
2192
- "minimised_modl": "o=[1\n2\n3\n4\n5]"
2193
- },
2194
- {
2195
- "id": "230",
2196
- "input": "DELETED",
2197
- "expected_output": "DELETED",
2198
- "tested_features": [
2199
- "DELETED"
2200
- ],
2201
- "minimised_modl": "DELETED"
2202
- },
2203
- {
2204
- "id": "231",
2205
- "input": "DELETED",
2206
- "expected_output": "DELETED",
2207
- "tested_features": [
2208
- "DELETED"
2209
- ],
2210
- "minimised_modl": "DELETED"
2211
- },
2212
- {
2213
- "id": "232",
2214
- "input": "DELETED",
2215
- "expected_output": "DELETED",
2216
- "tested_features": [
2217
- "DELETED"
2218
- ],
2219
- "minimised_modl": "DELETED"
2220
- },
2221
- {
2222
- "id": "233",
2223
- "input": "DELETED",
2224
- "expected_output": "DELETED",
2225
- "tested_features": [
2226
- "DELETED"
2227
- ],
2228
- "minimised_modl": "DELETED"
2229
- },
2230
- {
2231
- "id": "234",
2232
- "input": "o=\"ok\"",
2233
- "expected_output": "{\n \"o\": \"ok\"\n}",
2234
- "tested_features": [
2235
- "pair"
2236
- ],
2237
- "minimised_modl": "o=ok"
2238
- },
2239
- {
2240
- "id": "235",
2241
- "input": "o=\"\"",
2242
- "expected_output": "{\n \"o\": \"\"\n}",
2243
- "tested_features": [
2244
- "pair"
2245
- ],
2246
- "minimised_modl": "o=\"\""
2247
- },
2248
- {
2249
- "id": "236",
2250
- "input": "_test=( numbers=[[1;2;3;4;5];[6;7;8;9;10]]\n);\n \ntesting=%test.numbers.0.0",
2251
- "expected_output": "{\n \"testing\": 1\n}",
2252
- "tested_features": [
2253
- "undefined"
2254
- ],
2255
- "minimised_modl": "_test=(numbers=[[1;2;3;4;5];[6;7;8;9;10]]);testing=%test.numbers.0.0"
2256
- },
2257
- {
2258
- "id": "237",
2259
- "input": "_test=(\n numbers=(\"one\"=1)\n);\n\ntesting = this is a string that includes a reference with a letter s after it %test.numbers.one%s",
2260
- "expected_output": "{\n \"testing\": \"this is a string that includes a reference with a letter s after it 1s\"\n}",
2261
- "tested_features": [
2262
- "object_ref"
2263
- ],
2264
- "minimised_modl": "_test=(numbers=(\"one\"=1));testing = this is a string that includes a reference with a letter s after it %%test.numbers.one%s"
2265
- },
2266
- {
2267
- "id": "238",
2268
- "input": "DELETED",
2269
- "expected_output": "DELETED",
2270
- "tested_features": [
2271
- "DELETED"
2272
- ],
2273
- "minimised_modl": "DELETED"
2274
- },
2275
- {
2276
- "id": "239",
2277
- "input": "DELETED",
2278
- "expected_output": "DELETED",
2279
- "tested_features": [
2280
- "DELETED"
2281
- ],
2282
- "minimised_modl": "DELETED"
2283
- },
2284
- {
2285
- "id": "240",
2286
- "input": "DELETED",
2287
- "expected_output": "DELETED",
2288
- "tested_features": [
2289
- "DELETED"
2290
- ],
2291
- "minimised_modl": "DELETED"
2292
- },
2293
- {
2294
- "id": "241",
2295
- "input": "DELETED",
2296
- "expected_output": "DELETED",
2297
- "tested_features": [
2298
- "DELETED"
2299
- ],
2300
- "minimised_modl": "DELETED"
2301
- },
2302
- {
2303
- "id": "242",
2304
- "input": "DELETED",
2305
- "expected_output": "DELETED",
2306
- "tested_features": [
2307
- "DELETED"
2308
- ],
2309
- "minimised_modl": "DELETED"
2310
- },
2311
- {
2312
- "id": "243",
2313
- "input": "tony=hungry;\nneeds_food_1={tony=hungry?true/?false};\nneeds_food_2={!tony=hungry?false/?true};\nneeds_food_3={tony!=hungry?false/?true};\nneeds_food_4={!tony!=hungry?true/?false}",
2314
- "expected_output": "{\n \"tony\": \"hungry\",\n \"needs_food_1\": true,\n \"needs_food_2\": true,\n \"needs_food_3\": true,\n \"needs_food_4\": true\n}",
2315
- "tested_features": [
2316
- "object_ref",
2317
- "conditional"
2318
- ],
2319
- "minimised_modl": "tony=hungry;needs_food_1={tony=hungry?true/?false};needs_food_2={!tony=hungry?false/?true};needs_food_3={tony!=hungry?false/?true};needs_food_4={!tony!=hungry?true/?false}"
2320
- },
2321
- {
2322
- "id": "244",
2323
- "input": "_c=de;\nresult={c!=de/at?German or Austrian/?Other}",
2324
- "expected_output": "{\n \"result\": \"Other\"\n}",
2325
- "tested_features": [
2326
- "object_ref",
2327
- "conditional"
2328
- ],
2329
- "minimised_modl": "_c=de\nresult={c!=de/at?German or Austrian/?Other}"
2330
- },
2331
- {
2332
- "id": "245",
2333
- "input": "_test = 1;\nresult={!test!=1?one/?Other}",
2334
- "expected_output": "{\n \"result\": \"one\"\n}",
2335
- "tested_features": [
2336
- "object_ref",
2337
- "conditional"
2338
- ],
2339
- "minimised_modl": "_test = 1\nresult={!test!=1?one/?Other}"
2340
- },
2341
- {
2342
- "id": "246",
2343
- "input": "x=[1;2:3:4]",
2344
- "expected_output": "{\n \"x\": [\n 1,\n [\n 2,\n 3,\n 4\n ]\n ]\n}",
2345
- "tested_features": [
2346
- "array",
2347
- "pair"
2348
- ],
2349
- "minimised_modl": "x=[1;2:3:4]"
2350
- },
2351
- {
2352
- "id": "247",
2353
- "input": "_x=[1;2:3:4];\na=%x.1.1",
2354
- "expected_output": "{\n \"a\": 3\n}",
2355
- "tested_features": [
2356
- "object_ref"
2357
- ],
2358
- "minimised_modl": "_x=[1;2:3:4]\na=%x.1.1"
2359
- },
2360
- {
2361
- "id": "248",
2362
- "input": "x=[1;;;;;;;2:::::::::3;;;;;;;;;;4:::::::::5]",
2363
- "expected_output": "{\n \"x\": [\n 1,\n null,\n null,\n null,\n null,\n null,\n null,\n [\n 2,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n 3\n ],\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n [\n 4,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n 5\n ]\n ]\n}",
2364
- "tested_features": [
2365
- "array",
2366
- "map",
2367
- "null"
2368
- ],
2369
- "minimised_modl": "x=[1;;;;;;;2:::::::::3;;;;;;;;;;4:::::::::5]"
2370
- },
2371
- {
2372
- "id": "249",
2373
- "input": "*class(\n *id=p;\n *name=person;\n *superclass=map;\n actions=[call;email]\n);\n*class(\n *id=c;\n *name=customer;\n *superclass=person;\n *assign=[\n [title;name;email]\n ]\n);\n*class(\n *id=e;\n *name=employee;\n *superclass=person;\n *assign=[\n [title;name;job_title;email]\n ]\n);\n[\n## An employee:\ne=Mr:John Smith:Sales Director:john.smith@example.com;\n## A customer:\nc=Mr:Joe Bloggs:joe.bloggs@example.com;\n## Another customer:\nc=Mrs:Jane Wilson:jane.wilson@example.com\n]",
2374
- "expected_output": "[\n {\n \"employee\": {\n \"title\": \"Mr\",\n \"name\": \"John Smith\",\n \"job_title\": \"Sales Director\",\n \"email\": \"john.smith@example.com\",\n \"actions\": [\n \"call\",\n \"email\"\n ]\n }\n },\n {\n \"customer\": {\n \"title\": \"Mr\",\n \"name\": \"Joe Bloggs\",\n \"email\": \"joe.bloggs@example.com\",\n \"actions\": [\n \"call\",\n \"email\"\n ]\n }\n },\n {\n \"customer\": {\n \"title\": \"Mrs\",\n \"name\": \"Jane Wilson\",\n \"email\": \"jane.wilson@example.com\",\n \"actions\": [\n \"call\",\n \"email\"\n ]\n }\n }\n]",
2375
- "tested_features": [
2376
- "class"
2377
- ],
2378
- "minimised_modl": "*class(*id=p;*name=person;*superclass=map;actions=[call;email]);*class(*id=c;*name=customer;*superclass=person;*assign=[[title;name;email]]);*class(*id=e;*name=employee;*superclass=person;*assign=[[title;name;job_title;email]]);[## An employee:;e=Mr:John Smith:Sales Director:john.smith@example.com;## A customer:;c=Mr:Joe Bloggs:joe.bloggs@example.com;## Another customer:;c=Mrs:Jane Wilson:jane.wilson@example.com]"
2379
- },
2380
- {
2381
- "id": "250",
2382
- "input": "DELETED",
2383
- "expected_output": "DELETED",
2384
- "tested_features": [
2385
- "DELETED"
2386
- ],
2387
- "minimised_modl": "DELETED"
2388
- },
2389
- {
2390
- "id": "251",
2391
- "input": "*class(*id=a;*name=alpha);a=b",
2392
- "expected_output": "{\n \"alpha\": \"b\"\n}",
2393
- "tested_features": [
2394
- "class",
2395
- "superclass_inference"
2396
- ],
2397
- "minimised_modl": "*class(*id=a;*name=alpha);a=b"
2398
- },
2399
- {
2400
- "id": "252",
2401
- "input": "*class(*id=a;*name=alpha);a=1",
2402
- "expected_output": "{\n \"alpha\": 1\n}",
2403
- "tested_features": [
2404
- "class",
2405
- "superclass_inference"
2406
- ],
2407
- "minimised_modl": "*class(*id=a;*name=alpha);a=1"
2408
- },
2409
- {
2410
- "id": "253",
2411
- "input": "*class(*id=a;*name=alpha);a=true",
2412
- "expected_output": "{\n \"alpha\": true\n}",
2413
- "tested_features": [
2414
- "class",
2415
- "superclass_inference"
2416
- ],
2417
- "minimised_modl": "*class(*id=a;*name=alpha);a=true"
2418
- },
2419
- {
2420
- "id": "254",
2421
- "input": "*class(*id=a;*name=alpha);a=null",
2422
- "expected_output": "{\n \"alpha\": null\n}",
2423
- "tested_features": [
2424
- "class",
2425
- "superclass_inference"
2426
- ],
2427
- "minimised_modl": "*class(*id=a;*name=alpha);a=null"
2428
- },
2429
- {
2430
- "id": "255",
2431
- "input": "*class(*id=a;*name=alpha);a=[1;2;3];b=4:5:6",
2432
- "expected_output": "{\n \"alpha\": [\n 1,\n 2,\n 3\n ],\n \"b\": [\n 4,\n 5,\n 6\n ]\n}",
2433
- "tested_features": [
2434
- "class",
2435
- "superclass_inference"
2436
- ],
2437
- "minimised_modl": "*class(*id=a;*name=alpha);a=[1;2;3];b=4:5:6"
2438
- },
2439
- {
2440
- "id": "256",
2441
- "input": "*class(*id=a;*name=alpha);a=(b=c)",
2442
- "expected_output": "{\n \"alpha\": {\n \"b\": \"c\"\n }\n}",
2443
- "tested_features": [
2444
- "class",
2445
- "superclass_inference"
2446
- ],
2447
- "minimised_modl": "*class(*id=a;*name=alpha);a=(b=c)"
2448
- },
2449
- {
2450
- "id": "257",
2451
- "input": "*class(*id=a;*name=alpha;x=\"test\");a=1",
2452
- "expected_output": "{\n \"alpha\": {\n \"value\": 1,\n \"x\": \"test\"\n }\n}",
2453
- "tested_features": [
2454
- "class",
2455
- "superclass_inference"
2456
- ],
2457
- "minimised_modl": "*class(*id=a;*name=alpha;x=\"test\");a=1"
2458
- },
2459
- {
2460
- "id": "258",
2461
- "input": "*class(*id=a;*name=alpha;*assign[[x]]);a=1\n",
2462
- "expected_output": "{\n \"alpha\": {\n \"x\": 1\n }\n}",
2463
- "tested_features": [
2464
- "class",
2465
- "superclass_inference"
2466
- ],
2467
- "minimised_modl": "*class(*id=a;*name=alpha;*assign[[x]]);a=1\n"
2468
- },
2469
- {
2470
- "id": "259",
2471
- "input": "*class(*id=a;*name=alpha;*superclass=str);a=1",
2472
- "expected_output": "{\n \"alpha\": \"1\"\n}",
2473
- "tested_features": [
2474
- "class",
2475
- "superclass"
2476
- ],
2477
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=str);a=1"
2478
- },
2479
- {
2480
- "id": "260",
2481
- "input": "*class(*id=a;*name=alpha;*superclass=str);a=true",
2482
- "expected_output": "{\n \"alpha\": \"true\"\n}",
2483
- "tested_features": [
2484
- "class",
2485
- "superclass"
2486
- ],
2487
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=str);a=true"
2488
- },
2489
- {
2490
- "id": "261",
2491
- "input": "*class(*id=a;*name=alpha;*superclass=num);a=1\n",
2492
- "expected_output": "{\n \"alpha\": 1\n}",
2493
- "tested_features": [
2494
- "class",
2495
- "superclass"
2496
- ],
2497
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=num);a=1\n"
2498
- },
2499
- {
2500
- "id": "262",
2501
- "input": "*class(*id=a;*name=alpha;*superclass=num);a=true",
2502
- "expected_output": "{\n \"alpha\": 1\n}",
2503
- "tested_features": [
2504
- "class",
2505
- "superclass"
2506
- ],
2507
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=num);a=true"
2508
- },
2509
- {
2510
- "id": "263",
2511
- "input": "*class(*id=a;*name=alpha;*superclass=num);a=false",
2512
- "expected_output": "{\n \"alpha\": 0\n}",
2513
- "tested_features": [
2514
- "class",
2515
- "superclass"
2516
- ],
2517
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=num);a=false"
2518
- },
2519
- {
2520
- "id": "264",
2521
- "input": "*class(*id=a;*name=alpha);a=false",
2522
- "expected_output": "{\n \"alpha\": false\n}",
2523
- "tested_features": [
2524
- "class",
2525
- "superclass"
2526
- ],
2527
- "minimised_modl": "*class(*id=a;*name=alpha);a=false"
2528
- },
2529
- {
2530
- "id": "265",
2531
- "input": "DELETED",
2532
- "expected_output": "DELETED",
2533
- "tested_features": [
2534
- "DELETED"
2535
- ],
2536
- "minimised_modl": "DELETED"
2537
- },
2538
- {
2539
- "id": "266",
2540
- "input": "*class(*id=a;*name=alpha;*superclass=arr);a=b",
2541
- "expected_output": "{\n \"alpha\": [\n \"b\"\n ]\n}",
2542
- "tested_features": [
2543
- "class",
2544
- "superclass"
2545
- ],
2546
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=arr);a=b"
2547
- },
2548
- {
2549
- "id": "267",
2550
- "input": "*class(*id=a;*name=alpha;*superclass=map);a=b",
2551
- "expected_output": "{\n \"alpha\": {\n \"value\": \"b\"\n }\n}",
2552
- "tested_features": [
2553
- "class",
2554
- "superclass"
2555
- ],
2556
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=map);a=b"
2557
- },
2558
- {
2559
- "id": "268",
2560
- "input": "*class(*id=a;*name=alpha;*superclass=map);a=(c=d)",
2561
- "expected_output": "{\n \"alpha\": {\n \"c\": \"d\"\n }\n}",
2562
- "tested_features": [
2563
- "class",
2564
- "superclass"
2565
- ],
2566
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=map);a=(c=d)"
2567
- },
2568
- {
2569
- "id": "269",
2570
- "input": "*class(*id=a;*name=alpha;*superclass=arr);a=[1;2;3]",
2571
- "expected_output": "{\n \"alpha\": [\n 1,\n 2,\n 3\n ]\n}",
2572
- "tested_features": [
2573
- "class",
2574
- "superclass"
2575
- ],
2576
- "minimised_modl": "*class(*id=a;*name=alpha;*superclass=arr);a=[1;2;3]"
2577
- },
2578
- {
2579
- "id": "270",
2580
- "input": "*L=[grammar_tests/1;grammar_tests/1];a=1",
2581
- "expected_output": "{\n \"a\": 1\n}",
2582
- "tested_features": [
2583
- "load"
2584
- ],
2585
- "minimised_modl": "*L=[grammar_tests/1;grammar_tests/1];a=1"
2586
- },
2587
- {
2588
- "id": "271",
2589
- "input": "*L=grammar_tests/1:grammar_tests/1;a=1",
2590
- "expected_output": "{\n \"a\": 1\n}",
2591
- "tested_features": [
2592
- "load"
2593
- ],
2594
- "minimised_modl": "*L=grammar_tests/1:grammar_tests/1;a=1"
2595
- },
2596
- {
2597
- "id": "272",
2598
- "input": "ref=123;\nkey=%ref%%",
2599
- "expected_output": "{\n \"ref\": 123,\n \"key\": \"123%\"\n}",
2600
- "tested_features": [
2601
- "object_ref"
2602
- ],
2603
- "minimised_modl": "ref=123;key=%ref%%"
2604
- },
2605
- {
2606
- "id": "273",
2607
- "input": "a = %`example`.u%.nonsense.s",
2608
- "expected_output": "{\n \"a\": \"EXAMPLE.nonsense.s\"\n}",
2609
- "tested_features": [
2610
- "object_ref"
2611
- ],
2612
- "minimised_modl": "a = %`example`.u%.nonsense.s"
2613
- },
2614
- {
2615
- "id": "274",
2616
- "input": "{\n !one?\n _one=c\n};\n{\n !two?\n _two=d\n};\n\n_file = %one%-%two;\n{\n file=a-b/c-d/e-f?\n *LOAD=\"grammar_tests/files/%file%.txt!\"\n /?\n *LOAD=\"grammar_tests/files/a-b.txt!\"\n};\n\no=%ref.o.name",
2617
- "expected_output": "{\n \"o\": \"otter\"\n}",
2618
- "tested_features": [
2619
- "object_ref",
2620
- "conditional"
2621
- ],
2622
- "minimised_modl": "{!one?_one=c};{!two?_two=d};_file = %one%-%two;{file=a-b/c-d/e-f?*LOAD=\"grammar_tests/files/%file%.txt!\"/?*LOAD=\"grammar_tests/files/a-b.txt!\"};o=%ref.o.name"
2623
- },
2624
- {
2625
- "id": "275",
2626
- "input": "vat=20;\ns=VAT at %vat% added",
2627
- "expected_output": "{\n \"vat\": 20,\n \"s\": \"VAT at 20 added\"\n}",
2628
- "tested_features": [
2629
- "object_ref"
2630
- ],
2631
- "minimised_modl": "vat=20;s=VAT at %vat% added"
2632
- },
2633
- {
2634
- "id": "276",
2635
- "input": "vat=20;\ns=VAT at %vat%% added",
2636
- "expected_output": "{\n \"vat\": 20,\n \"s\": \"VAT at 20% added\"\n}",
2637
- "tested_features": [
2638
- "object_ref"
2639
- ],
2640
- "minimised_modl": "vat=20;s=VAT at %vat%% added"
2641
- },
2642
- {
2643
- "id": "277",
2644
- "input": "DELETED",
2645
- "expected_output": "DELETED",
2646
- "tested_features": [
2647
- "DELETED"
2648
- ],
2649
- "minimised_modl": "DELETED"
2650
- },
2651
- {
2652
- "id": "278",
2653
- "input": "x=`ignored method`.p",
2654
- "expected_output": "{\n \"x\": \"`ignored method`.p\"\n}",
2655
- "tested_features": [
2656
- "methods"
2657
- ],
2658
- "minimised_modl": "x=`ignored method`.p"
2659
- },
2660
- {
2661
- "id": "279",
2662
- "input": "DELETED",
2663
- "expected_output": "DELETED",
2664
- "tested_features": [
2665
- "DELETED"
2666
- ],
2667
- "minimised_modl": "DELETED"
2668
- },
2669
- {
2670
- "id": "280",
2671
- "input": "_a=one;\n_b=two;\n_c=three;\n\nd=%a:%b:%c;\ne=[%a;%b;%c]",
2672
- "expected_output": "{\n \"d\": [\n \"one\",\n \"two\",\n \"three\"\n ],\n \"e\": [\n \"one\",\n \"two\",\n \"three\"\n ]\n}",
2673
- "tested_features": [
2674
- "object_ref"
2675
- ],
2676
- "minimised_modl": "_a=one;_b=two;_c=three;d=%a:%b:%c;e=[%a;%b;%c]"
2677
- },
2678
- {
2679
- "id": "281",
2680
- "input": "%`fsq`.p%=A Chinese example",
2681
- "expected_output": "{\n \"例\": \"A Chinese example\"\n}",
2682
- "tested_features": [
2683
- "object_ref"
2684
- ],
2685
- "minimised_modl": "%`fsq`.p%=A Chinese example"
2686
- },
2687
- {
2688
- "id": "282",
2689
- "input": "DELETED",
2690
- "expected_output": "DELETED",
2691
- "tested_features": [
2692
- "DELETED"
2693
- ],
2694
- "minimised_modl": "DELETED"
2695
- },
2696
- {
2697
- "id": "283",
2698
- "input": "_x=abc;\ny=`%x`",
2699
- "expected_output": "{\n \"y\": \"abc\"\n}",
2700
- "tested_features": [
2701
- "graves"
2702
- ],
2703
- "minimised_modl": "_x=abc;y=`%x`"
2704
- },
2705
- {
2706
- "id": "284",
2707
- "input": "_x=abc;\ny=\"%x\"",
2708
- "expected_output": "{\n \"y\": \"abc\"\n}",
2709
- "tested_features": [
2710
- "quotes"
2711
- ],
2712
- "minimised_modl": "_x=abc;y=\"abc\""
2713
- },
2714
- {
2715
- "id": "285",
2716
- "input": "_replace_me=new value;\n\none=%replace_me.u;\n\ntwo=`replace_me`.u;\n\nthree=`replace_me.u`;\n\nfour=`%replace_me.u`;\n\nfive=`%replace_me`.u;\n\nsix=%replace_me.u%_added;\n\nseven=replace_me.u;\n\neight=%`replace_me`.u;\n\nnine=%`replace_me`.u%;",
2717
- "expected_output": "{\n \"one\": \"NEW VALUE\",\n \"two\": \"`replace_me`.u\",\n \"three\": \"replace_me.u\",\n \"four\": \"NEW VALUE\",\n \"five\": \"`new value`.u\",\n \"six\": \"NEW VALUE_added\",\n \"seven\": \"replace_me.u\",\n \"eight\": \"REPLACE_ME\",\n \"nine\": \"REPLACE_ME\"\n}",
2718
- "tested_features": [
2719
- "object_ref"
2720
- ],
2721
- "minimised_modl": "_replace_me=new value;one=%replace_me.u;two=`replace_me`.u;three=`replace_me.u`;four=`%replace_me.u`;five=`%replace_me`.u;six=%replace_me.u%_added;seven=replace_me.u;eight=%`replace_me`.u;nine=%`replace_me`.u%;"
2722
- },
2723
- {
2724
- "id": "286",
2725
- "input": "key=value",
2726
- "expected_output": "{\n \"key\": \"value\"\n}",
2727
- "tested_features": [
2728
- "pair"
2729
- ],
2730
- "minimised_modl": "key=value"
2731
- },
2732
- {
2733
- "id": "287",
2734
- "input": "key=\"value\"",
2735
- "expected_output": "{\n \"key\": \"value\"\n}",
2736
- "tested_features": [
2737
- "quotes"
2738
- ],
2739
- "minimised_modl": "key=\"value\""
2740
- },
2741
- {
2742
- "id": "288",
2743
- "input": "key=`value`",
2744
- "expected_output": "{\n \"key\": \"value\"\n}",
2745
- "tested_features": [
2746
- "graves"
2747
- ],
2748
- "minimised_modl": "key=`value`"
2749
- },
2750
- {
2751
- "id": "289",
2752
- "input": "_test=abc;\nkey=%test",
2753
- "expected_output": "{\n \"key\": \"abc\"\n}",
2754
- "tested_features": [
2755
- "object_ref"
2756
- ],
2757
- "minimised_modl": "_test=abc;key=%test"
2758
- },
2759
- {
2760
- "id": "290",
2761
- "input": "_test=abc;\nkey=\"%test\"",
2762
- "expected_output": "{\n \"key\": \"abc\"\n}",
2763
- "tested_features": [
2764
- "object_ref",
2765
- "quotes"
2766
- ],
2767
- "minimised_modl": "_test=abc;key=\"%test\""
2768
- },
2769
- {
2770
- "id": "291",
2771
- "input": "_test=abc;\nkey=`%test`",
2772
- "expected_output": "{\n \"key\": \"abc\"\n}",
2773
- "tested_features": [
2774
- "object_ref",
2775
- "graves"
2776
- ],
2777
- "minimised_modl": "_test=abc;key=`%test`"
2778
- },
2779
- {
2780
- "id": "292",
2781
- "input": "key=\"this is a `%test`\"",
2782
- "expected_output": "{\n \"key\": \"this is a `%test`\"\n}",
2783
- "tested_features": [
2784
- "quotes",
2785
- "graves"
2786
- ],
2787
- "minimised_modl": "key=\"this is a `%test`\""
2788
- },
2789
- {
2790
- "id": "293",
2791
- "input": "key=\"string including ` a single grave\"",
2792
- "expected_output": "{\n \"key\": \"string including ` a single grave\"\n}",
2793
- "tested_features": [
2794
- "quotes",
2795
- "graves"
2796
- ],
2797
- "minimised_modl": "key=\"string including ` a single grave\""
2798
- },
2799
- {
2800
- "id": "294",
2801
- "input": "key=\"string including some `graved text` here\"",
2802
- "expected_output": "{\n \"key\": \"string including some `graved text` here\"\n}",
2803
- "tested_features": [
2804
- "quotes",
2805
- "graves"
2806
- ],
2807
- "minimised_modl": "key=\"string including some `graved text` here\""
2808
- },
2809
- {
2810
- "id": "295",
2811
- "input": "key=`string including \" a quote`",
2812
- "expected_output": "{\n \"key\": \"string including \\\" a quote\"\n}",
2813
- "tested_features": [
2814
- "quotes",
2815
- "graves"
2816
- ],
2817
- "minimised_modl": "key=`string including \" a quote`"
2818
- },
2819
- {
2820
- "id": "296",
2821
- "input": "key=`a string including a quote from Winston: \"We'll fight them on the beaches\"`",
2822
- "expected_output": "{\n \"key\": \"a string including a quote from Winston: \\\"We'll fight them on the beaches\\\"\"\n}",
2823
- "tested_features": [
2824
- "quotes",
2825
- "graves"
2826
- ],
2827
- "minimised_modl": "key=`a string including a quote from Winston: \"We'll fight them on the beaches\"`"
2828
- },
2829
- {
2830
- "id": "297",
2831
- "input": "key=lots of `graved` text is in `this` value",
2832
- "expected_output": "{\n \"key\": \"lots of `graved` text is in `this` value\"\n}",
2833
- "tested_features": [
2834
- "quotes",
2835
- "graves"
2836
- ],
2837
- "minimised_modl": "key=lots of `graved` text is in `this` value"
2838
- },
2839
- {
2840
- "id": "298",
2841
- "input": "key=`this `could` be `a` controversial `test` because `the` grammar `splits` this `string` in `a` different `way``",
2842
- "expected_output": "{\n \"key\": \"this `could` be `a` controversial `test` because `the` grammar `splits` this `string` in `a` different `way`\"\n}",
2843
- "tested_features": [
2844
- "quotes",
2845
- "graves"
2846
- ],
2847
- "minimised_modl": "key=`this `could` be `a` controversial `test` because `the` grammar `splits` this `string` in `a` different `way``"
2848
- },
2849
- {
2850
- "id": "299",
2851
- "input": "_test=abc;\nkey=%test.u",
2852
- "expected_output": "{\n \"key\": \"ABC\"\n}",
2853
- "tested_features": [
2854
- "object_ref"
2855
- ],
2856
- "minimised_modl": "_test=abc;key=%test.u"
2857
- },
2858
- {
2859
- "id": "300",
2860
- "input": "_test=replace the word this in this string;\ntesting=%test.replace<`this`,`that`>",
2861
- "expected_output": "{\n \"testing\": \"replace the word that in that string\"\n}",
2862
- "tested_features": [
2863
- "methods",
2864
- "object_ref",
2865
- "graves"
2866
- ],
2867
- "minimised_modl": "_test=replace the word this in this string;testing=%test.replace<`this`,`that`>"
2868
- },
2869
- {
2870
- "id": "301",
2871
- "input": "_test=replace the word this in this string;\ntesting=%test.replace<this,``>",
2872
- "expected_output": "{\n \"testing\": \"replace the word in string\"\n}",
2873
- "tested_features": [
2874
- "methods",
2875
- "object_ref",
2876
- "graves"
2877
- ],
2878
- "minimised_modl": "_test=replace the word this in this string;testing=%test.replace<this,``>"
2879
- },
2880
- {
2881
- "id": "302",
2882
- "input": "key=%`this`.replace<is,at>",
2883
- "expected_output": "{\n \"key\": \"that\"\n}",
2884
- "tested_features": [
2885
- "methods",
2886
- "object_ref",
2887
- "graves"
2888
- ],
2889
- "minimised_modl": "key=%`this`.replace<is,at>"
2890
- },
2891
- {
2892
- "id": "303",
2893
- "input": "key=`this \"is\" a \"string\" with \"lots\" of \"quoted\" strings`",
2894
- "expected_output": "{\n \"key\": \"this \\\"is\\\" a \\\"string\\\" with \\\"lots\\\" of \\\"quoted\\\" strings\"\n}",
2895
- "tested_features": [
2896
- "graves",
2897
- "quotes"
2898
- ],
2899
- "minimised_modl": "key=`this \"is\" a \"string\" with \"lots\" of \"quoted\" strings`"
2900
- },
2901
- {
2902
- "id": "304",
2903
- "input": "_vat=20;\nkey=vat rate is %vat%%",
2904
- "expected_output": "{\n \"key\": \"vat rate is 20%\"\n}",
2905
- "tested_features": [
2906
- "object_ref"
2907
- ],
2908
- "minimised_modl": "_vat=20;key=vat rate is %vat%%"
2909
- },
2910
- {
2911
- "id": "305",
2912
- "input": "_vat=20;\nkey=vat rate is %vat%",
2913
- "expected_output": "{\n \"key\": \"vat rate is 20\"\n}",
2914
- "tested_features": [
2915
- "object_ref"
2916
- ],
2917
- "minimised_modl": "_vat=20;key=vat rate is %vat%"
2918
- },
2919
- {
2920
- "id": "306",
2921
- "input": "_vat=20;\nkey=vat rate is %vat%%",
2922
- "expected_output": "{\n \"key\": \"vat rate is 20%\"\n}",
2923
- "tested_features": [
2924
- "object_ref",
2925
- "escapes"
2926
- ],
2927
- "minimised_modl": "_vat=20;key=vat rate is %vat%%"
2928
- },
2929
- {
2930
- "id": "307",
2931
- "input": "DELETED",
2932
- "expected_output": "DELETED",
2933
- "tested_features": [
2934
- "DELETED"
2935
- ],
2936
- "minimised_modl": "DELETED"
2937
- },
2938
- {
2939
- "id": "308",
2940
- "input": "_vat=20;\nkey=vat rate is %vat %",
2941
- "expected_output": "{\n \"key\": \"vat rate is 20 %\"\n}",
2942
- "tested_features": [
2943
- "object_ref"
2944
- ],
2945
- "minimised_modl": "_vat=20;key=vat rate is %vat %"
2946
- },
2947
- {
2948
- "id": "309",
2949
- "input": "_vat=20;\nkey=`vat rate is %vat%%`",
2950
- "expected_output": "{\n \"key\": \"vat rate is 20%\"\n}",
2951
- "tested_features": [
2952
- "object_ref",
2953
- "graves"
2954
- ],
2955
- "minimised_modl": "_vat=20;key=`vat rate is %vat%%`"
2956
- },
2957
- {
2958
- "id": "310",
2959
- "input": "_vat=20;\nkey=\"vat rate is %vat%%\"",
2960
- "expected_output": "{\n \"key\": \"vat rate is 20%\"\n}",
2961
- "tested_features": [
2962
- "object_ref",
2963
- "quotes"
2964
- ],
2965
- "minimised_modl": "_vat=20;key=\"vat rate is %vat%%\""
2966
- },
2967
- {
2968
- "id": "311",
2969
- "input": "_vat=20;\nkey=\"vat rate is %vat%`%`\"",
2970
- "expected_output": "{\n \"key\": \"vat rate is 20`%`\"\n}",
2971
- "tested_features": [
2972
- "objetct_ref",
2973
- "graves"
2974
- ],
2975
- "minimised_modl": "_vat=20;key=\"vat rate is %vat%`%`\""
2976
- },
2977
- {
2978
- "id": "312",
2979
- "input": "_vat=20;\nkey=\"vat rate is %vat`%`\"",
2980
- "expected_output": "{\n \"key\": \"vat rate is 20`%`\"\n}",
2981
- "tested_features": [
2982
- "object_ref",
2983
- "graves"
2984
- ],
2985
- "minimised_modl": "_vat=20;key=\"vat rate is %vat`%`\""
2986
- },
2987
- {
2988
- "id": "313",
2989
- "input": "_test1=e1afmkfd;\nrussian1=%test1.p;\n\n_test2=\"e1afmkfd\";\nrussian2=%test2.p;\n\n_test3=`e1afmkfd`;\nrussian3=%test3.p;",
2990
- "expected_output": "{\n \"russian1\": \"пример\",\n \"russian2\": \"пример\",\n \"russian3\": \"пример\"\n}",
2991
- "tested_features": [
2992
- "punycode",
2993
- "methods"
2994
- ],
2995
- "minimised_modl": "_test1=e1afmkfd;russian1=%test1.p;_test2=\"e1afmkfd\";russian2=%test2.p;_test3=`e1afmkfd`;russian3=%test3.p;"
2996
- },
2997
- {
2998
- "id": "314",
2999
- "input": "_letters=abc;key=\"~%letters\"",
3000
- "expected_output": "{\"key\":\"%letters\"}",
3001
- "tested_features": [
3002
- "escape"
3003
- ],
3004
- "minimised_modl": "_letters=abc;key=\"~%letters\""
3005
- },
3006
- {
3007
- "id": "315",
3008
- "input": "_letters=abc;key=\"\\%letters\"",
3009
- "expected_output": "{\"key\":\"%letters\"}",
3010
- "tested_features": [
3011
- "escape"
3012
- ],
3013
- "minimised_modl": "_letters=abc;key=\"\\%letters\""
3014
- },
3015
- {
3016
- "id": "316",
3017
- "input": "We\\u2019re=We\\u2019re;You~u2019re=We~u2019re",
3018
- "expected_output": "{\n \"We’re\": \"We’re\",\n \"You’re\": \"We’re\"\n}",
3019
- "tested_features": [
3020
- "unicode"
3021
- ],
3022
- "minimised_modl": "We\\u2019re=We\\u2019re;You~u2019re=We~u2019re"
3023
- },
3024
- {
3025
- "id": "317",
3026
- "input": "*class(\n *id=numbers;\n *assign=[[one;two;three]]\n);\n*class(\n *id=letters;\n *assign=[[a;b;c]]\n);\n*class(\n *id=myArray;\n *assign=[[letters;numbers]]\n);\nmyArray=[[a;b;c];[1;2;3]]",
3027
- "expected_output": "{\n \"myArray\": [\n {\n \"a\": \"a\",\n \"b\": \"b\",\n \"c\": \"c\"\n },\n {\n \"one\": 1,\n \"two\": 2,\n \"three\": 3\n }\n ]\n}",
3028
- "tested_features": [
3029
- "class"
3030
- ],
3031
- "minimised_modl": "*class(*id=numbers;*assign=[[one;two;three]]);*class(*id=letters;*assign=[[a;b;c]]);*class(*id=myArray;*assign=[[letters;numbers]]);myArray=[[a;b;c];[1;2;3]]"
3032
- },
3033
- {
3034
- "id": "318",
3035
- "input": "*class(\n *id=root; ## (or something along these lines)\n *assign=[[myArray]]\n);\n*class(\n *id=numbers;\n *assign=[[one;two;three]]\n);\n*class(\n *id=letters;\n *assign=[[alpha;bravo;charlie]]\n);\n*class(\n *id=myArray;\n *assign=[[letters;numbers]]\n);\n\n[[a;b;c];[1;2;3]]",
3036
- "expected_output": "[\n {\n \"alpha\": \"a\",\n \"bravo\": \"b\",\n \"charlie\": \"c\"\n },\n {\n \"one\": 1,\n \"two\": 2,\n \"three\": 3\n }\n]",
3037
- "tested_features": [
3038
- "class"
3039
- ],
3040
- "minimised_modl": "*class(*id=root;*assign=[[myArray]]);*class(*id=numbers;*assign=[[one;two;three]]);*class(*id=letters;*assign=[[a;b;c]]);*class(*id=myArray;*assign=[[letters;numbers]]);[[a;b;c];[1;2;3]]"
3041
- },
3042
- {
3043
- "id": "319",
3044
- "input": "*class(\n *id=root;\n *assign=[[people]]\n);\n*class(\n *id=people;\n *assign=[[person*]]\n);\n*class(\n *id=person;\n *assign=[[first;last;age]]\n);\n\n[[John;Smith;20];[Jane;Jones;21]]",
3045
- "expected_output": "[\n {\n \"first\": \"John\",\n \"last\": \"Smith\",\n \"age\": 20\n },\n {\n \"first\": \"Jane\",\n \"last\": \"Jones\",\n \"age\": 21\n }\n]",
3046
- "tested_features": [
3047
- "class"
3048
- ],
3049
- "minimised_modl": "*class(*id=root;*assign=[[people]]);*class(*id=people;*assign=[[person*]]);*class(*id=person;*assign=[[first;last;age]]);[[John;Smith;20];[Jane;Jones;21]]"
3050
- },
3051
- {
3052
- "id": "320",
3053
- "input": "*class(\n *id=m;\n *name=message;\n *superclass=map;\n *assign=[\n [direction;date_time;message]\n ];\n method=sms\n);\n\n[\n m=out:2018-03-22 15\\:25:Hi;\n m=in:2018-03-22 15\\:26:Hello, how are you?;\n m=out:2018-03-22 15\\:25:Hi, good thanks;\n m=out:2018-03-22 15\\:26:How about you?;\n m=in:2018-03-22 15\\:26:Yes, fine thanks. What are you up to?;\n m=out:2018-03-22 15\\:25:Just testing out MODL;\n m=in:2018-03-22 15\\:26:Cool!\n]",
3054
- "expected_output": "[\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Hi\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Hello, how are you?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Hi, good thanks\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"How about you?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Yes, fine thanks. What are you up to?\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"out\",\n \"date_time\": \"2018-03-22 15:25\",\n \"message\": \"Just testing out MODL\",\n \"method\": \"sms\"\n }\n },\n {\n \"message\": {\n \"direction\": \"in\",\n \"date_time\": \"2018-03-22 15:26\",\n \"message\": \"Cool!\",\n \"method\": \"sms\"\n }\n }\n]",
3055
- "tested_features": [
3056
- "class"
3057
- ],
3058
- "minimised_modl": "*class(*id=m;*name=message;*superclass=map;*assign=[[direction;date_time;message]];method=sms);[m=out:2018-03-22 15\\:25:Hi;m=in:2018-03-22 15\\:26:Hello, how are you?;m=out:2018-03-22 15\\:25:Hi, good thanks;m=out:2018-03-22 15\\:26:How about you?;m=in:2018-03-22 1\\:26:Yes, fine thanks. What are you up to?;m=out:2018-03-22 15\\:25:Just testing out MODL;m=in:2018-03-22 15\\:26:Cool!]"
3059
- },
3060
- {
3061
- "id": "321",
3062
- "input": "test=\\~u2019",
3063
- "expected_output": "{\n \"test\": \"~u2019\"\n}",
3064
- "tested_features": [
3065
- "unicode",
3066
- "escapes"
3067
- ],
3068
- "minimised_modl": "test=\\~u2019"
3069
- },
3070
- {
3071
- "id": "322",
3072
- "input": "test=\\\\u2019",
3073
- "expected_output": "{\n \"test\": \"\\\\u2019\"\n}",
3074
- "tested_features": [
3075
- "unicode",
3076
- "escapes"
3077
- ],
3078
- "minimised_modl": "test=\\\\u2019"
3079
- },
3080
- {
3081
- "id": "323",
3082
- "input": "test=\\\\~u2019\\\\u2019~u2019\\\\u2019",
3083
- "expected_output": "{\n \"test\": \"~u2019\\\\u2019\u2019\\\\u2019\"\n}",
3084
- "tested_features": [
3085
- "unicode",
3086
- "escapes"
3087
- ],
3088
- "minimised_modl": "test=\\\\~u2019\\\\u2019~u2019\\\\u2019"
3089
- },
3090
- {
3091
- "id": "324",
3092
- "input": "test=~~u2019",
3093
- "expected_output": "{\n \"test\": \"~u2019\"\n}",
3094
- "tested_features": [
3095
- "unicode",
3096
- "escapes"
3097
- ],
3098
- "minimised_modl": "test=~~u2019"
3099
- },
3100
- {
3101
- "id": "325",
3102
- "input": "test=\\~u2019",
3103
- "expected_output": "{\n \"test\": \"~u2019\"\n}",
3104
- "tested_features": [
3105
- "unicode",
3106
- "escapes"
3107
- ],
3108
- "minimised_modl": "test=\\~u2019"
3109
- },
3110
- {
3111
- "id": "326",
3112
- "input": "*class(\n *id=v;\n *name=variants;\n *assign=[[variant*]]\n);\n\n*class(\n *id=variant;\n *assign=[[key1;key2;key3]]\n);\n\nv[[one;two;three];[four;five;six]]",
3113
- "expected_output": "{\n \"variants\": [\n {\n \"key1\": \"one\",\n \"key2\": \"two\",\n \"key3\": \"three\"\n },\n {\n \"key1\": \"four\",\n \"key2\": \"five\",\n \"key3\": \"six\"\n }\n ]\n}",
3114
- "tested_features": [
3115
- "class"
3116
- ],
3117
- "minimised_modl": "*class(*id=v;*name=variants;*assign=[[variant*]]);*class(*id=variant;*assign=[[key1;key2;key3]]);v[[one;two;three];[four;five;six]]"
3118
- },
3119
- {
3120
- "id": "327",
3121
- "input": "*class(\n *id=v;\n *name=variants;\n *assign=[[variant*]]\n);\n\n*class(\n *id=variant;\n *assign=[[key1;key2;key3]]\n);\n\nv[one:two:three]",
3122
- "expected_output": "{\n \"variants\": [\n {\n \"key1\": \"one\",\n \"key2\": \"two\",\n \"key3\": \"three\"\n }\n ]\n}",
3123
- "tested_features": [
3124
- "class"
3125
- ],
3126
- "minimised_modl": "*class(*id=v;*name=variants;*assign=[[variant*]]);*class(*id=variant;*assign=[[key1;key2;key3]]);v[one:two:three]"
3127
- },
3128
- {
3129
- "id": "328",
3130
- "input": "*class(\n *id=i;\n *name=images\n);\n\n*class(\n *id=n;\n *name=name\n);\n\n*class(\n *id=t;\n *name=type\n);\n\n*class(\n *id=u;\n *name=url\n);\n\n*class(\n *id=m;\n *name=mime\n);\n\n*class(\n *id=w;\n *name=width\n);\n\n*class(\n *id=h;\n *name=height\n);\n\n*class(\n *id=v;\n *name=variants;\n *assign=[[variant*]]\n);\n\n*class(\n *id=variant;\n *assign=[[u;m;w;h]]\n);\n\n_U(\n ## Logo hosting URLs\n l=\"https://www.logos.uk/num/\"\n);\n\n_M(\n ## MIME types\n p=\"image/png\"\n);i[(t=logo;v[(u=`http://www.bupa.com/~/media/images/site-specific-images/corporate-images/content%20block%20images/dad-kissing-daughter.jpg`;m=image/jpeg;w=541;h=281)]);(t=logo;v[(u=`https://www.bupa.com/favicon.ico`;m=image/jpeg;w=16;h=16)])]",
3131
- "expected_output": "{\n \"images\": [\n {\n \"type\": \"logo\",\n \"variants\": [\n {\n \"url\": \"http://www.bupa.com//media/images/site-specific-images/corporate-images/content%20block%20images/dad-kissing-daughter.jpg\",\n \"mime\": \"image/jpeg\",\n \"width\": 541,\n \"height\": 281\n }\n ]\n },\n {\n \"type\": \"logo\",\n \"variants\": [\n {\n \"url\": \"https://www.bupa.com/favicon.ico\",\n \"mime\": \"image/jpeg\",\n \"width\": 16,\n \"height\": 16\n }\n ]\n }\n ]\n}",
3132
- "tested_features": [
3133
- "class"
3134
- ],
3135
- "minimised_modl": "*class(*id=i;*name=images);*class(*id=n;*name=name);*class(*id=t;*name=type);*class(*id=u;*name=url);*class(*id=m;*name=mime);*class(*id=w;*name=width);*class(*id=h;*name=height);*class(*id=v;*name=variants;*assign=[[variant*]]);*class(*id=variant;*assign=[[u;m;w;h]]\n);\n\n_U(\n ## Logo hosting URLs\n l=\"https://www.logos.uk/num/\"\n);\n\n_M(\n ## MIME types\n p=\"image/png\"\n);i[(t=logo;v[(u=`http://www.bupa.com/~/media/images/site-specific-images/corporate-images/content%20block%20images/dad-kissing-daughter.jpg`;m=image/jpeg;w=541;h=281)]);(t=logo;v[(u=`https://www.bupa.com/favicon.ico`;m=image/jpeg;w=16;h=16)])]"
3136
- },
3137
- {
3138
- "id": "329",
3139
- "input": "*load=\"http://modules.num.uk/3/rcf.txt!\";_n=1;?=tesco.com;i(t=icon;v[%U.l%%0%.png:%M.p%:300:300])",
3140
- "expected_output": "{\n \"images\": {\n \"type\": \"icon\",\n \"variants\": [\n {\n \"url\": \"https://www.logos.uk/num/tesco.com.png\",\n \"mime\": \"image/png\",\n \"width\": 300,\n \"height\": 300\n }\n ]\n }\n}",
3141
- "tested_features": [
3142
- "object_ref"
3143
- ],
3144
- "minimised_modl": "*load=\"http://modules.num.uk/3/rcf.txt!\";_n=1;?=tesco.com;i(t=icon;v[%U.l%%0%.png:%M.p%:300:300])"
3145
- },
3146
- {
3147
- "id": "330",
3148
- "input": "_u=[\"https://www.logos.uk/\"];\nl=%u.0%logo.png",
3149
- "expected_output": "{\"l\": \"https://www.logos.uk/logo.png\"}",
3150
- "tested_features": [
3151
- "object_ref"
3152
- ],
3153
- "minimised_modl": "_u=[\"https://www.logos.uk/\"];l=%u.0%logo.png"
3154
- },
3155
- {
3156
- "id": "331",
3157
- "input": "_C=gb;_L=en;*load=\"http://modules.num.uk/1/rcf.txt!\";o(c[fb=abc;tw=abc])",
3158
- "expected_output": "{\n \"organisation\": {\n \"contacts\": [\n {\n \"facebook\": {\n \"value\": \"abc\",\n \"object_type\": \"media\",\n \"object_display_name\": \"Facebook\",\n \"description_default\": \"View Facebook profile\",\n \"prefix\": \"https://www.facebook.com/\",\n \"media_type\": \"3p\",\n \"controller\": \"facebook.com\"\n }\n },\n {\n \"twitter\": {\n \"value\": \"abc\",\n \"object_type\": \"media\",\n \"object_display_name\": \"Twitter\",\n \"description_default\": \"View Twitter profile\",\n \"prefix\": \"https://www.twitter.com/\",\n \"media_type\": \"3p\",\n \"value_prefix\": \"@\",\n \"controller\": \"twitter.com\"\n }\n }\n ],\n \"object_type\": \"entity\",\n \"object_display_name\": \"Organisation\",\n \"description_default\": \"View Organisation\"\n }\n}",
3159
- "tested_features": [
3160
- "object_ref"
3161
- ],
3162
- "minimised_modl": "_C=gb;_L=en;*load=\"http://modules.num.uk/1/rcf.txt!\";o(c[fb=abc;tw=abc])"
3163
- },
3164
- {
3165
- "id": "332",
3166
- "input": "test=~u1f60000",
3167
- "expected_output": "{\n \"test\": \"\uD83D\uDE0000\"\n}",
3168
- "tested_features": [
3169
- "unicode",
3170
- "escapes"
3171
- ],
3172
- "minimised_modl": "test=\\~u1f60000"
3173
- }
3174
- ]