mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-24 18:10:11 +00:00
42 lines
1.5 KiB
JavaScript
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}`);
|
|
});
|
|
});
|
|
});
|