@ribajs/core
Version:
Core module of Riba.js
33 lines • 2.85 kB
JavaScript
import { Riba } from "../riba.js";
import { Binder } from "../binder.js";
export class CustomBinder extends Binder {
static key = "custom-binder";
routine(el, value) {
el.innerHTML = "received " + value;
}
}
;
describe("Custom binder with no attribute value", () => {
const riba = new Riba();
riba.module.binder.register(CustomBinder);
let el;
let model;
let fragment;
beforeEach(() => {
model = {};
fragment = document.createDocumentFragment();
el = document.createElement("div");
fragment.appendChild(el);
});
it("receives undefined when html attribute is not specified", () => {
el.innerHTML = "<div rv-custom-binder></div>";
riba.bind(fragment, model);
expect(el.children[0].innerHTML).toEqual("received undefined");
});
it("receives undefined when html attribute is not specified", () => {
el.innerHTML = '<div rv-custom-binder=""></div>';
riba.bind(fragment, model);
expect(el.children[0].innerHTML).toEqual("received undefined");
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW5kZXJzL2luZGV4LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBS3RDLE1BQU0sT0FBTyxZQUFhLFNBQVEsTUFBYztJQUM5QyxNQUFNLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQztJQUM3QixPQUFPLENBQUMsRUFBZSxFQUFFLEtBQWE7UUFDcEMsRUFBRSxDQUFDLFNBQVMsR0FBRyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7O0FBQ0YsQ0FBQztBQUVGLFFBQVEsQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUU7SUFDckQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFMUMsSUFBSSxFQUFrQixDQUFDO0lBQ3ZCLElBQUksS0FBVSxDQUFDO0lBQ2YsSUFBSSxRQUEwQixDQUFDO0lBRS9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsUUFBUSxHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzdDLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMseURBQXlELEVBQUUsR0FBRyxFQUFFO1FBQ2pFLEVBQUUsQ0FBQyxTQUFTLEdBQUcsOEJBQThCLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDSCxFQUFFLENBQUMseURBQXlELEVBQUUsR0FBRyxFQUFFO1FBQ2pFLEVBQUUsQ0FBQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9