11package ba .sake .nodejs .script .executor
22
3- import ba .sake .nodejs .script .executor .NodejsScriptExecutor .*
3+ import ba .sake .nodejs .script .executor .NodejsScriptExecutor
4+ import ba .sake .nodejs .script .executor .NodejsScriptExecutor .NpmDependency
45
56class NodejsScriptExecutorSpec extends munit.FunSuite {
7+
68 test(" Hello NodeJS" ) {
7- val env = Environment (os.pwd / " tmp/hepek/tests/nodejs-hello" )
8- val res = execute(
9- env,
9+ val executor = NodejsScriptExecutor (os.pwd / " tmp/hepek/tests/nodejs-hello" )
10+ val res = executor.executeScript(
1011 """
1112 |console.log("Hello NodeJS!")
1213 |""" .stripMargin
1314 )
1415 assertEquals(res.trim, " Hello NodeJS!" )
1516 }
16- //
17+
1718 test(" CommonJS module with deps (katex math highlighter)" ) {
18- val env = Environment (os.pwd / " tmp/hepek/tests/nodejs-katex" )
19- val res = execute(
20- env,
19+ val executor = NodejsScriptExecutor (
20+ os.pwd / " tmp/hepek/tests/nodejs-katex" ,
21+ Seq (NpmDependency (" katex" , Some (" 0.16.21" )))
22+ )
23+ val res = executor.executeScript(
2124 """
2225 const katex = require('katex');
2326
2427 const html = katex.renderToString('\Eta\Epsilon\pi\Epsilon\Kappa');
2528
2629 console.log(html);
27- """ ,
28- Set (NpmDependency (" katex" , Some (" 0.16.21" )))
30+ """
2931 )
3032 val expected =
3133 """<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mi>t</mi><mi>a</mi><mi>E</mi><mi>p</mi><mi>s</mi><mi>i</mi><mi>l</mi><mi>o</mi><mi>n</mi><mi>p</mi><mi>i</mi><mi>E</mi><mi>p</mi><mi>s</mi><mi>i</mi><mi>l</mi><mi>o</mi><mi>n</mi><mi>K</mi><mi>a</mi><mi>p</mi><mi>p</mi><mi>a</mi></mrow><annotation encoding="application/x-tex">EtaEpsilonpiEpsilonKappa</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">Et</span><span class="mord mathnormal">a</span><span class="mord mathnormal">Ep</span><span class="mord mathnormal">s</span><span class="mord mathnormal">i</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">o</span><span class="mord mathnormal">n</span><span class="mord mathnormal">p</span><span class="mord mathnormal">i</span><span class="mord mathnormal">Ep</span><span class="mord mathnormal">s</span><span class="mord mathnormal">i</span><span class="mord mathnormal" style="margin-right:0.01968em;">l</span><span class="mord mathnormal">o</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.07153em;">K</span><span class="mord mathnormal">a</span><span class="mord mathnormal">pp</span><span class="mord mathnormal">a</span></span></span></span>"""
3234 assertEquals(res.trim, expected)
3335 }
3436
3537 test(" ES6 module with deps (shiki highlighter)" ) {
36- val env = Environment (os.pwd / " tmp/hepek/tests/nodejs-shiki" )
37- val res = execute(
38- env,
38+ val executor = NodejsScriptExecutor (
39+ os.pwd / " tmp/hepek/tests/nodejs-shiki" ,
40+ Seq (NpmDependency (" shiki" , Some (" 3.2.1" )))
41+ )
42+ val res = executor.executeScript(
3943 """
4044 import { codeToHtml } from 'shiki';
4145
@@ -47,7 +51,6 @@ class NodejsScriptExecutorSpec extends munit.FunSuite {
4751
4852 console.log(html);
4953 """ ,
50- Set (NpmDependency (" shiki" , Some (" 3.2.1" ))),
5154 scriptName = " script.mjs" // must explicitly use .mjs for ES6 modules
5255 )
5356 val expected =
0 commit comments