UNPKG

wonder.js

Version:
59 lines (55 loc) 6.24 kB
'use strict'; var Most = require("most"); var Curry = require("bs-platform/lib/js/curry.js"); var Sinon = require("wonder-bs-sinon/lib/js/src/sinon.js"); var Sinon$1 = require("sinon"); var Wonder_jest = require("wonder-bs-jest/lib/js/src/wonder_jest.js"); var WorkerJobTool$Wonderjs = require("../../tool/service/workerJob/WorkerJobTool.js"); var WorkerWorkerTool$Wonderjs = require("../../integration/worker/tool/WorkerWorkerTool.js"); var RenderWorkerStateTool$Wonderjs = require("../../tool/service/state/RenderWorkerStateTool.js"); var WorkerJobHandleSystem$Wonderjs = require("../../../src/job/worker/WorkerJobHandleSystem.js"); var WorkerRenderWorkerTool$Wonderjs = require("../job/worker/render_worker/tool/WorkerRenderWorkerTool.js"); Wonder_jest.describe("WorkerJobMainService", (function (param) { var sandbox = Sinon.getSandboxDefaultVal(/* () */0); beforeEach((function () { sandbox[0] = Sinon$1.sandbox.create(); return /* () */0; })); afterEach((function () { return Curry._1(Sinon.restoreSandbox, sandbox[0]); })); return Wonder_jest.describe("getRenderWorkerJobStreamArr", (function (param) { var _buildWorkerJobs = function (param) { return WorkerJobTool$Wonderjs.convertWorkerJobsToRecord(JSON.parse("\n [\n {\n \"name\": \"send_finish_send_job_data\",\n \"flags\": [\n \"FINISH_SEND_JOB_DATA\"\n ]\n },\n {\n \"name\": \"send_finish_init_render_data\",\n \"flags\": [\n \"FINISH_INIT_RENDER\"\n ]\n }\n ]\n ")); }; Wonder_jest.testPromise("concat exec sub jobs", undefined, (function (param) { var worker = Curry._1(WorkerRenderWorkerTool$Wonderjs.getSelf, /* () */0); var postMessageToWorker = WorkerWorkerTool$Wonderjs.stubPostMessage(sandbox, worker); return Most.drain(Most.mergeArray(WorkerJobTool$Wonderjs.getRenderWorkerJobStreamArr(WorkerJobTool$Wonderjs.getRenderWorkerPipelineJobs("default", WorkerJobTool$Wonderjs.convertWorkerPipelinesToRecord(JSON.parse("\n [\n {\n \"name\": \"default\",\n \"jobs\": {\n \"render\": [\n [\n {\n \"name\": \"send_finish_send_job_data\"\n },\n\n {\n \"name\": \"send_finish_init_render_data\"\n }\n ]\n ]\n }\n }\n ]\n "))), _buildWorkerJobs(/* () */0), /* tuple */[ WorkerJobHandleSystem$Wonderjs.createWorkerJobHandleMap, WorkerJobHandleSystem$Wonderjs.getWorkerJobHandle ], RenderWorkerStateTool$Wonderjs.getStateData(/* () */0)))).then((function (param) { return Promise.resolve(Sinon.toCalledBefore(Sinon.withOneArg({ operateType: "FINISH_INIT_RENDER" }, postMessageToWorker), Wonder_jest.Expect[/* expect */0](Sinon.withOneArg({ operateType: "FINISH_SEND_JOB_DATA" }, postMessageToWorker)))); })); })); return Wonder_jest.testPromise("merge exec main jobs", undefined, (function (param) { var callCount = /* record */[/* contents */0]; var worker = Curry._1(WorkerRenderWorkerTool$Wonderjs.getSelf, /* () */0); WorkerWorkerTool$Wonderjs.stubPostMessage(sandbox, worker); return Most.forEach((function (record) { callCount[0] = callCount[0] + 1 | 0; return /* () */0; }), Most.mergeArray(WorkerJobTool$Wonderjs.getRenderWorkerJobStreamArr(WorkerJobTool$Wonderjs.getRenderWorkerPipelineJobs("default", WorkerJobTool$Wonderjs.convertWorkerPipelinesToRecord(JSON.parse("\n [\n {\n \"name\": \"default\",\n \"jobs\": {\n \"render\": [\n [\n {\n \"name\": \"send_finish_send_job_data\"\n }\n ],\n [\n {\n \"name\": \"send_finish_init_render_data\"\n }\n ]\n ]\n }\n }\n ]\n "))), _buildWorkerJobs(/* () */0), /* tuple */[ WorkerJobHandleSystem$Wonderjs.createWorkerJobHandleMap, WorkerJobHandleSystem$Wonderjs.getWorkerJobHandle ], RenderWorkerStateTool$Wonderjs.getStateData(/* () */0)))).then((function (param) { return Promise.resolve(Curry._2(Wonder_jest.Expect[/* Operators */25][/* = */5], Wonder_jest.Expect[/* expect */0](callCount[0]), 2)); })); })); })); })); /* Not a pure module */