@patternslib/patternslib
Version:
Patternslib is a JavaScript library that enables designers to build rich interactive prototypes without the need for writing any Javascript. All events are triggered by classes and other attributes in the HTML, without abusing the HTML as a programming la
49 lines (43 loc) • 1.54 kB
JavaScript
import pattern from "./zoom";
import $ from "jquery";
describe("pat-zoom", function () {
beforeEach(function () {
$("<div/>", { id: "lab" }).appendTo(document.body);
});
afterEach(function () {
$("#lab").remove();
});
describe("init", function () {
it("Create default range input", function () {
$("#lab").append("<div id=block/>");
var $block = $("#lab div");
pattern.init($block);
var $range = $block.prev();
expect($range.length).toBe(1);
expect($range[0].min).toBe("0");
expect($range[0].max).toBe("2");
expect($range[0].value).toBe("1");
});
it("Tweak ranges", function () {
$("#lab").append("<div id=block/>");
var $block = $("#lab div");
pattern.init($block, { min: 0.5, max: 5 });
var $range = $block.prev();
expect($range[0].min).toBe("0.5");
expect($range[0].max).toBe("5");
expect($range[0].value).toBe("1");
});
});
describe("Integration tests", function () {
it("Zoom in", function () {
$("#lab").append("<div id=block/>");
var $block = $("#lab div");
pattern.init($block);
var $range = $block.prev();
$range.val("1.5");
$range.change();
// Fairly lax test so it passes in different browsers.
expect($block[0].style.zoom).toBe("1.5");
});
});
});