From 0d1a5e0ffcf689e6e6b2aaa4a4251db74f6b487b Mon Sep 17 00:00:00 2001 From: silverwind Date: Thu, 8 Apr 2021 12:41:57 +0200 Subject: Add frontend testing, require node 12 (#15315) - 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. --- web_src/js/utils.test.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 web_src/js/utils.test.js (limited to 'web_src') diff --git a/web_src/js/utils.test.js b/web_src/js/utils.test.js new file mode 100644 index 0000000000..0176f8ec53 --- /dev/null +++ b/web_src/js/utils.test.js @@ -0,0 +1,29 @@ +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('test')).toEqual('test'); +}); -- cgit v1.2.3