marty 2.4.7 → 2.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile.dummy +8 -5
  3. data/Gemfile.lock +1 -1
  4. data/README.md +8 -0
  5. data/app/assets/javascripts/marty/application.js +1 -0
  6. data/app/assets/javascripts/marty/codemirror/codemirror.js +9730 -0
  7. data/app/{components/marty/script_form/client → assets/javascripts/marty/codemirror}/mode/delorean/delorean.js +0 -0
  8. data/app/assets/javascripts/marty/codemirror/mode/javascript/javascript.js +900 -0
  9. data/app/assets/javascripts/marty/codemirror/mode/python/python.js +399 -0
  10. data/app/{components/marty/script_form/client → assets/javascripts/marty/codemirror}/mode/ruby/ruby.js +135 -34
  11. data/app/{components/marty/script_form/client/Ext.ux.form.field.CodeMirror.js → assets/javascripts/marty/extjs/extensions/marty.js} +87 -6
  12. data/app/assets/stylesheets/marty/application.css +1 -13
  13. data/app/assets/stylesheets/marty/codemirror/codemirror.css +346 -0
  14. data/app/{components/marty/script_form/client → assets/stylesheets/marty/codemirror}/delorean.css +0 -0
  15. data/app/components/marty/auth_app/client/auth_app.js +82 -80
  16. data/app/components/marty/data_grid_view.rb +1 -54
  17. data/app/components/marty/data_grid_view/client/data_grid_view.js +49 -0
  18. data/app/components/marty/form.rb +1 -5
  19. data/app/components/marty/form/client/form.js +5 -0
  20. data/app/components/marty/grid.rb +1 -146
  21. data/app/components/marty/grid/client/grid.js +146 -0
  22. data/app/components/marty/import_view.rb +1 -32
  23. data/app/components/marty/import_view/client/import_view.js +32 -0
  24. data/app/components/marty/live_search_grid_panel.rb +1 -21
  25. data/app/components/marty/live_search_grid_panel/client/live_search_grid_panel.js +27 -0
  26. data/app/components/marty/main_auth_app.rb +4 -145
  27. data/app/components/marty/main_auth_app/client/main_auth_app.js +124 -0
  28. data/app/components/marty/mcfly_grid_panel.rb +1 -17
  29. data/app/components/marty/mcfly_grid_panel/client/mcfly_grid_panel.js +37 -0
  30. data/app/components/marty/new_posting_form.rb +1 -6
  31. data/app/components/marty/new_posting_form/client/new_posting_form.js +6 -0
  32. data/app/components/marty/panel.rb +1 -5
  33. data/app/components/marty/panel/client/panel.js +5 -0
  34. data/app/components/marty/posting_grid.rb +4 -55
  35. data/app/components/marty/posting_grid/client/posting_grid.js +50 -0
  36. data/app/components/marty/promise_view.rb +2 -75
  37. data/app/components/marty/promise_view/client/promise_view.css +12 -9
  38. data/app/components/marty/promise_view/client/promise_view.js +57 -0
  39. data/app/components/marty/report_form.rb +3 -69
  40. data/app/components/marty/report_form/client/report_form.js +78 -0
  41. data/app/components/marty/report_select.rb +1 -45
  42. data/app/components/marty/report_select/client/report_select.js +50 -0
  43. data/app/components/marty/reporting.rb +1 -8
  44. data/app/components/marty/reporting/client/reporting.js +8 -0
  45. data/app/components/marty/script_form.rb +2 -63
  46. data/app/components/marty/script_form/client/script_form.js +44 -0
  47. data/app/components/marty/script_tester.rb +1 -7
  48. data/app/components/marty/script_tester/client/script_tester.js +7 -0
  49. data/app/components/marty/scripting.rb +1 -55
  50. data/app/components/marty/scripting/client/scripting.js +62 -0
  51. data/app/components/marty/simple_app/client/simple_app.js +21 -13
  52. data/app/models/marty/promise.rb +22 -1
  53. data/app/views/layouts/marty/application.html.erb +8 -6
  54. data/docker-compose.dummy.yml +2 -0
  55. data/lib/marty/monkey.rb +0 -16
  56. data/lib/marty/version.rb +1 -1
  57. data/spec/dummy/config/initializers/assets.rb +1 -0
  58. data/spec/features/reporting_spec.rb +1 -0
  59. data/spec/features/scripting_spec.rb +4 -4
  60. data/spec/spec_helper.rb +1 -0
  61. data/spec/support/chromedriver.rb +5 -1
  62. data/spec/support/shared_connection_db_helpers.rb +42 -2
  63. metadata +29 -168
  64. data/app/assets/images/marty/.gitkeep +0 -0
  65. data/app/components/marty/mcfly_grid_panel/client/dup_in_form.js +0 -20
  66. data/app/components/marty/script_form/client/codemirror.css +0 -172
  67. data/app/components/marty/script_form/client/codemirror.js +0 -3130
  68. data/app/components/marty/script_form/client/mode/clike/clike.js +0 -284
  69. data/app/components/marty/script_form/client/mode/clike/index.html +0 -102
  70. data/app/components/marty/script_form/client/mode/clike/scala.html +0 -766
  71. data/app/components/marty/script_form/client/mode/clojure/clojure.js +0 -206
  72. data/app/components/marty/script_form/client/mode/clojure/index.html +0 -67
  73. data/app/components/marty/script_form/client/mode/coffeescript/LICENSE +0 -22
  74. data/app/components/marty/script_form/client/mode/coffeescript/coffeescript.js +0 -346
  75. data/app/components/marty/script_form/client/mode/coffeescript/index.html +0 -728
  76. data/app/components/marty/script_form/client/mode/commonlisp/commonlisp.js +0 -101
  77. data/app/components/marty/script_form/client/mode/commonlisp/index.html +0 -165
  78. data/app/components/marty/script_form/client/mode/css/css.js +0 -448
  79. data/app/components/marty/script_form/client/mode/css/index.html +0 -58
  80. data/app/components/marty/script_form/client/mode/css/test.js +0 -501
  81. data/app/components/marty/script_form/client/mode/diff/diff.js +0 -32
  82. data/app/components/marty/script_form/client/mode/diff/index.html +0 -105
  83. data/app/components/marty/script_form/client/mode/ecl/ecl.js +0 -203
  84. data/app/components/marty/script_form/client/mode/ecl/index.html +0 -42
  85. data/app/components/marty/script_form/client/mode/erlang/erlang.js +0 -463
  86. data/app/components/marty/script_form/client/mode/erlang/index.html +0 -63
  87. data/app/components/marty/script_form/client/mode/gfm/gfm.js +0 -150
  88. data/app/components/marty/script_form/client/mode/gfm/index.html +0 -48
  89. data/app/components/marty/script_form/client/mode/go/go.js +0 -170
  90. data/app/components/marty/script_form/client/mode/go/index.html +0 -73
  91. data/app/components/marty/script_form/client/mode/groovy/groovy.js +0 -210
  92. data/app/components/marty/script_form/client/mode/groovy/index.html +0 -72
  93. data/app/components/marty/script_form/client/mode/haskell/haskell.js +0 -242
  94. data/app/components/marty/script_form/client/mode/haskell/index.html +0 -61
  95. data/app/components/marty/script_form/client/mode/haxe/haxe.js +0 -429
  96. data/app/components/marty/script_form/client/mode/haxe/index.html +0 -91
  97. data/app/components/marty/script_form/client/mode/htmlembedded/htmlembedded.js +0 -72
  98. data/app/components/marty/script_form/client/mode/htmlembedded/index.html +0 -50
  99. data/app/components/marty/script_form/client/mode/htmlmixed/htmlmixed.js +0 -84
  100. data/app/components/marty/script_form/client/mode/htmlmixed/index.html +0 -52
  101. data/app/components/marty/script_form/client/mode/javascript/index.html +0 -78
  102. data/app/components/marty/script_form/client/mode/javascript/javascript.js +0 -361
  103. data/app/components/marty/script_form/client/mode/jinja2/index.html +0 -38
  104. data/app/components/marty/script_form/client/mode/jinja2/jinja2.js +0 -42
  105. data/app/components/marty/script_form/client/mode/less/index.html +0 -740
  106. data/app/components/marty/script_form/client/mode/less/less.js +0 -266
  107. data/app/components/marty/script_form/client/mode/lua/index.html +0 -73
  108. data/app/components/marty/script_form/client/mode/lua/lua.js +0 -140
  109. data/app/components/marty/script_form/client/mode/markdown/index.html +0 -343
  110. data/app/components/marty/script_form/client/mode/markdown/markdown.js +0 -382
  111. data/app/components/marty/script_form/client/mode/markdown/test.js +0 -1084
  112. data/app/components/marty/script_form/client/mode/mysql/index.html +0 -42
  113. data/app/components/marty/script_form/client/mode/mysql/mysql.js +0 -186
  114. data/app/components/marty/script_form/client/mode/ntriples/index.html +0 -33
  115. data/app/components/marty/script_form/client/mode/ntriples/ntriples.js +0 -172
  116. data/app/components/marty/script_form/client/mode/ocaml/index.html +0 -130
  117. data/app/components/marty/script_form/client/mode/ocaml/ocaml.js +0 -114
  118. data/app/components/marty/script_form/client/mode/pascal/LICENSE +0 -7
  119. data/app/components/marty/script_form/client/mode/pascal/index.html +0 -49
  120. data/app/components/marty/script_form/client/mode/pascal/pascal.js +0 -94
  121. data/app/components/marty/script_form/client/mode/perl/LICENSE +0 -19
  122. data/app/components/marty/script_form/client/mode/perl/index.html +0 -63
  123. data/app/components/marty/script_form/client/mode/perl/perl.js +0 -816
  124. data/app/components/marty/script_form/client/mode/php/index.html +0 -49
  125. data/app/components/marty/script_form/client/mode/php/php.js +0 -148
  126. data/app/components/marty/script_form/client/mode/pig/index.html +0 -43
  127. data/app/components/marty/script_form/client/mode/pig/pig.js +0 -172
  128. data/app/components/marty/script_form/client/mode/plsql/index.html +0 -63
  129. data/app/components/marty/script_form/client/mode/plsql/plsql.js +0 -217
  130. data/app/components/marty/script_form/client/mode/properties/index.html +0 -41
  131. data/app/components/marty/script_form/client/mode/properties/properties.js +0 -63
  132. data/app/components/marty/script_form/client/mode/python/LICENSE.txt +0 -21
  133. data/app/components/marty/script_form/client/mode/python/index.html +0 -123
  134. data/app/components/marty/script_form/client/mode/python/python.js +0 -338
  135. data/app/components/marty/script_form/client/mode/r/LICENSE +0 -24
  136. data/app/components/marty/script_form/client/mode/r/index.html +0 -74
  137. data/app/components/marty/script_form/client/mode/r/r.js +0 -141
  138. data/app/components/marty/script_form/client/mode/rpm/changes/changes.js +0 -19
  139. data/app/components/marty/script_form/client/mode/rpm/changes/index.html +0 -54
  140. data/app/components/marty/script_form/client/mode/rpm/spec/index.html +0 -100
  141. data/app/components/marty/script_form/client/mode/rpm/spec/spec.css +0 -5
  142. data/app/components/marty/script_form/client/mode/rpm/spec/spec.js +0 -66
  143. data/app/components/marty/script_form/client/mode/rst/index.html +0 -526
  144. data/app/components/marty/script_form/client/mode/rst/rst.js +0 -326
  145. data/app/components/marty/script_form/client/mode/ruby/LICENSE +0 -24
  146. data/app/components/marty/script_form/client/mode/ruby/index.html +0 -172
  147. data/app/components/marty/script_form/client/mode/rust/index.html +0 -49
  148. data/app/components/marty/script_form/client/mode/rust/rust.js +0 -432
  149. data/app/components/marty/script_form/client/mode/scheme/index.html +0 -65
  150. data/app/components/marty/script_form/client/mode/scheme/scheme.js +0 -230
  151. data/app/components/marty/script_form/client/mode/shell/index.html +0 -50
  152. data/app/components/marty/script_form/client/mode/shell/shell.js +0 -118
  153. data/app/components/marty/script_form/client/mode/sieve/LICENSE +0 -23
  154. data/app/components/marty/script_form/client/mode/sieve/index.html +0 -81
  155. data/app/components/marty/script_form/client/mode/sieve/sieve.js +0 -156
  156. data/app/components/marty/script_form/client/mode/smalltalk/index.html +0 -56
  157. data/app/components/marty/script_form/client/mode/smalltalk/smalltalk.js +0 -139
  158. data/app/components/marty/script_form/client/mode/smarty/index.html +0 -83
  159. data/app/components/marty/script_form/client/mode/smarty/smarty.js +0 -148
  160. data/app/components/marty/script_form/client/mode/sparql/index.html +0 -41
  161. data/app/components/marty/script_form/client/mode/sparql/sparql.js +0 -143
  162. data/app/components/marty/script_form/client/mode/stex/index.html +0 -98
  163. data/app/components/marty/script_form/client/mode/stex/stex.js +0 -182
  164. data/app/components/marty/script_form/client/mode/stex/test.js +0 -343
  165. data/app/components/marty/script_form/client/mode/tiddlywiki/index.html +0 -141
  166. data/app/components/marty/script_form/client/mode/tiddlywiki/tiddlywiki.css +0 -14
  167. data/app/components/marty/script_form/client/mode/tiddlywiki/tiddlywiki.js +0 -384
  168. data/app/components/marty/script_form/client/mode/tiki/index.html +0 -83
  169. data/app/components/marty/script_form/client/mode/tiki/tiki.css +0 -26
  170. data/app/components/marty/script_form/client/mode/tiki/tiki.js +0 -309
  171. data/app/components/marty/script_form/client/mode/vb/LICENSE.txt +0 -21
  172. data/app/components/marty/script_form/client/mode/vb/index.html +0 -89
  173. data/app/components/marty/script_form/client/mode/vb/vb.js +0 -260
  174. data/app/components/marty/script_form/client/mode/vbscript/index.html +0 -43
  175. data/app/components/marty/script_form/client/mode/vbscript/vbscript.js +0 -26
  176. data/app/components/marty/script_form/client/mode/velocity/index.html +0 -104
  177. data/app/components/marty/script_form/client/mode/velocity/velocity.js +0 -146
  178. data/app/components/marty/script_form/client/mode/verilog/index.html +0 -211
  179. data/app/components/marty/script_form/client/mode/verilog/verilog.js +0 -194
  180. data/app/components/marty/script_form/client/mode/xml/index.html +0 -45
  181. data/app/components/marty/script_form/client/mode/xml/xml.js +0 -318
  182. data/app/components/marty/script_form/client/mode/xquery/LICENSE +0 -20
  183. data/app/components/marty/script_form/client/mode/xquery/index.html +0 -223
  184. data/app/components/marty/script_form/client/mode/xquery/test/index.html +0 -27
  185. data/app/components/marty/script_form/client/mode/xquery/test/testBase.js +0 -42
  186. data/app/components/marty/script_form/client/mode/xquery/test/testEmptySequenceKeyword.js +0 -16
  187. data/app/components/marty/script_form/client/mode/xquery/test/testMultiAttr.js +0 -16
  188. data/app/components/marty/script_form/client/mode/xquery/test/testNamespaces.js +0 -91
  189. data/app/components/marty/script_form/client/mode/xquery/test/testProcessingInstructions.js +0 -16
  190. data/app/components/marty/script_form/client/mode/xquery/test/testQuotes.js +0 -19
  191. data/app/components/marty/script_form/client/mode/xquery/xquery.js +0 -451
  192. data/app/components/marty/script_form/client/mode/yaml/index.html +0 -68
  193. data/app/components/marty/script_form/client/mode/yaml/yaml.js +0 -95
  194. data/app/components/marty/script_form/client/theme/ambiance.css +0 -81
  195. data/app/components/marty/script_form/client/theme/blackboard.css +0 -25
  196. data/app/components/marty/script_form/client/theme/cobalt.css +0 -18
  197. data/app/components/marty/script_form/client/theme/eclipse.css +0 -25
  198. data/app/components/marty/script_form/client/theme/elegant.css +0 -10
  199. data/app/components/marty/script_form/client/theme/erlang-dark.css +0 -21
  200. data/app/components/marty/script_form/client/theme/lesser-dark.css +0 -44
  201. data/app/components/marty/script_form/client/theme/monokai.css +0 -28
  202. data/app/components/marty/script_form/client/theme/neat.css +0 -9
  203. data/app/components/marty/script_form/client/theme/night.css +0 -21
  204. data/app/components/marty/script_form/client/theme/rubyblue.css +0 -21
  205. data/app/components/marty/script_form/client/theme/vibrant-ink.css +0 -27
  206. data/app/components/marty/script_form/client/theme/xq-dark.css +0 -46
  207. data/app/components/marty/script_form/client/util/closetag.js +0 -164
  208. data/app/components/marty/script_form/client/util/dialog.css +0 -27
  209. data/app/components/marty/script_form/client/util/dialog.js +0 -70
  210. data/app/components/marty/script_form/client/util/foldcode.js +0 -196
  211. data/app/components/marty/script_form/client/util/formatting.js +0 -193
  212. data/app/components/marty/script_form/client/util/javascript-hint.js +0 -134
  213. data/app/components/marty/script_form/client/util/loadmode.js +0 -51
  214. data/app/components/marty/script_form/client/util/match-highlighter.js +0 -44
  215. data/app/components/marty/script_form/client/util/multiplex.js +0 -77
  216. data/app/components/marty/script_form/client/util/overlay.js +0 -54
  217. data/app/components/marty/script_form/client/util/pig-hint.js +0 -123
  218. data/app/components/marty/script_form/client/util/runmode-standalone.js +0 -90
  219. data/app/components/marty/script_form/client/util/runmode.js +0 -53
  220. data/app/components/marty/script_form/client/util/search.js +0 -118
  221. data/app/components/marty/script_form/client/util/searchcursor.js +0 -119
  222. data/app/components/marty/script_form/client/util/simple-hint.css +0 -16
  223. data/app/components/marty/script_form/client/util/simple-hint.js +0 -97
  224. data/app/components/marty/script_form/client/util/xml-hint.js +0 -137
  225. data/lib/marty/javascript/grid_view_in_form.js +0 -81
