mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
88 lines
3.3 KiB
JavaScript
88 lines
3.3 KiB
JavaScript
var expect = require("chai").expect;
|
|
|
|
module.exports = function (helpers) {
|
|
var component = helpers.mount(require.resolve("./index"), {});
|
|
|
|
function getTimestamps() {
|
|
return {
|
|
preserveId: component.getEl("preserve").getAttribute("data-renderId"),
|
|
preserveIdBody: component.getEl("preserve").innerHTML,
|
|
preserveBodyId: component
|
|
.getEl("preserveBody")
|
|
.getAttribute("data-renderId"),
|
|
preserveBodyIdBody: component.getEl("preserveBody").innerHTML,
|
|
componentId: component.getComponent("component").state.name,
|
|
preserveClass: component.el
|
|
.querySelector(".preserve")
|
|
.getAttribute("data-renderId"),
|
|
preserveClassBody: component.el.querySelector(".preserve").innerHTML,
|
|
preserveBodyClass: component.el
|
|
.querySelector(".preserve-body")
|
|
.getAttribute("data-renderId"),
|
|
preserveBodyClassBody:
|
|
component.el.querySelector(".preserve-body").innerHTML,
|
|
componentClass: require("marko/components").getComponentForEl(
|
|
component.el.querySelector(".component-no-id"),
|
|
).state.name,
|
|
};
|
|
}
|
|
|
|
var renderId = 10;
|
|
|
|
component.input = {
|
|
preserveCondition: true,
|
|
renderId: renderId,
|
|
};
|
|
component.update();
|
|
|
|
var timestamps = getTimestamps();
|
|
expect(timestamps.preserveId).to.equal("0");
|
|
expect(timestamps.preserveIdBody).to.equal("0");
|
|
expect(timestamps.preserveBodyId).to.equal("10");
|
|
expect(timestamps.preserveBodyIdBody).to.equal("0");
|
|
expect(timestamps.componentId).to.equal("0");
|
|
expect(timestamps.preserveClass).to.equal("0");
|
|
expect(timestamps.preserveClassBody).to.equal("0");
|
|
expect(timestamps.preserveBodyClass).to.equal("10");
|
|
expect(timestamps.preserveBodyClassBody).to.equal("0");
|
|
expect(timestamps.componentClass).to.equal("0");
|
|
|
|
// expect(newEls1.el != null).to.equal(true);
|
|
// expect(newEls1.el).to.equal(origEls.el);
|
|
// expect(newEls1.preserveEl1).to.equal(origEls.preserveEl1);
|
|
// expect(newEls1.preserveEl2).to.equal(origEls.preserveEl2);
|
|
// expect(newEls1.preserveEl1).to.equal(origEls.preserveEl1);
|
|
// expect(newEls1.preserveEl2).to.equal(origEls.preserveEl2);
|
|
//
|
|
//
|
|
// expect(newEls1.preserveBodyEl1).to.equal(origEls.preserveBodyEl1);
|
|
// expect(newEls1.preserveBodyEl2).to.equal(origEls.preserveBodyEl2);
|
|
//
|
|
// checkChildrenMatch(newEls1.preserveBodyEl1Children, origEls.preserveBodyEl1Children);
|
|
// checkChildrenMatch(newEls1.preserveBodyEl2Children, origEls.preserveBodyEl2Children);
|
|
//
|
|
// expect(newEls1.helloEl1).to.equal(origEls.helloEl1);
|
|
// expect(newEls1.helloEl2).to.equal(origEls.helloEl2);
|
|
|
|
renderId = 100;
|
|
|
|
// Do not preserve
|
|
component.input = {
|
|
preserveCondition: false,
|
|
renderId: renderId,
|
|
};
|
|
component.update();
|
|
|
|
timestamps = getTimestamps();
|
|
expect(timestamps.preserveId).to.equal("100");
|
|
expect(timestamps.preserveIdBody).to.equal("100");
|
|
expect(timestamps.preserveBodyId).to.equal("100");
|
|
expect(timestamps.preserveBodyIdBody).to.equal("100");
|
|
expect(timestamps.componentId).to.equal("100");
|
|
expect(timestamps.preserveClass).to.equal("100");
|
|
expect(timestamps.preserveClassBody).to.equal("100");
|
|
expect(timestamps.preserveBodyClass).to.equal("100");
|
|
expect(timestamps.preserveBodyClassBody).to.equal("100");
|
|
expect(timestamps.componentClass).to.equal("100");
|
|
};
|