2019-08-31 20:51:14 -07:00

42 lines
1.5 KiB
JavaScript

import { splitText } from 'wherehows-web/helpers/split-text';
import { module, test } from 'qunit';
module('Unit | Helper | split text', function() {
const defaultSeparator = '...';
const scenarios = {
'htmlbars-inline-precompile': 'htmlbars...ecompile',
'Kubernetes has an ApiServer running on the master which acts as the supervisor for its cluster':
'Kubernet...cluster',
'a short text': 'a short text',
'-': '-'
};
test('returns values', function(assert) {
const testText = 'this is a hypothetical long string of text';
const runtimeSeparator = '///';
let result = splitText(['']);
assert.ok(typeof result === 'string', 'it returns a string type');
assert.equal(result, '', 'it returns the passed in string');
result = splitText([testText, 5]);
assert.ok(typeof result === 'string', 'it returns a string type');
assert.ok(result.includes(defaultSeparator), 'it returns a string with the default separator');
result = splitText([]);
assert.ok(result === '', 'it returns empty string for an undefined argument');
result = splitText([testText, 5, runtimeSeparator]);
assert.ok(result.includes(runtimeSeparator), 'it includes a runtime separator for truncated text');
});
test('it returns expected results', function(assert) {
const expectations = Object.entries(scenarios);
assert.expect(expectations.length);
expectations.forEach(([input, output]) => {
assert.equal(splitText([input]), output, `expected splitText to output ${output} for input ${input}`);
});
});
});