@@ -1,182 +0,0 @@
1
- /*
2
- * Author: Constantin Jucovschi (c.jucovschi@jacobs-university.de)
3
- * Licence: MIT
4
- */
5
-
6
- CodeMirror.defineMode("stex", function(cmCfg, modeCfg)
7
- {
8
- function pushCommand(state, command) {
9
- state.cmdState.push(command);
10
- }
11
-
12
- function peekCommand(state) {
13
- if (state.cmdState.length>0)
14
- return state.cmdState[state.cmdState.length-1];
15
- else
16
- return null;
17
- }
18
-
19
- function popCommand(state) {
20
- if (state.cmdState.length>0) {
21
- var plug = state.cmdState.pop();
22
- plug.closeBracket();
23
- }
24
- }
25
-
26
- function applyMostPowerful(state) {
27
- var context = state.cmdState;
28
- for (var i = context.length - 1; i >= 0; i--) {
29
- var plug = context[i];
30
- if (plug.name=="DEFAULT")
31
- continue;
32
- return plug.styleIdentifier();
33
- }
34
- return null;
35
- }
36
-
37
- function addPluginPattern(pluginName, cmdStyle, brackets, styles) {
38
- return function () {
39
- this.name=pluginName;
40
- this.bracketNo = 0;
41
- this.style=cmdStyle;
42
- this.styles = styles;
43
- this.brackets = brackets;
44
-
45
- this.styleIdentifier = function(content) {
46
- if (this.bracketNo<=this.styles.length)
47
- return this.styles[this.bracketNo-1];
48
- else
49
- return null;
50
- };
51
- this.openBracket = function(content) {
52
- this.bracketNo++;
53
- return "bracket";
54
- };
55
- this.closeBracket = function(content) {
56
- };
57
- };
58
- }
59
-
60
- var plugins = new Array();
61
-
62
- plugins["importmodule"] = addPluginPattern("importmodule", "tag", "{[", ["string", "builtin"]);
63
- plugins["documentclass"] = addPluginPattern("documentclass", "tag", "{[", ["", "atom"]);
64
- plugins["usepackage"] = addPluginPattern("documentclass", "tag", "[", ["atom"]);
65
- plugins["begin"] = addPluginPattern("documentclass", "tag", "[", ["atom"]);
66
- plugins["end"] = addPluginPattern("documentclass", "tag", "[", ["atom"]);
67
-
68
- plugins["DEFAULT"] = function () {
69
- this.name="DEFAULT";
70
- this.style="tag";
71
-
72
- this.styleIdentifier = function(content) {
73
- };
74
- this.openBracket = function(content) {
75
- };
76
- this.closeBracket = function(content) {
77
- };
78
- };
79
-
80
- function setState(state, f) {
81
- state.f = f;
82
- }
83
-
84
- function normal(source, state) {
85
- if (source.match(/^\\[a-zA-Z@]+/)) {
86
- var cmdName = source.current();
87
- cmdName = cmdName.substr(1, cmdName.length-1);
88
- var plug;
89
- if (plugins.hasOwnProperty(cmdName)) {
90
- plug = plugins[cmdName];
91
- } else {
92
- plug = plugins["DEFAULT"];
93
- }
94
- plug = new plug();
95
- pushCommand(state, plug);
96
- setState(state, beginParams);
97
- return plug.style;
98
- }
99
-
100
- // escape characters
101
- if (source.match(/^\\[$&%#{}_]/)) {
102
- return "tag";
103
- }
104
-
105
- // white space control characters
106
- if (source.match(/^\\[,;!\/]/)) {
107
- return "tag";
108
- }
109
-
110
- var ch = source.next();
111
- if (ch == "%") {
112
- // special case: % at end of its own line; stay in same state
113
- if (!source.eol()) {
114
- setState(state, inCComment);
115
- }
116
- return "comment";
117
- }
118
- else if (ch=='}' || ch==']') {
119
- plug = peekCommand(state);
120
- if (plug) {
121
- plug.closeBracket(ch);
122
- setState(state, beginParams);
123
- } else
124
- return "error";
125
- return "bracket";
126
- } else if (ch=='{' || ch=='[') {
127
- plug = plugins["DEFAULT"];
128
- plug = new plug();
129
- pushCommand(state, plug);
130
- return "bracket";
131
- }
132
- else if (/\d/.test(ch)) {
133
- source.eatWhile(/[\w.%]/);
134
- return "atom";
135
- }
136
- else {
137
- source.eatWhile(/[\w-_]/);
138
- return applyMostPowerful(state);
139
- }
140
- }
141
-
142
- function inCComment(source, state) {
143
- source.skipToEnd();
144
- setState(state, normal);
145
- return "comment";
146
- }
147
-
148
- function beginParams(source, state) {
149
- var ch = source.peek();
150
- if (ch == '{' || ch == '[') {
151
- var lastPlug = peekCommand(state);
152
- var style = lastPlug.openBracket(ch);
153
- source.eat(ch);
154
- setState(state, normal);
155
- return "bracket";
156
- }
157
- if (/[ \t\r]/.test(ch)) {
158
- source.eat(ch);
159
- return null;
160
- }
161
- setState(state, normal);
162
- lastPlug = peekCommand(state);
163
- if (lastPlug) {
164
- popCommand(state);
165
- }
166
- return normal(source, state);
167
- }
168
-
169
- return {
170
- startState: function() { return { f:normal, cmdState:[] }; },
171
- copyState: function(s) { return { f: s.f, cmdState: s.cmdState.slice(0, s.cmdState.length) }; },
172
-
173
- token: function(stream, state) {
174
- var t = state.f(stream, state);
175
- var w = stream.current();
176
- return t;
177
- }
178
- };
179
- });
180
-
181
- CodeMirror.defineMIME("text/x-stex", "stex");
182
- CodeMirror.defineMIME("text/x-latex", "stex");
@@ -1,343 +0,0 @@
1
- var MT = ModeTest;
2
- MT.modeName = 'stex';
3
- MT.modeOptions = {};
4
-
5
- MT.testMode(
6
- 'word',
7
- 'foo',
8
- [
9
- null, 'foo'
10
- ]
11
- );
12
-
13
- MT.testMode(
14
- 'twoWords',
15
- 'foo bar',
16
- [
17
- null, 'foo bar'
18
- ]
19
- );
20
-
21
- MT.testMode(
22
- 'beginEndDocument',
23
- '\\begin{document}\n\\end{document}',
24
- [
25
- 'tag', '\\begin',
26
- 'bracket', '{',
27
- 'atom', 'document',
28
- 'bracket', '}',
29
- 'tag', '\\end',
30
- 'bracket', '{',
31
- 'atom', 'document',
32
- 'bracket', '}'
33
- ]
34
- );
35
-
36
- MT.testMode(
37
- 'beginEndEquation',
38
- '\\begin{equation}\n E=mc^2\n\\end{equation}',
39
- [
40
- 'tag', '\\begin',
41
- 'bracket', '{',
42
- 'atom', 'equation',
43
- 'bracket', '}',
44
- null, ' E=mc^2',
45
- 'tag', '\\end',
46
- 'bracket', '{',
47
- 'atom', 'equation',
48
- 'bracket', '}'
49
- ]
50
- );
51
-
52
- MT.testMode(
53
- 'beginModule',
54
- '\\begin{module}[]',
55
- [
56
- 'tag', '\\begin',
57
- 'bracket', '{',
58
- 'atom', 'module',
59
- 'bracket', '}[]'
60
- ]
61
- );
62
-
63
- MT.testMode(
64
- 'beginModuleId',
65
- '\\begin{module}[id=bbt-size]',
66
- [
67
- 'tag', '\\begin',
68
- 'bracket', '{',
69
- 'atom', 'module',
70
- 'bracket', '}[',
71
- null, 'id=bbt-size',
72
- 'bracket', ']'
73
- ]
74
- );
75
-
76
- MT.testMode(
77
- 'importModule',
78
- '\\importmodule[b-b-t]{b-b-t}',
79
- [
80
- 'tag', '\\importmodule',
81
- 'bracket', '[',
82
- 'string', 'b-b-t',
83
- 'bracket', ']{',
84
- 'builtin', 'b-b-t',
85
- 'bracket', '}'
86
- ]
87
- );
88
-
89
- MT.testMode(
90
- 'importModulePath',
91
- '\\importmodule[\\KWARCslides{dmath/en/cardinality}]{card}',
92
- [
93
- 'tag', '\\importmodule',
94
- 'bracket', '[',
95
- 'tag', '\\KWARCslides',
96
- 'bracket', '{',
97
- 'string', 'dmath/en/cardinality',
98
- 'bracket', '}]{',
99
- 'builtin', 'card',
100
- 'bracket', '}'
101
- ]
102
- );
103
-
104
- MT.testMode(
105
- 'psForPDF',
106
- '\\PSforPDF[1]{#1}', // could treat #1 specially
107
- [
108
- 'tag', '\\PSforPDF',
109
- 'bracket', '[',
110
- 'atom', '1',
111
- 'bracket', ']{',
112
- null, '#1',
113
- 'bracket', '}'
114
- ]
115
- );
116
-
117
- MT.testMode(
118
- 'comment',
119
- '% foo',
120
- [
121
- 'comment', '% foo'
122
- ]
123
- );
124
-
125
- MT.testMode(
126
- 'tagComment',
127
- '\\item% bar',
128
- [
129
- 'tag', '\\item',
130
- 'comment', '% bar'
131
- ]
132
- );
133
-
134
- MT.testMode(
135
- 'commentTag',
136
- ' % \\item',
137
- [
138
- null, ' ',
139
- 'comment', '% \\item'
140
- ]
141
- );
142
-
143
- MT.testMode(
144
- 'commentLineBreak',
145
- '%\nfoo',
146
- [
147
- 'comment', '%',
148
- null, 'foo'
149
- ]
150
- );
151
-
152
- MT.testMode(
153
- 'tagErrorCurly',
154
- '\\begin}{',
155
- [
156
- 'tag', '\\begin',
157
- 'error', '}',
158
- 'bracket', '{'
159
- ]
160
- );
161
-
162
- MT.testMode(
163
- 'tagErrorSquare',
164
- '\\item]{',
165
- [
166
- 'tag', '\\item',
167
- 'error', ']',
168
- 'bracket', '{'
169
- ]
170
- );
171
-
172
- MT.testMode(
173
- 'commentCurly',
174
- '% }',
175
- [
176
- 'comment', '% }'
177
- ]
178
- );
179
-
180
- MT.testMode(
181
- 'tagHash',
182
- 'the \\# key',
183
- [
184
- null, 'the ',
185
- 'tag', '\\#',
186
- null, ' key'
187
- ]
188
- );
189
-
190
- MT.testMode(
191
- 'tagNumber',
192
- 'a \\$5 stetson',
193
- [
194
- null, 'a ',
195
- 'tag', '\\$',
196
- 'atom', 5,
197
- null, ' stetson'
198
- ]
199
- );
200
-
201
- MT.testMode(
202
- 'tagPercent',
203
- '100\\% beef',
204
- [
205
- 'atom', '100',
206
- 'tag', '\\%',
207
- null, ' beef'
208
- ]
209
- );
210
-
211
- MT.testMode(
212
- 'tagAmpersand',
213
- 'L \\& N',
214
- [
215
- null, 'L ',
216
- 'tag', '\\&',
217
- null, ' N'
218
- ]
219
- );
220
-
221
- MT.testMode(
222
- 'tagUnderscore',
223
- 'foo\\_bar',
224
- [
225
- null, 'foo',
226
- 'tag', '\\_',
227
- null, 'bar'
228
- ]
229
- );
230
-
231
- MT.testMode(
232
- 'tagBracketOpen',
233
- '\\emph{\\{}',
234
- [
235
- 'tag', '\\emph',
236
- 'bracket', '{',
237
- 'tag', '\\{',
238
- 'bracket', '}'
239
- ]
240
- );
241
-
242
- MT.testMode(
243
- 'tagBracketClose',
244
- '\\emph{\\}}',
245
- [
246
- 'tag', '\\emph',
247
- 'bracket', '{',
248
- 'tag', '\\}',
249
- 'bracket', '}'
250
- ]
251
- );
252
-
253
- MT.testMode(
254
- 'tagLetterNumber',
255
- 'section \\S1',
256
- [
257
- null, 'section ',
258
- 'tag', '\\S',
259
- 'atom', '1'
260
- ]
261
- );
262
-
263
- MT.testMode(
264
- 'textTagNumber',
265
- 'para \\P2',
266
- [
267
- null, 'para ',
268
- 'tag', '\\P',
269
- 'atom', '2'
270
- ]
271
- );
272
-
273
- MT.testMode(
274
- 'thinspace',
275
- 'x\\,y', // thinspace
276
- [
277
- null, 'x',
278
- 'tag', '\\,',
279
- null, 'y'
280
- ]
281
- );
282
-
283
- MT.testMode(
284
- 'thickspace',
285
- 'x\\;y', // thickspace
286
- [
287
- null, 'x',
288
- 'tag', '\\;',
289
- null, 'y'
290
- ]
291
- );
292
-
293
- MT.testMode(
294
- 'negativeThinspace',
295
- 'x\\!y', // negative thinspace
296
- [
297
- null, 'x',
298
- 'tag', '\\!',
299
- null, 'y'
300
- ]
301
- );
302
-
303
- MT.testMode(
304
- 'periodNotSentence',
305
- 'J.\\ L.\\ is', // period not ending a sentence
306
- [
307
- null, 'J.\\ L.\\ is'
308
- ]
309
- ); // maybe could be better
310
-
311
- MT.testMode(
312
- 'periodSentence',
313
- 'X\\@. The', // period ending a sentence
314
- [
315
- null, 'X',
316
- 'tag', '\\@',
317
- null, '. The'
318
- ]
319
- );
320
-
321
- MT.testMode(
322
- 'italicCorrection',
323
- '{\\em If\\/} I', // italic correction
324
- [
325
- 'bracket', '{',
326
- 'tag', '\\em',
327
- null, ' If',
328
- 'tag', '\\/',
329
- 'bracket', '}',
330
- null, ' I'
331
- ]
332
- );
333
-
334
- MT.testMode(
335
- 'tagBracket',
336
- '\\newcommand{\\pop}',
337
- [
338
- 'tag', '\\newcommand',
339
- 'bracket', '{',
340
- 'tag', '\\pop',
341
- 'bracket', '}'
342
- ]
343
- );