UNPKG

@ribajs/core

Version:

Core module of Riba.js

40 lines (34 loc) 1.13 kB
import { Riba } from "../riba.js"; import { Binder } from "../binder.js"; /** * Sets the element's text value. */ export class CustomBinder extends Binder<string> { static key = "custom-binder"; routine(el: HTMLElement, value: string) { el.innerHTML = "received " + value; } }; describe("Custom binder with no attribute value", () => { const riba = new Riba(); riba.module.binder.register(CustomBinder); let el: HTMLDivElement; let model: any; let fragment: DocumentFragment; 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"); }); });