build: Set up jasmine for unit testing

Jasmine[0] is a popular testing framework for javascript, which
gjs itself has used in a heavily customized form for its own
unit tests for years.

It's far superior to the very rudimentary `jsUnit` module that
is still included with gjs, and the jasmine-gjs project provides
a general-purpose wrapper for gjs apps.

Set up the necessary build infrastructure to run unit tests
through jasmine. That allows for existing unit tests to be
ported one-by-one.

[0] https://jasmine.github.io/index.html

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3164>
This commit is contained in:
Florian Müllner 2024-01-20 21:04:05 +01:00 committed by Marge Bot
parent 1fcdc60ca0
commit 151e2faa0f
5 changed files with 55 additions and 1 deletions

26
tests/unit/.eslintrc.yml Normal file
View file

@ -0,0 +1,26 @@
---
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
# SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
rules:
jsdoc/require-jsdoc: 'off'
globals:
jasmine: readonly
afterAll: readonly
afterEach: readonly
beforeAll: readonly
beforeEach: readonly
describe: readonly
expect: readonly
expectAsync: readonly
fail: readonly
fdescribe: readonly
fit: readonly
it: readonly
pending: readonly
setSpecProperty: readonly
setSuiteProperty: readonly
spyOn: readonly
spyOnAllFunctions: readonly
spyOnProperty: readonly
xdescribe: readonly
xit: readonly