summaryrefslogtreecommitdiffstats
path: root/web_src
diff options
context:
space:
mode:
authorsilverwind <me@silverwind.io>2021-04-08 12:41:57 +0200
committerGitHub <noreply@github.com>2021-04-08 12:41:57 +0200
commit0d1a5e0ffcf689e6e6b2aaa4a4251db74f6b487b (patch)
treec9c854a4efc5c623743ef09fdb3cd37215c4549b /web_src
parent4eea819b2496b849ca8e1e7a6e11fef45e141225 (diff)
downloadgitea-0d1a5e0ffcf689e6e6b2aaa4a4251db74f6b487b.tar.gz
gitea-0d1a5e0ffcf689e6e6b2aaa4a4251db74f6b487b.zip
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.
Diffstat (limited to 'web_src')
-rw-r--r--web_src/js/utils.test.js29
1 files changed, 29 insertions, 0 deletions
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('<a>test</a>')).toEqual('test');
+});