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.
- package/LICENSE +21 -21
- package/README.md +143 -132
- package/batch/browsers.template.md +3 -3
- package/batch/build_browsers.nako3 +72 -72
- package/batch/build_command.nako3 +44 -44
- package/batch/build_nako_version.nako3 +42 -42
- package/batch/calc_hash.nako3 +29 -29
- package/batch/cmd_txt2json.nako3 +74 -74
- package/batch/command.txt +270 -338
- package/batch/command_nakopad.txt +9 -69
- package/batch/download-extlib.nako3 +43 -43
- package/batch/gen_command_nakopad.nako3 +57 -57
- package/batch/jsplugin2text.nako3 +285 -285
- package/batch/pickup_command.nako3 +110 -110
- package/batch/pickup_reserved_words.nako3 +11 -11
- package/batch/publish_version.nako3 +46 -46
- package/batch/show_agents.js +14 -14
- package/batch/turtle2js.nako3 +21 -21
- package/bin/cnako3 +10 -10
- package/core/.editorconfig +6 -0
- package/core/.eslintrc.cjs +33 -0
- package/core/.github/dependabot.yml +7 -0
- package/core/.github/workflows/nodejs.yml +37 -0
- package/core/.github/workflows/super-linter.yml +61 -0
- package/core/.github/workflows/textlint.yml +199 -0
- package/core/LICENSE +21 -0
- package/core/README.md +66 -0
- package/core/batch/build_nako_version.nako3 +42 -0
- package/core/command/snako.mjs +105 -0
- package/core/command/snako.mts +116 -0
- package/core/index.mjs +21 -0
- package/core/index.mts +21 -0
- package/core/package.json +47 -0
- package/core/sample/hello.nako3 +7 -0
- package/core/sample/hoge.mjs +4 -0
- package/core/sample/hoge.mts +6 -0
- package/core/src/nako3.mjs +858 -0
- package/core/src/nako3.mts +967 -0
- package/core/src/nako_colors.mjs +78 -0
- package/core/src/nako_colors.mts +86 -0
- package/core/src/nako_core_version.mjs +8 -0
- package/core/src/nako_core_version.mts +19 -0
- package/core/src/nako_csv.mjs +185 -0
- package/core/src/nako_csv.mts +188 -0
- package/core/src/nako_errors.mjs +173 -0
- package/core/src/nako_errors.mts +197 -0
- package/core/src/nako_from_dncl.mjs +255 -0
- package/core/src/nako_from_dncl.mts +250 -0
- package/core/src/nako_gen.mjs +1648 -0
- package/core/src/nako_gen.mts +1719 -0
- package/core/src/nako_gen_async.mjs +1659 -0
- package/core/src/nako_gen_async.mts +1732 -0
- package/core/src/nako_global.mjs +107 -0
- package/core/src/nako_global.mts +138 -0
- package/core/src/nako_indent.mjs +445 -0
- package/core/src/nako_indent.mts +492 -0
- package/core/src/nako_josi_list.mjs +38 -0
- package/core/src/nako_josi_list.mts +45 -0
- package/core/src/nako_lex_rules.mjs +253 -0
- package/core/src/nako_lex_rules.mts +260 -0
- package/core/src/nako_lexer.mjs +609 -0
- package/core/src/nako_lexer.mts +612 -0
- package/core/src/nako_logger.mjs +199 -0
- package/core/src/nako_logger.mts +232 -0
- package/core/src/nako_parser3.mjs +2439 -0
- package/core/src/nako_parser3.mts +2195 -0
- package/core/src/nako_parser_base.mjs +370 -0
- package/core/src/nako_parser_base.mts +370 -0
- package/core/src/nako_parser_const.mjs +37 -0
- package/core/src/nako_parser_const.mts +37 -0
- package/core/src/nako_prepare.mjs +304 -0
- package/core/src/nako_prepare.mts +315 -0
- package/core/src/nako_reserved_words.mjs +38 -0
- package/core/src/nako_reserved_words.mts +38 -0
- package/core/src/nako_source_mapping.mjs +207 -0
- package/core/src/nako_source_mapping.mts +262 -0
- package/core/src/nako_test.mjs +37 -0
- package/core/src/nako_types.mjs +25 -0
- package/core/src/nako_types.mts +151 -0
- package/core/src/plugin_csv.mjs +49 -0
- package/core/src/plugin_csv.mts +50 -0
- package/core/src/plugin_math.mjs +328 -0
- package/core/src/plugin_math.mts +326 -0
- package/core/src/plugin_promise.mjs +91 -0
- package/core/src/plugin_promise.mts +91 -0
- package/core/src/plugin_system.mjs +2832 -0
- package/core/src/plugin_system.mts +2690 -0
- package/core/src/plugin_test.mjs +34 -0
- package/core/src/plugin_test.mts +34 -0
- package/core/test/array_test.mjs +34 -0
- package/core/test/basic_test.mjs +344 -0
- package/core/test/calc_test.mjs +140 -0
- package/core/test/core_module_test.mjs +23 -0
- package/core/test/debug_test.mjs +16 -0
- package/core/test/dncl_test.mjs +94 -0
- package/core/test/error_message_test.mjs +210 -0
- package/core/test/error_test.mjs +16 -0
- package/core/test/flow_test.mjs +373 -0
- package/core/test/func_call.mjs +160 -0
- package/core/test/func_test.mjs +149 -0
- package/core/test/indent_test.mjs +364 -0
- package/core/test/lex_test.mjs +168 -0
- package/core/test/literal_test.mjs +73 -0
- package/core/test/nako_lexer_test.mjs +35 -0
- package/core/test/nako_logger_test.mjs +76 -0
- package/core/test/nako_logger_test.mts +78 -0
- package/core/test/plugin_csv_test.mjs +38 -0
- package/core/test/plugin_promise_test.mjs +18 -0
- package/core/test/plugin_system_test.mjs +630 -0
- package/core/test/prepare_test.mjs +96 -0
- package/core/test/re_test.mjs +22 -0
- package/core/test/side_effects_test.mjs +92 -0
- package/core/test/variable_scope_test.mjs +149 -0
- package/core/tsconfig.json +101 -0
- package/demo/ace_editor.html +89 -89
- package/demo/ace_editor_tabs.html +161 -161
- package/demo/basic.html +71 -71
- package/demo/browsers.html +9 -10
- package/demo/css/basic.css +3 -3
- package/demo/css/common.css +157 -157
- package/demo/css/editor.css +8 -8
- package/demo/css/flow.css +3 -3
- package/demo/css/index.css +3 -3
- package/demo/flow.html +98 -98
- package/demo/graph.html +53 -53
- package/demo/image/nakopad-icon256.png +0 -0
- package/demo/index.html +133 -133
- package/demo/js/common.js +17 -17
- package/demo/js/turtle3d_test.js +44 -44
- package/demo/js/turtle_test.js +45 -45
- package/demo/nako3/calc.nako3 +4 -4
- package/demo/runscript.html +47 -47
- package/demo/runscript2.html +33 -33
- package/demo/runscript3.html +35 -35
- package/demo/runscript4.html +33 -33
- package/demo/turtle.html +58 -58
- package/demo/turtle2.html +141 -141
- package/demo/turtle3.html +279 -279
- package/demo/turtle3d.html +58 -58
- package/demo/turtle3d2.html +107 -107
- package/demo/version.html +24 -24
- package/doc/SETUP.md +157 -157
- package/doc/about.md +17 -17
- package/doc/browsers.md +26 -26
- package/doc/docgen.md +21 -21
- package/doc/editor.md +44 -44
- package/doc/files.md +39 -39
- package/doc/plugins.md +234 -234
- package/doc/release.md +79 -79
- package/doc/textlint.md +43 -43
- package/doc/win32.md +57 -57
- package/package.json +195 -192
- package/release/_hash.txt +28 -28
- package/release/_script-tags.txt +14 -14
- package/release/command.json +1 -1
- package/release/command.json.js +1 -1
- package/release/command_cnako3.json +1 -1
- package/release/command_list.json +1 -1
- package/release/editor.js +1 -1
- package/release/nako_gen_async.js +1 -1
- package/release/plugin_csv.js +1 -1
- package/release/stats.json +1 -1
- package/release/version.js +1 -1
- package/release/wnako3.js +1 -1
- package/release/wnako3webworker.js +1 -1
- package/src/browsers.txt +11 -12
- package/src/browsers_agents.json +2 -2
- package/src/browsers_agents.mjs +1 -1
- package/src/cnako3.mjs +17 -10
- package/src/cnako3.mts +18 -12
- package/src/cnako3mod.mjs +707 -687
- package/src/cnako3mod.mts +712 -696
- package/src/commander_ja.mjs +164 -164
- package/src/commander_ja.mts +161 -161
- package/src/enako3.mjs +68 -69
- package/src/era.mjs +22 -22
- package/src/image_turtle-elephant.mjs +2 -5
- package/src/image_turtle-panda.mjs +2 -5
- package/src/image_turtle64.mjs +2 -5
- package/src/index.mjs +9 -9
- package/src/index.mts +10 -11
- package/src/nako3editorfix.sfd +106 -106
- package/src/nako_version.mjs +8 -8
- package/src/nako_version.mts +2 -2
- package/src/plugin_browser.mjs +213 -212
- package/src/plugin_browser.mts +206 -205
- package/src/plugin_browser_ajax.mjs +399 -399
- package/src/plugin_browser_audio.mjs +109 -109
- package/src/plugin_browser_canvas.mjs +449 -449
- package/src/plugin_browser_chart.mjs +294 -294
- package/src/plugin_browser_color.mjs +49 -49
- package/src/plugin_browser_crypto.mjs +26 -26
- package/src/plugin_browser_dialog.mjs +53 -53
- package/src/plugin_browser_dom_basic.mjs +336 -336
- package/src/plugin_browser_dom_event.mjs +193 -193
- package/src/plugin_browser_dom_parts.mjs +396 -396
- package/src/plugin_browser_geolocation.mjs +51 -51
- package/src/plugin_browser_hotkey.mjs +25 -25
- package/src/plugin_browser_html.mjs +59 -59
- package/src/plugin_browser_in_worker.mjs +45 -45
- package/src/plugin_browser_location.mjs +21 -21
- package/src/plugin_browser_speech.mjs +111 -111
- package/src/plugin_browser_storage.mjs +121 -121
- package/src/plugin_browser_system.mjs +31 -31
- package/src/plugin_browser_websocket.mjs +73 -73
- package/src/plugin_caniuse.mjs +29 -29
- package/src/plugin_datetime.mjs +394 -394
- package/src/plugin_httpserver.mjs +277 -0
- package/src/plugin_httpserver.mts +286 -0
- package/src/plugin_kansuji.mjs +224 -224
- package/src/plugin_keigo.mjs +55 -55
- package/src/plugin_markup.mjs +32 -32
- package/src/plugin_node.mjs +1047 -1047
- package/src/plugin_node.mts +980 -980
- package/src/plugin_turtle.mjs +647 -647
- package/src/plugin_webworker.mjs +334 -334
- package/src/plugin_weykturtle3d.mjs +1214 -1214
- package/src/plugin_worker.mjs +95 -95
- package/src/repl.nako3 +63 -63
- package/src/wnako3.mjs +12 -12
- package/src/wnako3.mts +11 -11
- package/src/wnako3_editor.css +215 -215
- package/src/wnako3_editor.mjs +1542 -1542
- package/src/wnako3_editor.mts +1657 -1656
- package/src/wnako3mod.mjs +213 -213
- package/src/wnako3mod.mts +214 -214
- package/src/wnako3webworker.mjs +69 -68
- package/test/ace_editor/karma.config.js +94 -94
- package/test/ace_editor/test/.babelrc.json +3 -3
- package/test/ace_editor/test/ace_editor_test.js +178 -178
- package/test/ace_editor/test/html/custom_context.html +139 -139
- package/test/async/async_basic_test.mjs +122 -122
- package/test/browser/karma.config.js +221 -221
- package/test/browser/test/.babelrc.json +3 -3
- package/test/browser/test/compare_util.js +50 -50
- package/test/browser/test/html/div_basic.html +2 -2
- package/test/browser/test/html/event_dom_form.html +4 -4
- package/test/browser/test/html/event_dom_scrolldiv.html +5 -5
- package/test/browser/test/import_plugin_checker.js +24 -24
- package/test/browser/test/plugin_browser_test.js +51 -51
- package/test/browser/test/plugin_browser_test_ajax.js +123 -123
- package/test/browser/test/plugin_browser_test_color.js +18 -18
- package/test/browser/test/plugin_browser_test_dialog.js +72 -72
- package/test/browser/test/plugin_browser_test_dom_event.js +598 -598
- package/test/browser/test/plugin_browser_test_dom_parts.js +125 -125
- package/test/browser/test/plugin_browser_test_system.js +9 -9
- package/test/browser/test/plugin_turtle_test.js +817 -817
- package/test/browser/test/plugin_webworker_test.js +86 -86
- package/test/browser/test/require_test.js +68 -68
- package/test/bundled/karma.config.base.js +117 -117
- package/test/bundled/karma.config.js +86 -86
- package/test/bundled/test/.babelrc.json +3 -3
- package/test/bundled/test/bundled_test.js +69 -69
- package/test/bundled/test/html/custom_context.html +65 -65
- package/test/bundled/test/html/custom_debug.html +66 -66
- package/test/bundled/test4b.cmd +52 -52
- package/test/bundled/test_base/.babelrc.json +3 -3
- package/test/bundled/test_base/_checktool_test.js +25 -25
- package/test/bundled/test_base/basic_ajax_test.js +56 -56
- package/test/bundled/test_base/basic_async_test.js +18 -18
- package/test/bundled/test_base/basic_test.js +153 -153
- package/test/bundled/test_base/calc_test.js +132 -132
- package/test/bundled/test_base/css/browsers_box.css +114 -114
- package/test/bundled/test_base/html/custom_context.html +69 -69
- package/test/bundled/test_base/html/custom_debug.html +71 -71
- package/test/bundled/test_base/js/browsers_box.js +72 -72
- package/test/bundled/test_base/plugin_csv_test.js +37 -37
- package/test/bundled/test_base/plugin_datetime_test.js +115 -115
- package/test/bundled/test_base/plugin_kansuji_test.js +49 -49
- package/test/bundled/test_base/plugin_system_test.js +410 -410
- package/test/bundled/test_base/plugin_webworker_test.js +53 -53
- package/test/bundled/test_base/test_utils.js +191 -191
- package/test/common/plugin_browser_test.mjs +22 -24
- package/test/common/plugin_browser_ut_audio_test.mjs +108 -108
- package/test/common/plugin_browser_ut_color_test.mjs +21 -21
- package/test/common/plugin_browser_ut_dialog_test.mjs +100 -100
- package/test/common/plugin_browser_ut_html_test.mjs +13 -13
- package/test/common/plugin_browser_ut_system_test.mjs +10 -10
- package/test/common/plugin_markup_test.mjs +23 -23
- package/test/jsconfig.json +19 -19
- package/test/karma.config.js +91 -91
- package/test/node/async_test.mjs +96 -82
- package/test/node/commander_ja_test.mjs +89 -89
- package/test/node/error_message_test.mjs +243 -253
- package/test/node/kai_test.nako3 +6 -6
- package/test/node/node_test.mjs +60 -60
- package/test/node/plugin_broken.js.txt +3 -3
- package/test/node/plugin_browser_ut_ajax_test.mjs.todo +357 -357
- package/test/node/plugin_browser_ut_location_test.mjs +42 -42
- package/test/node/plugin_markup_test.mjs +47 -46
- package/test/node/plugin_math_test.mjs +45 -44
- package/test/node/plugin_node_test.mjs +98 -97
- package/test/node/plugin_test.mjs +44 -43
- package/test/node/relative_import_test_1.nako3 +1 -1
- package/test/node/relative_import_test_2.nako3 +2 -2
- package/test/node/require_nako3_test.mjs +67 -66
- package/test/node/requiretest.nako3 +4 -4
- package/test/node/requiretest_indirect.nako3 +1 -1
- package/test/node/requiretest_name.nako3 +5 -5
- package/test/node/runtime_error.nako3 +2 -2
- package/test/node/scope1.nako3 +10 -10
- package/test/node/scope2.nako3 +12 -12
- package/test/node/side_effects_test.mjs +39 -119
- package/test/node/sjis.txt +5 -5
- package/test/node/syntax_error.nako3 +1 -1
- package/test/node/wnako3_editor_test.mjs +384 -384
- package/tools/README.md +12 -7
- package/tools/check_new_version.nako3 +25 -25
- package/tools/nako3edit/html/daisyui/LICENSE +22 -22
- package/tools/nako3edit/html/daisyui/version_2.14.1 +1 -1
- package/tools/nako3edit/html/edit.html +170 -170
- package/tools/nako3edit/html/edit_plugin.js +6 -6
- package/tools/nako3edit/html/files.html +125 -125
- package/tools/nako3edit/html/nako3edit.css +65 -65
- package/tools/nako3edit/index.mjs +248 -244
- package/tools/nako3server/index.html +10 -0
- package/tools/nako3server/index.mjs +116 -116
- package/tools/nako3server/index.nako3 +34 -0
- package/release/nako_gen_async.js.LICENSE.txt +0 -35
- package/release/plugin_caniuse.js.LICENSE.txt +0 -11
- package/release/plugin_csv.js.LICENSE.txt +0 -15
- package/release/plugin_datetime.js.LICENSE.txt +0 -15
- package/release/plugin_kansuji.js.LICENSE.txt +0 -3
- package/release/plugin_markup.js.LICENSE.txt +0 -11
- package/release/plugin_turtle.js.LICENSE.txt +0 -15
- package/release/plugin_webworker.js.LICENSE.txt +0 -3
- package/release/plugin_weykturtle3d.js.LICENSE.txt +0 -3
- package/release/wnako3webworker.js.LICENSE.txt +0 -131
- 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¶m2=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¶m2=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¶m2=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¶m2=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
|
+
}
|