mirror of
https://github.com/gnh1201/welsonjs.git
synced 2024-11-26 15:31:42 +00:00
Update
This commit is contained in:
parent
934009a6c0
commit
4ea98b1540
|
@ -20,7 +20,7 @@ import WelsonAppLoader_pb2_grpc
|
||||||
def run():
|
def run():
|
||||||
with grpc.insecure_channel("localhost:50051") as channel:
|
with grpc.insecure_channel("localhost:50051") as channel:
|
||||||
stub = WelsonAppLoader_pb2_grpc.WelsonAppLoaderStub(channel)
|
stub = WelsonAppLoader_pb2_grpc.WelsonAppLoaderStub(channel)
|
||||||
response = stub.Run(WelsonAppLoader_pb2.AppRequest(appName="extramath-test"))
|
response = stub.Run(WelsonAppLoader_pb2.AppRequest(appName="testloader"))
|
||||||
print("Response: " + response.responseText)
|
print("Response: " + response.responseText)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
10
app/index.js
10
app/index.js
|
@ -47,6 +47,16 @@ Router.add('/test', function(render) {
|
||||||
window.test_start = function(test_id) {
|
window.test_start = function(test_id) {
|
||||||
SHELL.show(["cscript", "app.js", "testloader", test_id]);
|
SHELL.show(["cscript", "app.js", "testloader", test_id]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
window.gui_check = function() {
|
||||||
|
var text1 = SHELL.exec("echo hello world!");
|
||||||
|
alert(text1);
|
||||||
|
|
||||||
|
var text2 = require("lib/system").getOS();
|
||||||
|
alert(text2);
|
||||||
|
|
||||||
|
alert("모든 메시지가 정상적으로 보였다면 테스트에 성공한 것입니다.");
|
||||||
|
};
|
||||||
|
|
||||||
var data = JSON.parse(FILE.readFile("data/test-oss-20231030.json", FILE.CdoCharset.CdoUTF_8));
|
var data = JSON.parse(FILE.readFile("data/test-oss-20231030.json", FILE.CdoCharset.CdoUTF_8));
|
||||||
render("app\\test.html", {
|
render("app\\test.html", {
|
||||||
|
|
|
@ -10,7 +10,11 @@
|
||||||
<div class="col width-fit mobile-width-fit"><span class="icon icon-bookmark color-blue"></span></div>
|
<div class="col width-fit mobile-width-fit"><span class="icon icon-bookmark color-blue"></span></div>
|
||||||
<div class="col width-fill mobile-width-fill" style="position: relative">
|
<div class="col width-fill mobile-width-fill" style="position: relative">
|
||||||
<span class="float-right" style="position: absolute; top: 0; right: 0;">
|
<span class="float-right" style="position: absolute; top: 0; right: 0;">
|
||||||
<button class="button" type="button" onclick="javascript:test_start('{{:id}}')">시험</button>
|
{{if id == 'gui_check'}}
|
||||||
|
<button class="button" type="button" onclick="javascript:gui_check()">시험</button>
|
||||||
|
{{else}}
|
||||||
|
<button class="button" type="button" onclick="javascript:test_start('{{:id}}')">시험</button>
|
||||||
|
{{/if}}
|
||||||
</span>
|
</span>
|
||||||
<div class="col width-fill mobile-width-fill">
|
<div class="col width-fill mobile-width-fill">
|
||||||
<a class="fatty" href="#">{{:tags[0]}}</a>
|
<a class="fatty" href="#">{{:tags[0]}}</a>
|
||||||
|
@ -18,9 +22,9 @@
|
||||||
<div class="col">
|
<div class="col">
|
||||||
{{:description}}
|
{{:description}}
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
{{for tags}}<span class="icon icon-tag"></span> {{:}}{{/for}}
|
{{for tags}}<span class="icon icon-tag"></span> {{:}}{{/for}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -77,12 +77,12 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "shell_build_command_line",
|
"id": "shell_build_command_line",
|
||||||
"description": "명령 행 빌드 (입력: KV Object -> 출력: Shell Command Line)",
|
"description": "명령 행 빌드 (입력: Array Object, 출력: Unescaped Command String)",
|
||||||
"tags": ["Windows 시스템", "Windows 쉘(Shell)"]
|
"tags": ["Windows 시스템", "Windows 쉘(Shell)"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "shell_set_charset",
|
"id": "shell_set_charset",
|
||||||
"description": "명령 행 빌드 (입력: KV Object -> 출력: Shell Command Line)",
|
"description": "문자셋(Charset) 설정",
|
||||||
"tags": ["Windows 시스템", "Windows 쉘(Shell)"]
|
"tags": ["Windows 시스템", "Windows 쉘(Shell)"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
440
testloader.js
440
testloader.js
|
@ -8,116 +8,272 @@ var profile = JSON.parse(FILE.readFile("data/test-oss-20231030.json", FILE.CdoCh
|
||||||
|
|
||||||
// implement the tests
|
// implement the tests
|
||||||
var test_implements = {
|
var test_implements = {
|
||||||
|
|
||||||
// Ref 1: https://gist.github.com/CityRay/c56e4fa874af9370cc1a367bd43095b0
|
// Ref 1: https://gist.github.com/CityRay/c56e4fa874af9370cc1a367bd43095b0
|
||||||
"es5_polyfills": function() {
|
"es5_polyfills": function() {
|
||||||
var parseIntIgnoresLeadingZeros = (function () {
|
var parseIntIgnoresLeadingZeros = (function () {
|
||||||
return parseInt('010', 10) === 10;
|
return parseInt('010', 10) === 10;
|
||||||
}());
|
}());
|
||||||
console.log("parseIntIgnoresLeadingZeros: " + String(parseIntIgnoresLeadingZeros) + " (Default on the built-in engine: true)");
|
console.log("parseIntIgnoresLeadingZeros: " + String(parseIntIgnoresLeadingZeros) + " (Default on the built-in engine: true)");
|
||||||
|
|
||||||
var DateISOString = (function () {
|
var DateISOString = (function () {
|
||||||
return !!(Date && Date.prototype && Date.prototype.toISOString);
|
return !!(Date && Date.prototype && Date.prototype.toISOString);
|
||||||
}());
|
}());
|
||||||
console.log("DateISOString: " + String(DateISOString) + " (Default on the built-in engine: false)");
|
console.log("DateISOString: " + String(DateISOString) + " (Default on the built-in engine: false)");
|
||||||
|
|
||||||
var result = !!(parseIntIgnoresLeadingZeros && DateISOString);
|
var result = !!(parseIntIgnoresLeadingZeros && DateISOString);
|
||||||
|
|
||||||
console.log(result ?
|
console.log(result ?
|
||||||
"ECMAScript 5 수준의 런타임입니다. 필수 테스트를 모두 통과하였습니다." :
|
"ECMAScript 5 수준의 런타임입니다. 필수 테스트를 모두 통과하였습니다." :
|
||||||
"ECMAScript 5 수준의 런타임이 아닙니다. 필수 테스트 중 하나를 실패하였습니다.");
|
"ECMAScript 5 수준의 런타임이 아닙니다. 필수 테스트 중 하나를 실패하였습니다.");
|
||||||
},
|
},
|
||||||
|
|
||||||
// Ref 1: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/regprov/stdregprov
|
// Ref 1: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/regprov/stdregprov
|
||||||
"registry_find_provider": function() {
|
"registry_find_provider": function() {
|
||||||
var REG = require("lib/registry");
|
var REG = require("lib/registry");
|
||||||
|
|
||||||
console.log("레지스트리 제공자(StdRegProv) 클래스에 접근을 시도합니다.");
|
console.log("레지스트리 제공자(StdRegProv) 클래스에 접근을 시도합니다.");
|
||||||
var provider = REG.getProvider();
|
var provider = REG.getProvider();
|
||||||
|
|
||||||
console.log(typeof provider !== "undefined" ?
|
console.log(typeof provider !== "undefined" ?
|
||||||
"레지스트리 제공자 클래스에 성공적으로 연결되었습니다." :
|
"레지스트리 제공자 클래스에 성공적으로 연결되었습니다." :
|
||||||
"레지스트리 제공자 클래스에 연결하는데 문제가 있습니다.");
|
"레지스트리 제공자 클래스에 연결하는데 문제가 있습니다.");
|
||||||
},
|
},
|
||||||
|
|
||||||
"registry_write": function() {
|
"registry_write": function() {
|
||||||
var REG = require("lib/registry");
|
var REG = require("lib/registry");
|
||||||
var appName = "welsonjs";
|
var appName = "welsonjs";
|
||||||
|
|
||||||
console.log("레지스트리에 쓰기를 시도합니다.");
|
console.log("레지스트리에 쓰기를 시도합니다.");
|
||||||
REG.write(REG.HKCU, appName + "\\WelsonJSTest", "", "here are in", REG.STRING);
|
REG.write(REG.HKCU, appName + "\\WelsonJSTest", "", "here are in", REG.STRING);
|
||||||
console.log("레지스트리에 쓰기를 완료하였습니다.");
|
console.log("레지스트리에 쓰기를 완료하였습니다.");
|
||||||
},
|
},
|
||||||
|
|
||||||
"registry_read": function() {
|
"registry_read": function() {
|
||||||
var REG = require("lib/registry");
|
var REG = require("lib/registry");
|
||||||
var appName = "welsonjs";
|
var appName = "welsonjs";
|
||||||
|
|
||||||
console.log("레지스트리 읽기를 시도합니다.");
|
console.log("레지스트리 읽기를 시도합니다.");
|
||||||
var response = REG.read(REG.HKCU, appName + "\\WelsonJSTest", "", REG.STRING);
|
var response = REG.read(REG.HKCU, appName + "\\WelsonJSTest", "", REG.STRING);
|
||||||
console.log("읽음: " + response);
|
console.log("읽음: " + response);
|
||||||
console.log(response === "here are in" ?
|
console.log(response === "here are in" ?
|
||||||
"레지스트리를 정상적으로 읽었습니다." :
|
"레지스트리를 정상적으로 읽었습니다." :
|
||||||
"레지스트리를 읽는데 문제가 있습니다.");
|
"레지스트리를 읽는데 문제가 있습니다.");
|
||||||
},
|
},
|
||||||
|
|
||||||
"wmi_create_object": function() {},
|
"wmi_create_object": function() {
|
||||||
|
var WMI = require("lib/wmi");
|
||||||
|
console.log(typeof WMI.create().interface !== "undefined" ?
|
||||||
|
"WMI 객체를 정상적으로 생성하였습니다." :
|
||||||
|
"WMI 객체를 생성하는데 문제가 있습니다.");
|
||||||
|
},
|
||||||
|
|
||||||
"wmi_execute_query": function() {},
|
"wmi_execute_query": function() {
|
||||||
|
var WMI = require("lib/wmi");
|
||||||
|
|
||||||
"wmi_result_query": function() {},
|
var queryString = "SELECT Caption FROM Win32_OperatingSystem";
|
||||||
|
console.log("실행할 쿼리: " + queryString);
|
||||||
|
|
||||||
"shell_create_object": function() {},
|
var result = WMI.execQuery(queryString).fetch().get("Caption").trim();
|
||||||
|
console.log("현재 윈도우즈 배포판 종류: " + result);
|
||||||
|
},
|
||||||
|
|
||||||
"shell_build_command_line": function() {},
|
"wmi_result_query": function() {
|
||||||
|
var WMI = require("lib/wmi");
|
||||||
|
|
||||||
"shell_set_charset": function() {},
|
var queryString = "SELECT Caption FROM Win32_OperatingSystem";
|
||||||
|
console.log("실행할 쿼리: " + queryString);
|
||||||
|
|
||||||
"shell_working_directory": function() {},
|
var result = WMI.execQuery(queryString).fetch().get("Caption").trim();
|
||||||
|
console.log("현재 윈도우즈 배포판 종류: " + result);
|
||||||
|
},
|
||||||
|
|
||||||
"shell_create_process": function() {},
|
"shell_create_object": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
console.log(typeof SHELL.create().interface !== "undefined" ?
|
||||||
|
"윈도우즈 쉘(Shell) 객체를 정상적으로 생성하였습니다." :
|
||||||
|
"윈도우즈 쉘(Shell) 객체를 생성하는데 문제가 있습니다.");
|
||||||
|
},
|
||||||
|
|
||||||
"shell_execute": function() {},
|
"shell_build_command_line": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
console.log("쉘 명령의 무결성을 훼손시킬 수 있는 경우(따옴표, 쌍따옴표, 띄어쓰기 등을 포함한 경우)를 테스트합니다.");
|
||||||
|
|
||||||
"shell_run": function() {},
|
// 모든 경우를 하나의 배열에 포함
|
||||||
|
var test_args = [
|
||||||
|
"ppap.exe",
|
||||||
|
"\"pen\"",
|
||||||
|
"'apple'",
|
||||||
|
"apple pen",
|
||||||
|
"pineapple pen"
|
||||||
|
];
|
||||||
|
|
||||||
|
// 입력과 출력 확인
|
||||||
|
console.log("입력 인자: " + test_args.join(" / "));
|
||||||
|
console.log("출력 문자열: " + SHELL.build(test_args));
|
||||||
|
console.log("정상적으로 명령행이 만들어졌는지 확인하세요.");
|
||||||
|
},
|
||||||
|
|
||||||
"shell_run_as": function() {},
|
"shell_set_charset": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
"shell_find_my_documents": function() {},
|
var ShellInstance = SHELL.create();
|
||||||
|
console.log("현재 기준 문자셋: " + ShellInstance.charset);
|
||||||
|
console.log("기준 문자셋을 유니코드(UTF-8)로 변경합니다.");
|
||||||
|
ShellInstance.setCharset(SHELL.CdoCharset.CdoUTF_8);
|
||||||
|
console.log("현재 기준 문자셋: " + ShellInstance.charset);
|
||||||
|
},
|
||||||
|
|
||||||
"shell_release": function() {},
|
"shell_working_directory": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
"powershell_set_command": function() {},
|
var ShellInstance = SHELL.create();
|
||||||
|
console.log("현재 작업 폴더: " + ShellInstance.workingDirectory);
|
||||||
|
|
||||||
"powershell_set_file": function() {},
|
console.log("작업 폴더를 변경합니다.");
|
||||||
|
ShellInstance.setWorkingDirectory(ShellInstance.workingDirectory + "\\data");
|
||||||
|
console.log("현재 작업 폴더: " + ShellInstance.workingDirectory);
|
||||||
|
},
|
||||||
|
|
||||||
"powershell_set_uri": function() {},
|
"shell_create_process": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
},
|
||||||
|
|
||||||
"powershell_execute": function() {},
|
"shell_execute": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
"powershell_run_as": function() {},
|
var response = SHELL.exec("echo done");
|
||||||
|
console.log(response == "done" ?
|
||||||
|
"쉘(Shell) 출력이 정상적으로 작동합니다." :
|
||||||
|
"쉘(Shell) 출력에 문제가 있습니다.");
|
||||||
|
},
|
||||||
|
|
||||||
|
"shell_run": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
|
SHELL.run("calc");
|
||||||
|
console.log("잠시 후 계산기 프로그램이 열리는지 확인하여 주세요.");
|
||||||
|
},
|
||||||
|
|
||||||
|
"shell_run_as": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
|
console.log("관리자 권한 요청을 확인하세요.");
|
||||||
|
SHELL.runAs("calc");
|
||||||
|
console.log("잠시 후 계산기 프로그램이 열리는지 확인하여 주세요.");
|
||||||
|
},
|
||||||
|
|
||||||
|
"shell_find_my_documents": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
|
console.log("내 문서 폴더 위치: " + SHELL.getPathOfMyDocuments());
|
||||||
|
},
|
||||||
|
|
||||||
|
"shell_release": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
|
var ShellInstance = SHELL.create();
|
||||||
|
ShellInstance.release();
|
||||||
|
|
||||||
|
console.log(ShellInstance.interface != null ?
|
||||||
|
"정상적으로 해제되지 않았습니다." :
|
||||||
|
"정상적으로 해제되었습니다.");
|
||||||
|
},
|
||||||
|
|
||||||
|
"powershell_set_command": function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
"powershell_set_file": function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
"powershell_set_uri": function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
"powershell_execute": function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
"powershell_run_as": function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
"system_resolve_env": function() {},
|
"system_resolve_env": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
"system_check_as": function() {},
|
console.log("기본 프로그램 설치 폴더: " + SYS.getEnvString("PROGRAMFILES"));
|
||||||
|
console.log("기본 프로그램 설치 폴더가 정상적인 위치를 가르키고 있는지 확인하세요.");
|
||||||
|
},
|
||||||
|
|
||||||
"system_get_os_version": function() {},
|
"system_check_as": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
"system_get_architecture": function() {},
|
console.log(SYS.isElevated() ?
|
||||||
|
"이 런타임은 관리자 모드에서 실행되고 있지 않습니다." :
|
||||||
|
"이 런타임은 관리자 모드에서 실행되고 있습니다.");
|
||||||
|
},
|
||||||
|
|
||||||
"system_get_uuid": function() {},
|
"system_get_os_version": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
console.log("현재 사용중인 운영체제: " + SYS.getOS());
|
||||||
|
},
|
||||||
|
|
||||||
"system_get_working_directory": function() {},
|
"system_get_architecture": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
console.log("현재 사용중인 아키텍처: " + SYS.getArch());
|
||||||
|
},
|
||||||
|
|
||||||
"system_get_script_directory": function() {},
|
"system_get_uuid": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
"system_get_network_interfaces": function() {},
|
console.log("디바이스 고유 번호: " + SYS.getUUID());
|
||||||
|
},
|
||||||
|
|
||||||
"system_get_process_list": function() {},
|
"system_get_working_directory": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
"system_get_process_list_by_name": function() {},
|
console.log("현재 작업 폴더: " + SYS.getCurrentWorkingDirectory());
|
||||||
|
},
|
||||||
"system_register_uri": function() {},
|
|
||||||
|
"system_get_script_directory": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
console.log("현재 스크립트 폴더: " + SYS.getCurrentScriptDirectory());
|
||||||
|
},
|
||||||
|
|
||||||
|
"system_get_network_interfaces": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
var net_interfaces = SYS.getNetworkInterfaces();
|
||||||
|
console.log(JSON.stringify(net_interfaces));
|
||||||
|
},
|
||||||
|
|
||||||
|
"system_get_process_list": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
var processList = SYS.getProcessList();
|
||||||
|
processList.forEach(function(x) {
|
||||||
|
console.log(x.Caption, x.ProcessID);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
"system_get_process_list_by_name": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
var processList = SYS.getProcessListByName("explorer.exe");
|
||||||
|
processList.forEach(function(x) {
|
||||||
|
console.log(x.Caption, x.ProcessID);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
"system_register_uri": function() {
|
||||||
|
console.log("웹 브라우저를 열고 주소창에 아래 주소를 입력하세요.");
|
||||||
|
console.log("welsonjs:///?application=mscalc");
|
||||||
|
},
|
||||||
|
|
||||||
"system_pipe_ipc": function() {},
|
"system_pipe_ipc": function() {},
|
||||||
|
|
||||||
|
@ -147,17 +303,88 @@ var test_implements = {
|
||||||
|
|
||||||
"network_detect_http_ssl": function() {},
|
"network_detect_http_ssl": function() {},
|
||||||
|
|
||||||
"network_send_icmp": function() {},
|
"network_send_icmp": function() {
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
"extramath_dtm": function() {},
|
console.log("1.1.1.1로 PING(ICMP) 전송");
|
||||||
|
console.log("응답 시간: " + SYS.ping("1.1.1.1") + "ms");
|
||||||
|
},
|
||||||
|
|
||||||
"extramath_cosine_similarity": function() {},
|
"extramath_dtm": function() {
|
||||||
|
var ExtraMath = require("lib/extramath");
|
||||||
|
|
||||||
|
var a = "this is an apple";
|
||||||
|
var b = "this is red apple";
|
||||||
|
|
||||||
|
var dtm = new ExtraMath.DTM();
|
||||||
|
dtm.add(a);
|
||||||
|
dtm.add(b);
|
||||||
|
var mat = dtm.toArray();
|
||||||
|
|
||||||
"base64_encode": function() {},
|
console.log("Original sentance");
|
||||||
|
console.log(a);
|
||||||
|
console.log(b);
|
||||||
|
|
||||||
"base64_decode": function() {},
|
console.log("Create a DTM(Document-Term Matrix)");
|
||||||
|
console.log(mat[0].join(' '));
|
||||||
|
console.log(mat[1].join(' '));
|
||||||
|
},
|
||||||
|
|
||||||
"chromium_run": function() {},
|
"extramath_cosine_similarity": function() {
|
||||||
|
var ExtraMath = require("lib/extramath");
|
||||||
|
|
||||||
|
var a = "this is an apple";
|
||||||
|
var b = "this is red apple";
|
||||||
|
|
||||||
|
var dtm = new ExtraMath.DTM();
|
||||||
|
dtm.add(a);
|
||||||
|
dtm.add(b);
|
||||||
|
var mat = dtm.toArray();
|
||||||
|
|
||||||
|
console.log("Original sentance");
|
||||||
|
console.log(a);
|
||||||
|
console.log(b);
|
||||||
|
|
||||||
|
console.log("Create a DTM(Document-Term Matrix)");
|
||||||
|
console.log(mat[0].join(' '));
|
||||||
|
console.log(mat[1].join(' '));
|
||||||
|
|
||||||
|
console.log("Measure Cosine Similarity");
|
||||||
|
console.log('' + ExtraMath.arrayCos(mat[0], mat[1]));
|
||||||
|
console.log('' + ExtraMath.measureSimilarity(a, b));
|
||||||
|
},
|
||||||
|
|
||||||
|
"base64_encode": function() {
|
||||||
|
var BASE64 = require("lib/base64");
|
||||||
|
|
||||||
|
var original_text = "hello world";
|
||||||
|
var encoded_text = BASE64.encode(original_text);
|
||||||
|
|
||||||
|
console.log("원문: " + original_text);
|
||||||
|
console.log("인코딩된 문자: " + encoded_text);
|
||||||
|
|
||||||
|
console.log(encoded_text == "aGVsbG8gd29ybGQ=" ?
|
||||||
|
"인코딩된 문자가 기대값과 일치합니다." :
|
||||||
|
"인코딩된 문자가 기대값과 불일치합니다.");
|
||||||
|
},
|
||||||
|
|
||||||
|
"base64_decode": function() {
|
||||||
|
var BASE64 = require("lib/base64");
|
||||||
|
|
||||||
|
var encoded_text = "aGVsbG8gd29ybGQ=";
|
||||||
|
var original_text = BASE64.decode(encoded_text);
|
||||||
|
|
||||||
|
console.log("인코딩된 문자: " + encoded_text);
|
||||||
|
console.log("원문: " + original_text);
|
||||||
|
|
||||||
|
console.log(original_text == "hello world" ?
|
||||||
|
"디코드된 문자가 기대값과 일치합니다." :
|
||||||
|
"디코드된 문자가 기대값과 불일치합니다.");
|
||||||
|
},
|
||||||
|
|
||||||
|
"chromium_run": function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
"chromium_create_profile": function() {},
|
"chromium_create_profile": function() {},
|
||||||
|
|
||||||
|
@ -187,33 +414,56 @@ var test_implements = {
|
||||||
|
|
||||||
"chromium_auto_scroll_until_end": function() {},
|
"chromium_auto_scroll_until_end": function() {},
|
||||||
|
|
||||||
"grpc_run_server": function() {},
|
"grpc_run_server": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
"grpc_receive_command": function() {},
|
SHELL.show(["cscript", "app.js", "grpcloader"]);
|
||||||
|
},
|
||||||
|
|
||||||
"gui_check": function() {}
|
"grpc_receive_command": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
|
SHELL.show(["grpcloader_test.bat"]);
|
||||||
|
},
|
||||||
|
|
||||||
|
"gui_check": function() {
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
var text1 = SHELL.exec("echo hello world!");
|
||||||
|
alert(text1);
|
||||||
|
|
||||||
|
var text2 = SYS.getOS();
|
||||||
|
alert(text2);
|
||||||
|
|
||||||
|
alert("모든 메시지가 정상적으로 보였다면 테스트에 성공한 것입니다.");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function main(args) {
|
function main(args) {
|
||||||
var test_id = args[0];
|
if (args.length > 0) {
|
||||||
|
var test_id = args[0];
|
||||||
|
|
||||||
if (test_id in test_implements) {
|
if (test_id in test_implements) {
|
||||||
var test = profile.tests.find(function(x) {
|
var test = profile.tests.find(function(x) {
|
||||||
return (x.id == test_id);
|
return (x.id == test_id);
|
||||||
});
|
});
|
||||||
var description = test.description;
|
var description = test.description;
|
||||||
|
|
||||||
console.log("Test ID: " + test_id);
|
console.log("Test ID: " + test_id);
|
||||||
console.log("Will be test: " + description);
|
console.log("Will be test: " + description);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
test_implements[test_id]();
|
test_implements[test_id]();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("ERROR: " + e.message)
|
console.error("ERROR: " + e.message)
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("Will be close this window after 90 seconds");
|
||||||
|
sleep(90 * 1000);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
console.log("Will be close this window after 90 seconds");
|
console.log("hello world!");
|
||||||
sleep(90 * 1000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user