expect(context.getCalls()).toEqual([{
name: 'save',
args: []
+ }, {
+ name: 'setFont',
+ args: ["normal 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"],
}, {
name: 'measureText',
args: ['FooBar']
}, {
name: 'save',
args: []
+ }, {
+ name: 'setFont',
+ args: ["normal 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"],
}, {
name: 'measureText',
args: ['FooBar_1']
describe('renderText', function() {
it('should render multiple lines of text', function() {
var context = window.createMockContext();
- var font = {fontString: '', lineHeight: 20};
+ var font = {string: '12px arial', lineHeight: 20};
helpers.renderText(context, ['foo', 'foo2'], 0, 0, font);
expect(context.getCalls()).toEqual([{
name: 'save',
args: [],
+ }, {
+ name: 'setFont',
+ args: ['12px arial'],
}, {
name: 'fillText',
args: ['foo', 0, 0, undefined],
it('should accept the text maxWidth', function() {
var context = window.createMockContext();
- var font = {fontString: '', lineHeight: 20};
+ var font = {string: '12px arial', lineHeight: 20};
helpers.renderText(context, 'foo', 0, 0, font, {maxWidth: 30});
expect(context.getCalls()).toEqual([{
name: 'save',
args: [],
+ }, {
+ name: 'setFont',
+ args: ['12px arial'],
}, {
name: 'fillText',
args: ['foo', 0, 0, 30],
it('should underline the text', function() {
var context = window.createMockContext();
- var font = {fontString: '', lineHeight: 20};
+ var font = {string: '12px arial', lineHeight: 20};
helpers.renderText(context, 'foo', 0, 0, font, {decorationWidth: 3, underline: true});
expect(context.getCalls()).toEqual([{
name: 'save',
args: [],
+ }, {
+ name: 'setFont',
+ args: ['12px arial'],
}, {
name: 'fillText',
args: ['foo', 0, 0, undefined],
it('should strikethrough the text', function() {
var context = window.createMockContext();
- var font = {fontString: '', lineHeight: 20};
+ var font = {string: '12px arial', lineHeight: 20};
helpers.renderText(context, 'foo', 0, 0, font, {strikethrough: true});
expect(context.getCalls()).toEqual([{
name: 'save',
args: [],
+ }, {
+ name: 'setFont',
+ args: ['12px arial'],
}, {
name: 'fillText',
args: ['foo', 0, 0, undefined],
it('should set the fill style if supplied', function() {
var context = window.createMockContext();
- var font = {fontString: '', lineHeight: 20};
+ var font = {string: '12px arial', lineHeight: 20};
helpers.renderText(context, 'foo', 0, 0, font, {color: 'red'});
expect(context.getCalls()).toEqual([{
name: 'save',
args: [],
+ }, {
+ name: 'setFont',
+ args: ['12px arial'],
}, {
name: 'setFillStyle',
args: ['red'],
it('should set the stroke style if supplied', function() {
var context = window.createMockContext();
- var font = {fontString: '', lineHeight: 20};
+ var font = {string: '12px arial', lineHeight: 20};
helpers.renderText(context, 'foo', 0, 0, font, {strokeColor: 'red', strokeWidth: 2});
expect(context.getCalls()).toEqual([{
name: 'save',
args: [],
+ }, {
+ name: 'setFont',
+ args: ['12px arial'],
}, {
name: 'setStrokeStyle',
args: ['red'],
it('should set the text alignment', function() {
var context = window.createMockContext();
- var font = {fontString: '', lineHeight: 20};
+ var font = {string: '12px arial', lineHeight: 20};
helpers.renderText(context, 'foo', 0, 0, font, {textAlign: 'left', textBaseline: 'middle'});
expect(context.getCalls()).toEqual([{
name: 'save',
args: [],
+ }, {
+ name: 'setFont',
+ args: ['12px arial'],
}, {
name: 'setTextAlign',
args: ['left'],
it('should translate and rotate text', function() {
var context = window.createMockContext();
- var font = {fontString: '', lineHeight: 20};
+ var font = {string: '12px arial', lineHeight: 20};
helpers.renderText(context, 'foo', 0, 0, font, {rotation: 90, translation: [10, 20]});
expect(context.getCalls()).toEqual([{
}, {
name: 'rotate',
args: [90],
+ }, {
+ name: 'setFont',
+ args: ['12px arial'],
}, {
name: 'fillText',
args: ['foo', 0, 0, undefined],
{name: 'setTextAlign', args: ['left']},
{name: 'setTextBaseline', args: ['middle']},
{name: 'setFillStyle', args: ['#fff']},
+ {name: 'setFont', args: ["bold 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'fillText', args: ['title', 105, 111]},
{name: 'setTextAlign', args: ['left']},
{name: 'setTextBaseline', args: ['middle']},
+ {name: 'setFont', args: ["normal 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'setFillStyle', args: ['#fff']},
{name: 'setFillStyle', args: ['#fff']},
{name: 'fillText', args: ['label', 105, 129]},
{name: 'setTextAlign', args: ['left']},
{name: 'setTextBaseline', args: ['middle']},
{name: 'setFillStyle', args: ['#fff']},
+ {name: 'setFont', args: ["bold 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'fillText', args: ['footer', 105, 147]},
{name: 'restore', args: []}
]));
{name: 'setTextAlign', args: ['right']},
{name: 'setTextBaseline', args: ['middle']},
{name: 'setFillStyle', args: ['#fff']},
+ {name: 'setFont', args: ["bold 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'fillText', args: ['title', 195, 111]},
{name: 'setTextAlign', args: ['right']},
{name: 'setTextBaseline', args: ['middle']},
+ {name: 'setFont', args: ["normal 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'setFillStyle', args: ['#fff']},
{name: 'setFillStyle', args: ['#fff']},
{name: 'fillText', args: ['label', 195, 129]},
{name: 'setTextAlign', args: ['right']},
{name: 'setTextBaseline', args: ['middle']},
{name: 'setFillStyle', args: ['#fff']},
+ {name: 'setFont', args: ["bold 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'fillText', args: ['footer', 195, 147]},
{name: 'restore', args: []}
]));
{name: 'setTextAlign', args: ['center']},
{name: 'setTextBaseline', args: ['middle']},
{name: 'setFillStyle', args: ['#fff']},
+ {name: 'setFont', args: ["bold 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'fillText', args: ['title', 150, 111]},
{name: 'setTextAlign', args: ['center']},
{name: 'setTextBaseline', args: ['middle']},
+ {name: 'setFont', args: ["normal 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'setFillStyle', args: ['#fff']},
{name: 'setFillStyle', args: ['#fff']},
{name: 'fillText', args: ['label', 150, 129]},
{name: 'setTextAlign', args: ['center']},
{name: 'setTextBaseline', args: ['middle']},
{name: 'setFillStyle', args: ['#fff']},
+ {name: 'setFont', args: ["bold 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'fillText', args: ['footer', 150, 147]},
{name: 'restore', args: []}
]));
{name: 'setTextAlign', args: ['right']},
{name: 'setTextBaseline', args: ['middle']},
{name: 'setFillStyle', args: ['#fff']},
+ {name: 'setFont', args: ["bold 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'fillText', args: ['title', 195, 111]},
{name: 'setTextAlign', args: ['center']},
{name: 'setTextBaseline', args: ['middle']},
+ {name: 'setFont', args: ["normal 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'setFillStyle', args: ['#fff']},
{name: 'setFillStyle', args: ['#fff']},
{name: 'fillText', args: ['label', 150, 129]},
{name: 'setTextAlign', args: ['left']},
{name: 'setTextBaseline', args: ['middle']},
{name: 'setFillStyle', args: ['#fff']},
+ {name: 'setFont', args: ["bold 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"]},
{name: 'fillText', args: ['footer', 105, 147]},
{name: 'restore', args: []}
]));