39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
|
describe("Attributes += methods", function () {
|
||
|
var s, r;
|
||
|
beforeEach(function () {
|
||
|
s = Snap(100, 100);
|
||
|
r = s.rect(10, 10, 50, 50);
|
||
|
});
|
||
|
afterEach(function () {
|
||
|
s.remove();
|
||
|
});
|
||
|
it("+=10", function () {
|
||
|
r.attr({x: "+=10"});
|
||
|
expect(r.node.getAttribute("x")).to.be("20");
|
||
|
});
|
||
|
it("-=10", function () {
|
||
|
r.attr({x: "-=10"});
|
||
|
expect(r.node.getAttribute("x")).to.be("0");
|
||
|
});
|
||
|
it("*=2", function () {
|
||
|
r.attr({x: "*=2"});
|
||
|
expect(r.node.getAttribute("x")).to.be("20");
|
||
|
});
|
||
|
it("/=2", function () {
|
||
|
r.attr({x: "/=2"});
|
||
|
expect(r.node.getAttribute("x")).to.be("5");
|
||
|
});
|
||
|
it("+=1em", function () {
|
||
|
var em = s.rect(0, 0, "1em", "1em");
|
||
|
em = em.getBBox().w;
|
||
|
r.attr({x: "+=1em"});
|
||
|
expect(r.node.getAttribute("x")).to.eql(10 + em);
|
||
|
});
|
||
|
it("-=.3em", function () {
|
||
|
var em = s.rect(0, 0, "1em", "1em");
|
||
|
em = em.getBBox().w;
|
||
|
r.attr({x: "-=.3em"});
|
||
|
expect((+r.node.getAttribute("x")).toFixed(2)).to.eql((10 - em * .3).toFixed(2));
|
||
|
});
|
||
|
});
|