0d1a5e0ffc
- Add basic frontend unit testing infrastructure using jest in ESM mode - Rename 'make test' to 'make test-backend' - Introduce 'make test-frontend' and 'make test' that runs both - Bump Node.js requirement to v12. v10 will be EOL in less than a month. - Convert all build-related JS files to ESM. I opted to run frontend tests run as part of the compliance pipeline because they complete fast and are not platform-specific like the golang tests.
29 lines
735 B
JavaScript
29 lines
735 B
JavaScript
import {
|
|
basename, extname, isObject, uniq, stripTags,
|
|
} from './utils.js';
|
|
|
|
test('basename', () => {
|
|
expect(basename('/path/to/file.js')).toEqual('file.js');
|
|
expect(basename('/path/to/file')).toEqual('file');
|
|
expect(basename('file.js')).toEqual('file.js');
|
|
});
|
|
|
|
test('extname', () => {
|
|
expect(extname('/path/to/file.js')).toEqual('.js');
|
|
expect(extname('/path/')).toEqual('');
|
|
expect(extname('/path')).toEqual('');
|
|
expect(extname('file.js')).toEqual('.js');
|
|
});
|
|
|
|
test('isObject', () => {
|
|
expect(isObject({})).toBeTrue();
|
|
expect(isObject([])).toBeFalse();
|
|
});
|
|
|
|
test('uniq', () => {
|
|
expect(uniq([1, 1, 1, 2])).toEqual([1, 2]);
|
|
});
|
|
|
|
test('stripTags', () => {
|
|
expect(stripTags('<a>test</a>')).toEqual('test');
|
|
});
|