Browse Source

add tests

aanthonymax 7 months ago
parent
commit
1a7b849e74
2 changed files with 56 additions and 12 deletions
  1. 23 0
      test/core/compile.test.ts
  2. 33 12
      test/core/template-function.test.ts

+ 23 - 0
test/core/compile.test.ts

@@ -232,4 +232,27 @@ describe("compile function", () => {
     )().response?.outerHTML,
     '<div><form id="form"></form><!--hmpl0--></div>'
   );
+  eq(
+    "",
+    compile(
+      createTestObj2(
+        `<form id="form"></form>{{ "src":"/api/test", "after":"submit:#form", "autoBody": { "formData": false } }}`
+      )
+    )(() => ({})).response?.outerHTML,
+    '<div><form id="form"></form><!--hmpl0--></div>'
+  );
+  eq(
+    "",
+    compile(
+      createTestObj2(
+        `<form id="form"></form>{{ "src":"/api/test", "after":"submit:#form", "autoBody": { "formData": false }, "initId":"1" }}`
+      )
+    )([
+      {
+        id: "1",
+        value: {}
+      }
+    ]).response?.outerHTML,
+    '<div><form id="form"></form><!--hmpl0--></div>'
+  );
 });

+ 33 - 12
test/core/template-function.test.ts

@@ -126,17 +126,17 @@ describe("template function", () => {
     )().response?.outerHTML,
     '<div><button id="increment">Click</button><!--hmpl0--></div>'
   );
-  eq(
-    "",
-    compile(
-      createTestObj2(
-        `<button id="increment">Click</button>{{ "src":"/api/test", "after":"click:#increment" }}`
-      )
-    )({
-      keepalive: true
-    } as any).response?.outerHTML,
-    '<div><button id="increment">Click</button><!--hmpl0--></div>'
-  );
+  aeq(`{{ "src":"${BASE_URL}/api/test" }}`, (res, prop, value) => {
+    switch (prop) {
+      case "response":
+        if (value?.outerHTML === `<template><div>123</div></template>`) {
+          res(true);
+        } else {
+          res(false);
+        }
+        break;
+    }
+  });
   aeq(
     createTestObj2(`{{ "src":"${BASE_URL}/api/test" }}`),
     (res, prop, value) => {
@@ -151,6 +151,25 @@ describe("template function", () => {
       }
     }
   );
+  aeq(
+    createTestObj2(`{{ "src":"${BASE_URL}/api/test",     indicators: [
+      {
+        trigger: "pending",
+        content: "<p>Loading...</p>"
+      }
+    ] }}`),
+    (res, prop, value) => {
+      switch (prop) {
+        case "response":
+          if (value?.outerHTML === `<div><p>Loading...</p></div>`) {
+            res(true);
+          } else {
+            res(false);
+          }
+          break;
+      }
+    }
+  );
   const aeq0 = stringify({
     src: `${BASE_URL}/api/test`,
     indicators: [
@@ -379,7 +398,9 @@ describe("template function", () => {
     {
       autoBody: true
     },
-    {},
+    {
+      keepalive: true
+    },
     {
       route: "/api/getFormComponent",
       method: "post"