Pinafore-Web-Client-Frontend/tests/unit/test-measure-text.js

28 lines
1.5 KiB
JavaScript

/* global describe, it */
import assert from 'assert'
import { measureText } from '../../src/routes/_utils/measureText'
describe('test-measure-text.js', () => {
it('measures text correctly', () => {
assert.deepStrictEqual(measureText(undefined), 0)
assert.deepStrictEqual(measureText(''), 0)
assert.deepStrictEqual(measureText('foo'), 3)
assert.deepStrictEqual(measureText('\ud83c\udf4d\ud83c\udf4d'), 2)
assert.deepStrictEqual(measureText('hello world http://example.com/super/long/url/that/should/be/shortened'), 70)
assert.deepStrictEqual(measureText(' @fooooooooooooooooooooooooooooooooooooooooooooooo@example.com '), 51)
assert.deepStrictEqual(measureText(' @fooooooooooooooooooooooooooooooooooooooooooooooooooo@example.com '), 55)
assert.deepStrictEqual(measureText(' @fooooooooooooooooooooooooooooooooooooooooooooooo@exaaaaaample.com '), 51)
assert.deepStrictEqual(measureText(
'hello world http://example.com/super/long/url/that/should/be/shortened and ' +
'another url http://example.com/super/long/url/that/should/be/shortened/too'),
149)
assert.deepStrictEqual(measureText(
'hello world http://example.com/super/long/url/that/should/be/shortened and ' +
'another url http://example.com/super/long/url/that/should/be/shortened/too and' +
'also a handle @foooooooooooooooooooooooooooooooo@example.com @baaaar@exaaaaaaaaaaample.com and ' +
'@foooooooooooooooooooooooooo@example.com'),
242)
})
})