nadesiko3 3.3.45 → 3.3.49

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 (329) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +143 -132
  3. package/batch/browsers.template.md +3 -3
  4. package/batch/build_browsers.nako3 +72 -72
  5. package/batch/build_command.nako3 +44 -44
  6. package/batch/build_nako_version.nako3 +42 -42
  7. package/batch/calc_hash.nako3 +29 -29
  8. package/batch/cmd_txt2json.nako3 +74 -74
  9. package/batch/command.txt +270 -338
  10. package/batch/command_nakopad.txt +9 -69
  11. package/batch/download-extlib.nako3 +43 -43
  12. package/batch/gen_command_nakopad.nako3 +57 -57
  13. package/batch/jsplugin2text.nako3 +285 -285
  14. package/batch/pickup_command.nako3 +110 -110
  15. package/batch/pickup_reserved_words.nako3 +11 -11
  16. package/batch/publish_version.nako3 +46 -46
  17. package/batch/show_agents.js +14 -14
  18. package/batch/turtle2js.nako3 +21 -21
  19. package/bin/cnako3 +10 -10
  20. package/core/.editorconfig +6 -0
  21. package/core/.eslintrc.cjs +33 -0
  22. package/core/.github/dependabot.yml +7 -0
  23. package/core/.github/workflows/nodejs.yml +37 -0
  24. package/core/.github/workflows/super-linter.yml +61 -0
  25. package/core/.github/workflows/textlint.yml +199 -0
  26. package/core/LICENSE +21 -0
  27. package/core/README.md +66 -0
  28. package/core/batch/build_nako_version.nako3 +42 -0
  29. package/core/command/snako.mjs +105 -0
  30. package/core/command/snako.mts +116 -0
  31. package/core/index.mjs +21 -0
  32. package/core/index.mts +21 -0
  33. package/core/package.json +47 -0
  34. package/core/sample/hello.nako3 +7 -0
  35. package/core/sample/hoge.mjs +4 -0
  36. package/core/sample/hoge.mts +6 -0
  37. package/core/src/nako3.mjs +858 -0
  38. package/core/src/nako3.mts +967 -0
  39. package/core/src/nako_colors.mjs +78 -0
  40. package/core/src/nako_colors.mts +86 -0
  41. package/core/src/nako_core_version.mjs +8 -0
  42. package/core/src/nako_core_version.mts +19 -0
  43. package/core/src/nako_csv.mjs +185 -0
  44. package/core/src/nako_csv.mts +188 -0
  45. package/core/src/nako_errors.mjs +173 -0
  46. package/core/src/nako_errors.mts +197 -0
  47. package/core/src/nako_from_dncl.mjs +255 -0
  48. package/core/src/nako_from_dncl.mts +250 -0
  49. package/core/src/nako_gen.mjs +1648 -0
  50. package/core/src/nako_gen.mts +1719 -0
  51. package/core/src/nako_gen_async.mjs +1659 -0
  52. package/core/src/nako_gen_async.mts +1732 -0
  53. package/core/src/nako_global.mjs +107 -0
  54. package/core/src/nako_global.mts +138 -0
  55. package/core/src/nako_indent.mjs +445 -0
  56. package/core/src/nako_indent.mts +492 -0
  57. package/core/src/nako_josi_list.mjs +38 -0
  58. package/core/src/nako_josi_list.mts +45 -0
  59. package/core/src/nako_lex_rules.mjs +253 -0
  60. package/core/src/nako_lex_rules.mts +260 -0
  61. package/core/src/nako_lexer.mjs +609 -0
  62. package/core/src/nako_lexer.mts +612 -0
  63. package/core/src/nako_logger.mjs +199 -0
  64. package/core/src/nako_logger.mts +232 -0
  65. package/core/src/nako_parser3.mjs +2439 -0
  66. package/core/src/nako_parser3.mts +2195 -0
  67. package/core/src/nako_parser_base.mjs +370 -0
  68. package/core/src/nako_parser_base.mts +370 -0
  69. package/core/src/nako_parser_const.mjs +37 -0
  70. package/core/src/nako_parser_const.mts +37 -0
  71. package/core/src/nako_prepare.mjs +304 -0
  72. package/core/src/nako_prepare.mts +315 -0
  73. package/core/src/nako_reserved_words.mjs +38 -0
  74. package/core/src/nako_reserved_words.mts +38 -0
  75. package/core/src/nako_source_mapping.mjs +207 -0
  76. package/core/src/nako_source_mapping.mts +262 -0
  77. package/core/src/nako_test.mjs +37 -0
  78. package/core/src/nako_types.mjs +25 -0
  79. package/core/src/nako_types.mts +151 -0
  80. package/core/src/plugin_csv.mjs +49 -0
  81. package/core/src/plugin_csv.mts +50 -0
  82. package/core/src/plugin_math.mjs +328 -0
  83. package/core/src/plugin_math.mts +326 -0
  84. package/core/src/plugin_promise.mjs +91 -0
  85. package/core/src/plugin_promise.mts +91 -0
  86. package/core/src/plugin_system.mjs +2832 -0
  87. package/core/src/plugin_system.mts +2690 -0
  88. package/core/src/plugin_test.mjs +34 -0
  89. package/core/src/plugin_test.mts +34 -0
  90. package/core/test/array_test.mjs +34 -0
  91. package/core/test/basic_test.mjs +344 -0
  92. package/core/test/calc_test.mjs +140 -0
  93. package/core/test/core_module_test.mjs +23 -0
  94. package/core/test/debug_test.mjs +16 -0
  95. package/core/test/dncl_test.mjs +94 -0
  96. package/core/test/error_message_test.mjs +210 -0
  97. package/core/test/error_test.mjs +16 -0
  98. package/core/test/flow_test.mjs +373 -0
  99. package/core/test/func_call.mjs +160 -0
  100. package/core/test/func_test.mjs +149 -0
  101. package/core/test/indent_test.mjs +364 -0
  102. package/core/test/lex_test.mjs +168 -0
  103. package/core/test/literal_test.mjs +73 -0
  104. package/core/test/nako_lexer_test.mjs +35 -0
  105. package/core/test/nako_logger_test.mjs +76 -0
  106. package/core/test/nako_logger_test.mts +78 -0
  107. package/core/test/plugin_csv_test.mjs +38 -0
  108. package/core/test/plugin_promise_test.mjs +18 -0
  109. package/core/test/plugin_system_test.mjs +630 -0
  110. package/core/test/prepare_test.mjs +96 -0
  111. package/core/test/re_test.mjs +22 -0
  112. package/core/test/side_effects_test.mjs +92 -0
  113. package/core/test/variable_scope_test.mjs +149 -0
  114. package/core/tsconfig.json +101 -0
  115. package/demo/ace_editor.html +89 -89
  116. package/demo/ace_editor_tabs.html +161 -161
  117. package/demo/basic.html +71 -71
  118. package/demo/browsers.html +9 -10
  119. package/demo/css/basic.css +3 -3
  120. package/demo/css/common.css +157 -157
  121. package/demo/css/editor.css +8 -8
  122. package/demo/css/flow.css +3 -3
  123. package/demo/css/index.css +3 -3
  124. package/demo/flow.html +98 -98
  125. package/demo/graph.html +53 -53
  126. package/demo/image/nakopad-icon256.png +0 -0
  127. package/demo/index.html +133 -133
  128. package/demo/js/common.js +17 -17
  129. package/demo/js/turtle3d_test.js +44 -44
  130. package/demo/js/turtle_test.js +45 -45
  131. package/demo/nako3/calc.nako3 +4 -4
  132. package/demo/runscript.html +47 -47
  133. package/demo/runscript2.html +33 -33
  134. package/demo/runscript3.html +35 -35
  135. package/demo/runscript4.html +33 -33
  136. package/demo/turtle.html +58 -58
  137. package/demo/turtle2.html +141 -141
  138. package/demo/turtle3.html +279 -279
  139. package/demo/turtle3d.html +58 -58
  140. package/demo/turtle3d2.html +107 -107
  141. package/demo/version.html +24 -24
  142. package/doc/SETUP.md +157 -157
  143. package/doc/about.md +17 -17
  144. package/doc/browsers.md +26 -26
  145. package/doc/docgen.md +21 -21
  146. package/doc/editor.md +44 -44
  147. package/doc/files.md +39 -39
  148. package/doc/plugins.md +234 -234
  149. package/doc/release.md +79 -79
  150. package/doc/textlint.md +43 -43
  151. package/doc/win32.md +57 -57
  152. package/package.json +195 -192
  153. package/release/_hash.txt +28 -28
  154. package/release/_script-tags.txt +14 -14
  155. package/release/command.json +1 -1
  156. package/release/command.json.js +1 -1
  157. package/release/command_cnako3.json +1 -1
  158. package/release/command_list.json +1 -1
  159. package/release/editor.js +1 -1
  160. package/release/nako_gen_async.js +1 -1
  161. package/release/plugin_csv.js +1 -1
  162. package/release/stats.json +1 -1
  163. package/release/version.js +1 -1
  164. package/release/wnako3.js +1 -1
  165. package/release/wnako3webworker.js +1 -1
  166. package/src/browsers.txt +11 -12
  167. package/src/browsers_agents.json +2 -2
  168. package/src/browsers_agents.mjs +1 -1
  169. package/src/cnako3.mjs +17 -10
  170. package/src/cnako3.mts +18 -12
  171. package/src/cnako3mod.mjs +707 -687
  172. package/src/cnako3mod.mts +712 -696
  173. package/src/commander_ja.mjs +164 -164
  174. package/src/commander_ja.mts +161 -161
  175. package/src/enako3.mjs +68 -69
  176. package/src/era.mjs +22 -22
  177. package/src/image_turtle-elephant.mjs +2 -5
  178. package/src/image_turtle-panda.mjs +2 -5
  179. package/src/image_turtle64.mjs +2 -5
  180. package/src/index.mjs +9 -9
  181. package/src/index.mts +10 -11
  182. package/src/nako3editorfix.sfd +106 -106
  183. package/src/nako_version.mjs +8 -8
  184. package/src/nako_version.mts +2 -2
  185. package/src/plugin_browser.mjs +213 -212
  186. package/src/plugin_browser.mts +206 -205
  187. package/src/plugin_browser_ajax.mjs +399 -399
  188. package/src/plugin_browser_audio.mjs +109 -109
  189. package/src/plugin_browser_canvas.mjs +449 -449
  190. package/src/plugin_browser_chart.mjs +294 -294
  191. package/src/plugin_browser_color.mjs +49 -49
  192. package/src/plugin_browser_crypto.mjs +26 -26
  193. package/src/plugin_browser_dialog.mjs +53 -53
  194. package/src/plugin_browser_dom_basic.mjs +336 -336
  195. package/src/plugin_browser_dom_event.mjs +193 -193
  196. package/src/plugin_browser_dom_parts.mjs +396 -396
  197. package/src/plugin_browser_geolocation.mjs +51 -51
  198. package/src/plugin_browser_hotkey.mjs +25 -25
  199. package/src/plugin_browser_html.mjs +59 -59
  200. package/src/plugin_browser_in_worker.mjs +45 -45
  201. package/src/plugin_browser_location.mjs +21 -21
  202. package/src/plugin_browser_speech.mjs +111 -111
  203. package/src/plugin_browser_storage.mjs +121 -121
  204. package/src/plugin_browser_system.mjs +31 -31
  205. package/src/plugin_browser_websocket.mjs +73 -73
  206. package/src/plugin_caniuse.mjs +29 -29
  207. package/src/plugin_datetime.mjs +394 -394
  208. package/src/plugin_httpserver.mjs +277 -0
  209. package/src/plugin_httpserver.mts +286 -0
  210. package/src/plugin_kansuji.mjs +224 -224
  211. package/src/plugin_keigo.mjs +55 -55
  212. package/src/plugin_markup.mjs +32 -32
  213. package/src/plugin_node.mjs +1047 -1047
  214. package/src/plugin_node.mts +980 -980
  215. package/src/plugin_turtle.mjs +647 -647
  216. package/src/plugin_webworker.mjs +334 -334
  217. package/src/plugin_weykturtle3d.mjs +1214 -1214
  218. package/src/plugin_worker.mjs +95 -95
  219. package/src/repl.nako3 +63 -63
  220. package/src/wnako3.mjs +12 -12
  221. package/src/wnako3.mts +11 -11
  222. package/src/wnako3_editor.css +215 -215
  223. package/src/wnako3_editor.mjs +1542 -1542
  224. package/src/wnako3_editor.mts +1657 -1656
  225. package/src/wnako3mod.mjs +213 -213
  226. package/src/wnako3mod.mts +214 -214
  227. package/src/wnako3webworker.mjs +69 -68
  228. package/test/ace_editor/karma.config.js +94 -94
  229. package/test/ace_editor/test/.babelrc.json +3 -3
  230. package/test/ace_editor/test/ace_editor_test.js +178 -178
  231. package/test/ace_editor/test/html/custom_context.html +139 -139
  232. package/test/async/async_basic_test.mjs +122 -122
  233. package/test/browser/karma.config.js +221 -221
  234. package/test/browser/test/.babelrc.json +3 -3
  235. package/test/browser/test/compare_util.js +50 -50
  236. package/test/browser/test/html/div_basic.html +2 -2
  237. package/test/browser/test/html/event_dom_form.html +4 -4
  238. package/test/browser/test/html/event_dom_scrolldiv.html +5 -5
  239. package/test/browser/test/import_plugin_checker.js +24 -24
  240. package/test/browser/test/plugin_browser_test.js +51 -51
  241. package/test/browser/test/plugin_browser_test_ajax.js +123 -123
  242. package/test/browser/test/plugin_browser_test_color.js +18 -18
  243. package/test/browser/test/plugin_browser_test_dialog.js +72 -72
  244. package/test/browser/test/plugin_browser_test_dom_event.js +598 -598
  245. package/test/browser/test/plugin_browser_test_dom_parts.js +125 -125
  246. package/test/browser/test/plugin_browser_test_system.js +9 -9
  247. package/test/browser/test/plugin_turtle_test.js +817 -817
  248. package/test/browser/test/plugin_webworker_test.js +86 -86
  249. package/test/browser/test/require_test.js +68 -68
  250. package/test/bundled/karma.config.base.js +117 -117
  251. package/test/bundled/karma.config.js +86 -86
  252. package/test/bundled/test/.babelrc.json +3 -3
  253. package/test/bundled/test/bundled_test.js +69 -69
  254. package/test/bundled/test/html/custom_context.html +65 -65
  255. package/test/bundled/test/html/custom_debug.html +66 -66
  256. package/test/bundled/test4b.cmd +52 -52
  257. package/test/bundled/test_base/.babelrc.json +3 -3
  258. package/test/bundled/test_base/_checktool_test.js +25 -25
  259. package/test/bundled/test_base/basic_ajax_test.js +56 -56
  260. package/test/bundled/test_base/basic_async_test.js +18 -18
  261. package/test/bundled/test_base/basic_test.js +153 -153
  262. package/test/bundled/test_base/calc_test.js +132 -132
  263. package/test/bundled/test_base/css/browsers_box.css +114 -114
  264. package/test/bundled/test_base/html/custom_context.html +69 -69
  265. package/test/bundled/test_base/html/custom_debug.html +71 -71
  266. package/test/bundled/test_base/js/browsers_box.js +72 -72
  267. package/test/bundled/test_base/plugin_csv_test.js +37 -37
  268. package/test/bundled/test_base/plugin_datetime_test.js +115 -115
  269. package/test/bundled/test_base/plugin_kansuji_test.js +49 -49
  270. package/test/bundled/test_base/plugin_system_test.js +410 -410
  271. package/test/bundled/test_base/plugin_webworker_test.js +53 -53
  272. package/test/bundled/test_base/test_utils.js +191 -191
  273. package/test/common/plugin_browser_test.mjs +22 -24
  274. package/test/common/plugin_browser_ut_audio_test.mjs +108 -108
  275. package/test/common/plugin_browser_ut_color_test.mjs +21 -21
  276. package/test/common/plugin_browser_ut_dialog_test.mjs +100 -100
  277. package/test/common/plugin_browser_ut_html_test.mjs +13 -13
  278. package/test/common/plugin_browser_ut_system_test.mjs +10 -10
  279. package/test/common/plugin_markup_test.mjs +23 -23
  280. package/test/jsconfig.json +19 -19
  281. package/test/karma.config.js +91 -91
  282. package/test/node/async_test.mjs +96 -82
  283. package/test/node/commander_ja_test.mjs +89 -89
  284. package/test/node/error_message_test.mjs +243 -253
  285. package/test/node/kai_test.nako3 +6 -6
  286. package/test/node/node_test.mjs +60 -60
  287. package/test/node/plugin_broken.js.txt +3 -3
  288. package/test/node/plugin_browser_ut_ajax_test.mjs.todo +357 -357
  289. package/test/node/plugin_browser_ut_location_test.mjs +42 -42
  290. package/test/node/plugin_markup_test.mjs +47 -46
  291. package/test/node/plugin_math_test.mjs +45 -44
  292. package/test/node/plugin_node_test.mjs +98 -97
  293. package/test/node/plugin_test.mjs +44 -43
  294. package/test/node/relative_import_test_1.nako3 +1 -1
  295. package/test/node/relative_import_test_2.nako3 +2 -2
  296. package/test/node/require_nako3_test.mjs +67 -66
  297. package/test/node/requiretest.nako3 +4 -4
  298. package/test/node/requiretest_indirect.nako3 +1 -1
  299. package/test/node/requiretest_name.nako3 +5 -5
  300. package/test/node/runtime_error.nako3 +2 -2
  301. package/test/node/scope1.nako3 +10 -10
  302. package/test/node/scope2.nako3 +12 -12
  303. package/test/node/side_effects_test.mjs +39 -119
  304. package/test/node/sjis.txt +5 -5
  305. package/test/node/syntax_error.nako3 +1 -1
  306. package/test/node/wnako3_editor_test.mjs +384 -384
  307. package/tools/README.md +12 -7
  308. package/tools/check_new_version.nako3 +25 -25
  309. package/tools/nako3edit/html/daisyui/LICENSE +22 -22
  310. package/tools/nako3edit/html/daisyui/version_2.14.1 +1 -1
  311. package/tools/nako3edit/html/edit.html +170 -170
  312. package/tools/nako3edit/html/edit_plugin.js +6 -6
  313. package/tools/nako3edit/html/files.html +125 -125
  314. package/tools/nako3edit/html/nako3edit.css +65 -65
  315. package/tools/nako3edit/index.mjs +248 -244
  316. package/tools/nako3server/index.html +10 -0
  317. package/tools/nako3server/index.mjs +116 -116
  318. package/tools/nako3server/index.nako3 +34 -0
  319. package/release/nako_gen_async.js.LICENSE.txt +0 -35
  320. package/release/plugin_caniuse.js.LICENSE.txt +0 -11
  321. package/release/plugin_csv.js.LICENSE.txt +0 -15
  322. package/release/plugin_datetime.js.LICENSE.txt +0 -15
  323. package/release/plugin_kansuji.js.LICENSE.txt +0 -3
  324. package/release/plugin_markup.js.LICENSE.txt +0 -11
  325. package/release/plugin_turtle.js.LICENSE.txt +0 -15
  326. package/release/plugin_webworker.js.LICENSE.txt +0 -3
  327. package/release/plugin_weykturtle3d.js.LICENSE.txt +0 -3
  328. package/release/wnako3webworker.js.LICENSE.txt +0 -131
  329. package/tools/nako3edit/a.sqlite3 +0 -0
