diff --git a/src/core/mockup-parser.test.js b/src/core/mockup-parser.test.js
index a9efa61a8..ca23c216c 100644
--- a/src/core/mockup-parser.test.js
+++ b/src/core/mockup-parser.test.js
@@ -1,38 +1,45 @@
-import $ from "jquery";
import mockupParser from "./mockup-parser";
describe("The mockup-parser", function () {
it("parses the data attribute of a single node", function () {
- const $el = $(`
-
- mockup parser test
- `);
- const options = mockupParser.getOptions($el, "testpattern");
+ const el = document.createElement("div");
+ el.setAttribute("data-pat-testpattern", "option1: value1; option2: value2");
+
+ const options = mockupParser.getOptions(el, "testpattern");
+
expect(options.option1).toBe("value1");
expect(options.option2).toBe("value2");
});
+
it("parses the data attribute of nested nodes", function () {
- const $el = $(`
-
-
- nested mockup parser test
-
-
`);
- const options = mockupParser.getOptions($(".pat-testpattern", $el), "testpattern");
+ const el = document.createElement("div");
+ el.setAttribute(
+ "data-pat-testpattern",
+ "parentOption1: value1; parentOption2: value2"
+ );
+ const el2 = document.createElement("span");
+ el2.setAttribute(
+ "data-pat-testpattern",
+ "option1: subvalue1; option2: subvalue2"
+ );
+ el.appendChild(el2);
+
+ const options = mockupParser.getOptions(el2, "testpattern");
+
expect(options.parentOption1).toBe("value1");
expect(options.parentOption2).toBe("value2");
expect(options.option1).toBe("subvalue1");
expect(options.option2).toBe("subvalue2");
});
+
it("parses the data attribute of a single node and preserves injected options", function () {
- const $el = $(`
-
- mockup parser test
-
- `);
- const options = mockupParser.getOptions($el, "testpattern", {
+ const el = document.createElement("div");
+ el.setAttribute("data-pat-testpattern", "option1: value1; option2: value2");
+
+ const options = mockupParser.getOptions(el, "testpattern", {
injectedOption: "injectedValue",
});
+
expect(options.option1).toBe("value1");
expect(options.option2).toBe("value2");
expect(options.injectedOption).toBe("injectedValue");