Skip to content

Commit 79f1107

Browse files
committed
Drawing: test setTranslate works with negatives
1 parent a554ea6 commit 79f1107

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

test/jasmine/tests/drawing_test.js

+36
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,42 @@ describe('Drawing', function() {
113113
el.attr('transform', 'rotate(20)');
114114
expect(Drawing.getTranslate(el)).toEqual({ x: 0, y: 0 });
115115
});
116+
117+
it('should work with negative values', function() {
118+
var el = document.createElement('div'),
119+
el3 = d3.select(document.createElement('div'));
120+
121+
expect(Drawing.getTranslate(el)).toEqual({ x: 0, y: 0 });
122+
123+
var testCases = [
124+
{ transform: 'translate(-123.45px, -67)', x: -123.45, y: -67 },
125+
{ transform: 'translate(-123.45px, 67)', x: -123.45, y: 67 },
126+
{ transform: 'translate(123.45px, -67)', x: 123.45, y: -67 },
127+
{ transform: 'translate(-123.45)', x: -123.45, y: 0 },
128+
{ transform: 'translate(-1 -2)', x: -1, y: -2 },
129+
{ transform: 'translate(-1 2)', x: -1, y: 2 },
130+
{ transform: 'translate(1 -2)', x: 1, y: -2 },
131+
{ transform: 'translate(-1 -2); rotate(20deg)', x: -1, y: -2 },
132+
{ transform: 'translate(-1 2); rotate(20deg)', x: -1, y: 2 },
133+
{ transform: 'translate(1 -2); rotate(20deg)', x: 1, y: -2 },
134+
{ transform: 'rotate(20deg) translate(-1 -2);', x: -1, y: -2 },
135+
{ transform: 'rotate(20deg) translate(-1 2);', x: -1, y: 2 },
136+
{ transform: 'rotate(20deg) translate(1 -2);', x: 1, y: -2 }
137+
];
138+
139+
for(var i = 0; i < testCases.length; i++) {
140+
var testCase = testCases[i],
141+
transform = testCase.transform,
142+
x = testCase.x,
143+
y = testCase.y;
144+
145+
el.setAttribute('transform', transform);
146+
expect(Drawing.getTranslate(el)).toEqual({ x: x, y: y });
147+
148+
el3.attr('transform', transform);
149+
expect(Drawing.getTranslate(el)).toEqual({ x: x, y: y });
150+
}
151+
});
116152
});
117153

118154
describe('setTranslate', function() {

0 commit comments

Comments
 (0)