@@ -1,51 +1,51 @@
1
- import { NakoCompiler } from 'nadesiko3core/src/nako3.mjs'
2
- import PluginBrowser from 'nako3/plugin_browser.mjs'
3
-
4
- import browserTestColor from './plugin_browser_test_color.js'
5
- import browserTestSystem from './plugin_browser_test_system.js'
6
- import browserTestDialog from './plugin_browser_test_dialog.js'
7
- import browserTestAjax from './plugin_browser_test_ajax.js'
8
- import browserTestDomEvent from './plugin_browser_test_dom_event.js'
9
- import browserTestDomParts from './plugin_browser_test_dom_parts.js'
10
-
11
- class CallReport {
12
- constructor (nako) {
13
- this.funcCalled = false
14
- this.rslt = []
15
- nako.addFunc('報告', [['を']], (msg) => {
16
- this.funcCalled = true
17
- this.rslt.push(msg)
18
- })
19
- }
20
-
21
- reset () {
22
- this.funcCalled = false
23
- this.rslt = []
24
- }
25
-
26
- get isCalled () {
27
- return this.funcCalled
28
- }
29
-
30
- get messages () {
31
- return this.rslt
32
- }
33
-
34
- getMessageAsJson () {
35
- return JSON.stringify(this.rslt)
36
- }
37
- }
38
-
39
-
40
- describe('plugin_browser_test', () => {
41
- const nako = new NakoCompiler()
42
- nako.addPluginFile('PluginBrowser', 'plugin_browser.js', PluginBrowser)
43
- window.cr = new CallReport(nako)
44
-
45
- browserTestColor(nako)
46
- browserTestSystem(nako)
47
- browserTestDialog(nako)
48
- browserTestAjax(nako)
49
- browserTestDomEvent(nako)
50
- browserTestDomParts(nako)
51
- })
1
+ import { NakoCompiler } from 'nadesiko3core/src/nako3.mjs'
2
+ import PluginBrowser from 'nako3/plugin_browser.mjs'
3
+
4
+ import browserTestColor from './plugin_browser_test_color.js'
5
+ import browserTestSystem from './plugin_browser_test_system.js'
6
+ import browserTestDialog from './plugin_browser_test_dialog.js'
7
+ import browserTestAjax from './plugin_browser_test_ajax.js'
8
+ import browserTestDomEvent from './plugin_browser_test_dom_event.js'
9
+ import browserTestDomParts from './plugin_browser_test_dom_parts.js'
10
+
11
+ class CallReport {
12
+ constructor (nako) {
13
+ this.funcCalled = false
14
+ this.rslt = []
15
+ nako.addFunc('報告', [['を']], (msg) => {
16
+ this.funcCalled = true
17
+ this.rslt.push(msg)
18
+ })
19
+ }
20
+
21
+ reset () {
22
+ this.funcCalled = false
23
+ this.rslt = []
24
+ }
25
+
26
+ get isCalled () {
27
+ return this.funcCalled
28
+ }
29
+
30
+ get messages () {
31
+ return this.rslt
32
+ }
33
+
34
+ getMessageAsJson () {
35
+ return JSON.stringify(this.rslt)
36
+ }
37
+ }
38
+
39
+
40
+ describe('plugin_browser_test', () => {
41
+ const nako = new NakoCompiler()
42
+ nako.addPluginFile('PluginBrowser', 'plugin_browser.js', PluginBrowser)
43
+ window.cr = new CallReport(nako)
44
+
45
+ browserTestColor(nako)
46
+ browserTestSystem(nako)
47
+ browserTestDialog(nako)
48
+ browserTestAjax(nako)
49
+ browserTestDomEvent(nako)
50
+ browserTestDomParts(nako)
51
+ })
@@ -1,123 +1,123 @@
1
- import * as td from 'testdouble'
2
- import { CompareUtil, waitTimer, retry } from './compare_util'
3
-
4
- export default (nako) => {
5
- const cu = new CompareUtil(nako)
6
-
7
- describe('ajax通信', () => {
8
- it('POSTデータ生成', () => {
9
- const code = `
10
- パラメータは空オブジェクト。
11
- パラメータ["KEY"]は、「VALUE」。
12
- パラメータ["_X"]は、「XE^ZA」。
13
- パラメータ["SPACE"]は、「 」。
14
- パラメータをPOSTデータ生成してJSONエンコードして表示する。
15
- `
16
- cu.cmp(code, '"KEY=VALUE&_X=XE%5EZA&SPACE=%20"')
17
- })
18
-
19
- it('AJAXオプション設定', () => {
20
- const code = `
21
- パラメータは空オブジェクト。
22
- パラメータ["KEY"]は、「VALUE」。
23
- パラメータにAJAXオプション設定する。
24
- AJAXオプションをJSONエンコードして表示する。
25
- `
26
- cu.cmp(code, '{"KEY":"VALUE"}')
27
- })
28
-
29
- it('AJAX送信時', async () => {
30
- const windowalert = td.replace(window, 'alert')
31
- const code = '「/custom/ok」へAJAX送信時には;対象をJSONエンコードして言う;ここまで'
32
- nako.logger.debug('code=' + code)
33
- nako.run(code)
34
-
35
- await retry(() => td.verify(windowalert('"OK"'), { times: 1 }))
36
- td.reset()
37
- }).timeout(10000)
38
-
39
- it('POST送信時', async () => {
40
- const windowalert = td.replace(window, 'alert')
41
- const code = `
42
- パラメータは空オブジェクト。
43
- パラメータ["param1"]は、「data1^」。
44
- パラメータ["param2"]は、「data2^^」。
45
- パラメータを「/custom/echo/json」へPOST送信時には
46
- 対象を言う
47
- ここまで
48
- `
49
- nako.logger.debug('code=' + code)
50
- nako.run(code)
51
-
52
- await retry(() => td.verify(windowalert('"param1=data1%5E&param2=data2%5E%5E"'), { times: 1 }))
53
- td.reset()
54
- }).timeout(10000)
55
-
56
- it('POSTフォーム送信時', async () => {
57
- const windowalert = td.replace(window, 'alert')
58
- const code = `
59
- パラメータは空オブジェクト。
60
- パラメータ["param1"]は、「data1^」。
61
- パラメータ["param2"]は、「data2^^」。
62
- パラメータを「/custom/echo/json」へPOSTフォーム送信時には
63
- 対象を言う
64
- ここまで
65
- `
66
- nako.logger.debug('code=' + code)
67
- nako.run(code)
68
-
69
- await retry(() => td.verify(windowalert('{"param1":"data1^","param2":"data2^^"}'), { times: 1 }))
70
- td.reset()
71
- }).timeout(10000)
72
-
73
- it('AJAX送信', async () => {
74
- const windowalert = td.replace(window, 'alert')
75
- const code = `
76
- 逐次実行
77
- 次に、「/custom/ok/json」へAJAX送信する。
78
- 次に、対象を言う。
79
- ここまで
80
- `
81
- nako.logger.debug('code=' + code)
82
- nako.run(code)
83
-
84
- await retry(() => td.verify(windowalert('"OK"'), { times: 1 }))
85
- td.reset()
86
- }).timeout(10000)
87
-
88
- it('POST送信', async () => {
89
- const windowalert = td.replace(window, 'alert')
90
- const code = `
91
- パラメータは空オブジェクト。
92
- パラメータ["param1"]は、「data1^」。
93
- パラメータ["param2"]は、「data2^^」。
94
- 逐次実行
95
- 次に、パラメータを「/custom/echo/json」へPOST送信する。
96
- 次に、対象を言う。
97
- ここまで
98
- `
99
- nako.logger.debug('code=' + code)
100
- nako.run(code)
101
- await retry(() => td.verify(windowalert('"param1=data1%5E&param2=data2%5E%5E"'), { times: 1 }))
102
- td.reset()
103
- }).timeout(10000)
104
-
105
- it('POSTフォーム送信', async () => {
106
- const windowalert = td.replace(window, 'alert')
107
- const code = `
108
- パラメータは空オブジェクト。
109
- パラメータ["param1"]は、「data1^」。
110
- パラメータ["param2"]は、「data2^^」。
111
- 逐次実行
112
- 次に、パラメータを「/custom/echo」へPOSTフォーム送信する。
113
- 次に、対象を言う。
114
- ここまで
115
- `
116
- nako.logger.debug('code=' + code)
117
- nako.run(code)
118
-
119
- await retry(() => td.verify(windowalert('{"param1":"data1^","param2":"data2^^"}'), { times: 1 }))
120
- td.reset()
121
- }).timeout(10000)
122
- })
123
- }
1
+ import * as td from 'testdouble'
2
+ import { CompareUtil, waitTimer, retry } from './compare_util'
3
+
4
+ export default (nako) => {
5
+ const cu = new CompareUtil(nako)
6
+
7
+ describe('ajax通信', () => {
8
+ it('POSTデータ生成', () => {
9
+ const code = `
10
+ パラメータは空オブジェクト。
11
+ パラメータ["KEY"]は、「VALUE」。
12
+ パラメータ["_X"]は、「XE^ZA」。
13
+ パラメータ["SPACE"]は、「 」。
14
+ パラメータをPOSTデータ生成してJSONエンコードして表示する。
15
+ `
16
+ cu.cmp(code, '"KEY=VALUE&_X=XE%5EZA&SPACE=%20"')
17
+ })
18
+
19
+ it('AJAXオプション設定', () => {
20
+ const code = `
21
+ パラメータは空オブジェクト。
22
+ パラメータ["KEY"]は、「VALUE」。
23
+ パラメータにAJAXオプション設定する。
24
+ AJAXオプションをJSONエンコードして表示する。
25
+ `
26
+ cu.cmp(code, '{"KEY":"VALUE"}')
27
+ })
28
+
29
+ it('AJAX送信時', async () => {
30
+ const windowalert = td.replace(window, 'alert')
31
+ const code = '「/custom/ok」へAJAX送信時には;対象をJSONエンコードして言う;ここまで'
32
+ nako.logger.debug('code=' + code)
33
+ nako.run(code)
34
+
35
+ await retry(() => td.verify(windowalert('"OK"'), { times: 1 }))
36
+ td.reset()
37
+ }).timeout(10000)
38
+
39
+ it('POST送信時', async () => {
40
+ const windowalert = td.replace(window, 'alert')
41
+ const code = `
42
+ パラメータは空オブジェクト。
43
+ パラメータ["param1"]は、「data1^」。
44
+ パラメータ["param2"]は、「data2^^」。
45
+ パラメータを「/custom/echo/json」へPOST送信時には
46
+ 対象を言う
47
+ ここまで
48
+ `
49
+ nako.logger.debug('code=' + code)
50
+ nako.run(code)
51
+
52
+ await retry(() => td.verify(windowalert('"param1=data1%5E&param2=data2%5E%5E"'), { times: 1 }))
53
+ td.reset()
54
+ }).timeout(10000)
55
+
56
+ it('POSTフォーム送信時', async () => {
57
+ const windowalert = td.replace(window, 'alert')
58
+ const code = `
59
+ パラメータは空オブジェクト。
60
+ パラメータ["param1"]は、「data1^」。
61
+ パラメータ["param2"]は、「data2^^」。
62
+ パラメータを「/custom/echo/json」へPOSTフォーム送信時には
63
+ 対象を言う
64
+ ここまで
65
+ `
66
+ nako.logger.debug('code=' + code)
67
+ nako.run(code)
68
+
69
+ await retry(() => td.verify(windowalert('{"param1":"data1^","param2":"data2^^"}'), { times: 1 }))
70
+ td.reset()
71
+ }).timeout(10000)
72
+
73
+ it('AJAX送信', async () => {
74
+ const windowalert = td.replace(window, 'alert')
75
+ const code = `
76
+ 逐次実行
77
+ 次に、「/custom/ok/json」へAJAX送信する。
78
+ 次に、対象を言う。
79
+ ここまで
80
+ `
81
+ nako.logger.debug('code=' + code)
82
+ nako.run(code)
83
+
84
+ await retry(() => td.verify(windowalert('"OK"'), { times: 1 }))
85
+ td.reset()
86
+ }).timeout(10000)
87
+
88
+ it('POST送信', async () => {
89
+ const windowalert = td.replace(window, 'alert')
90
+ const code = `
91
+ パラメータは空オブジェクト。
92
+ パラメータ["param1"]は、「data1^」。
93
+ パラメータ["param2"]は、「data2^^」。
94
+ 逐次実行
95
+ 次に、パラメータを「/custom/echo/json」へPOST送信する。
96
+ 次に、対象を言う。
97
+ ここまで
98
+ `
99
+ nako.logger.debug('code=' + code)
100
+ nako.run(code)
101
+ await retry(() => td.verify(windowalert('"param1=data1%5E&param2=data2%5E%5E"'), { times: 1 }))
102
+ td.reset()
103
+ }).timeout(10000)
104
+
105
+ it('POSTフォーム送信', async () => {
106
+ const windowalert = td.replace(window, 'alert')
107
+ const code = `
108
+ パラメータは空オブジェクト。
109
+ パラメータ["param1"]は、「data1^」。
110
+ パラメータ["param2"]は、「data2^^」。
111
+ 逐次実行
112
+ 次に、パラメータを「/custom/echo」へPOSTフォーム送信する。
113
+ 次に、対象を言う。
114
+ ここまで
115
+ `
116
+ nako.logger.debug('code=' + code)
117
+ nako.run(code)
118
+
119
+ await retry(() => td.verify(windowalert('{"param1":"data1^","param2":"data2^^"}'), { times: 1 }))
120
+ td.reset()
121
+ }).timeout(10000)
122
+ })
123
+ }
@@ -1,18 +1,18 @@
1
- import { CompareUtil } from './compare_util'
2
-
3
- export default (nako) => {
4
- const cu = new CompareUtil(nako)
5
-
6
- describe('色', () => {
7
- it('RGB', () => {
8
- cu.cmp('CODE=RGB(255,255,255);CODEを大文字変換して表示', '#FFFFFF')
9
- cu.cmp('CODE=RGB(0,255,255);CODEを大文字変換して表示', '#00FFFF')
10
- cu.cmp('CODE=RGB(0,0,0);CODEを大文字変換して表示', '#000000')
11
- cu.cmp('CODE=22と25と255のRGB;CODEを大文字変換して表示', '#1619FF')
12
- cu.cmp('22と25と255のRGBを大文字変換して表示', '#1619FF')
13
- })
14
- it('色混ぜる', () => {
15
- cu.cmp('[255,255,255]の色混ぜして大文字変換して表示', '#FFFFFF')
16
- })
17
- })
18
- }
1
+ import { CompareUtil } from './compare_util'
2
+
3
+ export default (nako) => {
4
+ const cu = new CompareUtil(nako)
5
+
6
+ describe('色', () => {
7
+ it('RGB', () => {
8
+ cu.cmp('CODE=RGB(255,255,255);CODEを大文字変換して表示', '#FFFFFF')
9
+ cu.cmp('CODE=RGB(0,255,255);CODEを大文字変換して表示', '#00FFFF')
10
+ cu.cmp('CODE=RGB(0,0,0);CODEを大文字変換して表示', '#000000')
11
+ cu.cmp('CODE=22と25と255のRGB;CODEを大文字変換して表示', '#1619FF')
12
+ cu.cmp('22と25と255のRGBを大文字変換して表示', '#1619FF')
13
+ })
14
+ it('色混ぜる', () => {
15
+ cu.cmp('[255,255,255]の色混ぜして大文字変換して表示', '#FFFFFF')
16
+ })
17
+ })
18
+ }
@@ -1,72 +1,72 @@
1
- import * as td from 'testdouble'
2
- import { assert } from './compare_util'
3
-
4
- export default (nako) => {
5
- describe('言う', () => {
6
- const cmpalert = (code, msg) => {
7
- const windowalert = td.replace(window, 'alert')
8
- td.when(windowalert(msg)).thenReturn(undefined)
9
- nako.logger.debug('code=' + code)
10
- nako.run(code)
11
- td.verify(windowalert(td.matchers.anything()), { times: 1 })
12
- td.reset()
13
- }
14
- it('言う', () => {
15
- cmpalert('「あいうえおか」を言う', 'あいうえおか')
16
- })
17
- })
18
- describe('尋ねる/文字尋ねる', () => {
19
- const cmpprompt = (code, msg, rslt, res) => {
20
- const windowprompt = td.replace(window, 'prompt')
21
- td.when(windowprompt(msg)).thenReturn(rslt)
22
- nako.logger.debug('code=' + code)
23
- assert.strictEqual(nako.run(code).log, res)
24
- td.verify(windowprompt(td.matchers.anything()), { times: 1 })
25
- td.reset()
26
- }
27
- it('尋ねる - string', () => {
28
- cmpprompt('A=「から」を尋ねる;AをJSONエンコードして表示', 'から', null, '""')
29
- cmpprompt('A=「かきくけこ」を尋ねる;AをJSONエンコードして表示', 'かきくけこ', 'abc', '"abc"')
30
- cmpprompt('A=「あ」を尋ねる;AをJSONエンコードして表示', 'あ', '1..5', '"1..5"')
31
- cmpprompt('A=「い」を尋ねる;AをJSONエンコードして表示', 'い', '1.2.3', '"1.2.3"')
32
- cmpprompt('A=「う」を尋ねる;AをJSONエンコードして表示', 'う', '....', '"...."')
33
- })
34
- it('尋ねる - number', () => {
35
- cmpprompt('A=「あいうえおか」を尋ねる;AをJSONエンコードして表示', 'あいうえおか', '1.24', '1.24')
36
- cmpprompt('A=「かききけこけ」を尋ねる;AをJSONエンコードして表示', 'かききけこけ', '20', '20')
37
- cmpprompt('A=「ままみみむむ」を尋ねる;AをJSONエンコードして表示', 'ままみみむむ', '+23', '23')
38
- cmpprompt('A=「さしすせそ」を尋ねる;AをJSONエンコードして表示', 'さしすせそ', '9007199254740991', '9007199254740991')
39
- })
40
- it('尋ねる - negative number', () => {
41
- cmpprompt('A=「さしすせ」を尋ねる;AをJSONエンコードして表示', 'さしすせ', '-10', '-10')
42
- cmpprompt('A=「そ」を尋ねる;AをJSONエンコードして表示', 'そ', '-0.3', '-0.3')
43
- })
44
- it('尋ねる - zenkaku number', () => {
45
- cmpprompt('A=「とてとてとて」を尋ねる;AをJSONエンコードして表示', 'とてとてとて', '20', '20')
46
- cmpprompt('A=「りりりて」を尋ねる;AをJSONエンコードして表示', 'りりりて', '+5.55', '5.55')
47
- cmpprompt('A=「てけり」を尋ねる;AをJSONエンコードして表示', 'てけり', '-0.3', '-0.3')
48
- })
49
- it('文字尋ねる - string', () => {
50
- cmpprompt('A=「から」を文字尋ねる;AをJSONエンコードして表示', 'から', null, '""')
51
- cmpprompt('A=「かきくけこ」を文字尋ねる;AをJSONエンコードして表示', 'かきくけこ', 'abc', '"abc"')
52
- cmpprompt('A=「あ」を文字尋ねる;AをJSONエンコードして表示', 'あ', '1..5', '"1..5"')
53
- cmpprompt('A=「かききけこけ」を文字尋ねる;AをJSONエンコードして表示', 'かききけこけ', '20', '"20"')
54
- cmpprompt('A=「あいうえおか」を文字尋ねる;AをJSONエンコードして表示', 'あいうえおか', '1.24', '"1.24"')
55
- cmpprompt('A=「そ」を文字尋ねる;AをJSONエンコードして表示', 'そ', '-0.3', '"-0.3"')
56
- })
57
- })
58
- describe('二択', () => {
59
- const cmpconfirm = (code, msg, rslt, res) => {
60
- const windowconfirm = td.replace(window, 'confirm')
61
- td.when(windowconfirm(msg)).thenReturn(rslt)
62
- nako.logger.debug('code=' + code)
63
- assert.strictEqual(nako.run(code).log, res)
64
- td.verify(windowconfirm(td.matchers.anything()), { times: 1 })
65
- td.reset()
66
- }
67
- it('二択', () => {
68
- cmpconfirm('A=「これ」で二択;AをJSONエンコードして表示', 'これ', true, 'true')
69
- cmpconfirm('A=「それ」で二択;AをJSONエンコードして表示', 'それ', false, 'false')
70
- })
71
- })
72
- }
1
+ import * as td from 'testdouble'
2
+ import { assert } from './compare_util'
3
+
4
+ export default (nako) => {
5
+ describe('言う', () => {
6
+ const cmpalert = (code, msg) => {
7
+ const windowalert = td.replace(window, 'alert')
8
+ td.when(windowalert(msg)).thenReturn(undefined)
9
+ nako.logger.debug('code=' + code)
10
+ nako.run(code)
11
+ td.verify(windowalert(td.matchers.anything()), { times: 1 })
12
+ td.reset()
13
+ }
14
+ it('言う', () => {
15
+ cmpalert('「あいうえおか」を言う', 'あいうえおか')
16
+ })
17
+ })
18
+ describe('尋ねる/文字尋ねる', () => {
19
+ const cmpprompt = (code, msg, rslt, res) => {
20
+ const windowprompt = td.replace(window, 'prompt')
21
+ td.when(windowprompt(msg)).thenReturn(rslt)
22
+ nako.logger.debug('code=' + code)
23
+ assert.strictEqual(nako.run(code).log, res)
24
+ td.verify(windowprompt(td.matchers.anything()), { times: 1 })
25
+ td.reset()
26
+ }
27
+ it('尋ねる - string', () => {
28
+ cmpprompt('A=「から」を尋ねる;AをJSONエンコードして表示', 'から', null, '""')
29
+ cmpprompt('A=「かきくけこ」を尋ねる;AをJSONエンコードして表示', 'かきくけこ', 'abc', '"abc"')
30
+ cmpprompt('A=「あ」を尋ねる;AをJSONエンコードして表示', 'あ', '1..5', '"1..5"')
31
+ cmpprompt('A=「い」を尋ねる;AをJSONエンコードして表示', 'い', '1.2.3', '"1.2.3"')
32
+ cmpprompt('A=「う」を尋ねる;AをJSONエンコードして表示', 'う', '....', '"...."')
33
+ })
34
+ it('尋ねる - number', () => {
35
+ cmpprompt('A=「あいうえおか」を尋ねる;AをJSONエンコードして表示', 'あいうえおか', '1.24', '1.24')
36
+ cmpprompt('A=「かききけこけ」を尋ねる;AをJSONエンコードして表示', 'かききけこけ', '20', '20')
37
+ cmpprompt('A=「ままみみむむ」を尋ねる;AをJSONエンコードして表示', 'ままみみむむ', '+23', '23')
38
+ cmpprompt('A=「さしすせそ」を尋ねる;AをJSONエンコードして表示', 'さしすせそ', '9007199254740991', '9007199254740991')
39
+ })
40
+ it('尋ねる - negative number', () => {
41
+ cmpprompt('A=「さしすせ」を尋ねる;AをJSONエンコードして表示', 'さしすせ', '-10', '-10')
42
+ cmpprompt('A=「そ」を尋ねる;AをJSONエンコードして表示', 'そ', '-0.3', '-0.3')
43
+ })
44
+ it('尋ねる - zenkaku number', () => {
45
+ cmpprompt('A=「とてとてとて」を尋ねる;AをJSONエンコードして表示', 'とてとてとて', '20', '20')
46
+ cmpprompt('A=「りりりて」を尋ねる;AをJSONエンコードして表示', 'りりりて', '+5.55', '5.55')
47
+ cmpprompt('A=「てけり」を尋ねる;AをJSONエンコードして表示', 'てけり', '-0.3', '-0.3')
48
+ })
49
+ it('文字尋ねる - string', () => {
50
+ cmpprompt('A=「から」を文字尋ねる;AをJSONエンコードして表示', 'から', null, '""')
51
+ cmpprompt('A=「かきくけこ」を文字尋ねる;AをJSONエンコードして表示', 'かきくけこ', 'abc', '"abc"')
52
+ cmpprompt('A=「あ」を文字尋ねる;AをJSONエンコードして表示', 'あ', '1..5', '"1..5"')
53
+ cmpprompt('A=「かききけこけ」を文字尋ねる;AをJSONエンコードして表示', 'かききけこけ', '20', '"20"')
54
+ cmpprompt('A=「あいうえおか」を文字尋ねる;AをJSONエンコードして表示', 'あいうえおか', '1.24', '"1.24"')
55
+ cmpprompt('A=「そ」を文字尋ねる;AをJSONエンコードして表示', 'そ', '-0.3', '"-0.3"')
56
+ })
57
+ })
58
+ describe('二択', () => {
59
+ const cmpconfirm = (code, msg, rslt, res) => {
60
+ const windowconfirm = td.replace(window, 'confirm')
61
+ td.when(windowconfirm(msg)).thenReturn(rslt)
62
+ nako.logger.debug('code=' + code)
63
+ assert.strictEqual(nako.run(code).log, res)
64
+ td.verify(windowconfirm(td.matchers.anything()), { times: 1 })
65
+ td.reset()
66
+ }
67
+ it('二択', () => {
68
+ cmpconfirm('A=「これ」で二択;AをJSONエンコードして表示', 'これ', true, 'true')
69
+ cmpconfirm('A=「それ」で二択;AをJSONエンコードして表示', 'それ', false, 'false')
70
+ })
71
+ })
72
+ }