Add unit tests for each supported theme

This commit is contained in:
Romain Vigier
2020-02-14 01:10:39 +01:00
parent 53761e3217
commit e77256faac
18 changed files with 2762 additions and 7 deletions
+3
View File
@@ -1 +1,4 @@
build
node_modules
tests/_variants.js
+24 -7
View File
@@ -24,27 +24,44 @@ VERSION = $(shell grep '"version"' ./src/metadata.json | sed 's/\s"version":\s\(
.PHONY: build
build: clean
build: build-clean
mkdir -p ./build
gnome-extensions pack \
--extra-source=../LICENSE \
--extra-source=./variants.js \
--podir=./po/ \
--gettext-domain=$(UUID) \
--out-dir=./build \
./src
.PHONY: install
install: uninstall build
gnome-extensions install ./build/$(UUID).shell-extension.zip
.PHONY: clean
clean:
.PHONY: build-clean
build-clean:
-rm -rf ./build
.PHONY: install
install: uninstall
gnome-extensions install ./build/$(UUID).shell-extension.zip
.PHONY: uninstall
uninstall:
-gnome-extensions uninstall $(UUID)
.PHONY: clean
clean: build-clean deps-clean
.PHONY: test
test:
cat ./src/variants.js ./tests/_variants.js.template > ./tests/_variants.js
npm run test
.PHONY: deps-install
deps-install:
npm install
.PHONY: deps-clean
deps-clean:
-rm -rf ./node_modules
.PHONY: pot
pot:
mkdir -p ./src/po
+2344
View File
File diff suppressed because it is too large Load Diff
+9
View File
@@ -0,0 +1,9 @@
{
"scripts": {
"test": "ava"
},
"devDependencies": {
"ava": "^3.3.0",
"esm": "^3.2.25"
}
}
+27
View File
@@ -0,0 +1,27 @@
const test = require('ava');
const { Variants } = require('./_variants');
test('Adapta', t => {
const variants = Variants.guess_from('Adapta');
t.is(variants.day, 'Adapta');
t.is(variants.night, 'Adapta-Nokto')
});
test('Adapta-Nokto', t => {
const variants = Variants.guess_from('Adapta-Nokto');
t.is(variants.day, 'Adapta');
t.is(variants.night, 'Adapta-Nokto');
});
test('Adapta-Eta', t => {
const variants = Variants.guess_from('Adapta-Eta');
t.is(variants.day, 'Adapta-Eta');
t.is(variants.night, 'Adapta-Nokto-Eta');
});
test('Adapta-Nokto-Eta', t => {
const variants = Variants.guess_from('Adapta-Nokto-Eta');
t.is(variants.day, 'Adapta-Eta');
t.is(variants.night, 'Adapta-Nokto-Eta');
});
+15
View File
@@ -0,0 +1,15 @@
const test = require('ava');
const { Variants } = require('./_variants');
test('Adwaita', t => {
const variants = Variants.guess_from('Adwaita');
t.is(variants.day, 'Adwaita');
t.is(variants.night, 'Adwaita-dark');
});
test('Adwaita-dark', t => {
const variants = Variants.guess_from('Adwaita-dark');
t.is(variants.day, 'Adwaita');
t.is(variants.night, 'Adwaita-dark');
});
+42
View File
@@ -0,0 +1,42 @@
const test = require('ava');
const { Variants } = require('./_variants');
test('Arc', t => {
const variants = Variants.guess_from('Arc');
t.is(variants.day, 'Arc');
t.is(variants.night, 'Arc-Dark');
});
test('Arc-Dark', t => {
const variants = Variants.guess_from('Arc-Dark');
t.is(variants.day, 'Arc');
t.is(variants.night, 'Arc-Dark');
});
test('Arc-Darker', t => {
const variants = Variants.guess_from('Arc-Darker');
t.is(variants.day, 'Arc-Darker');
t.is(variants.night, 'Arc-Dark');
});
// TODO: Implement solid variant
test.skip('Arc-Darker-solid', t => {
const variants = Variants.guess_from('Arc-Darker-solid');
t.is(variants.day, 'Arc-Darker-solid');
t.is(variants.night, 'Arc-Dark-solid');
});
// TODO: Implement solid variant
test.skip('Arc-Dark-solid', t => {
const variants = Variants.guess_from('Arc-Dark-solid');
t.is(variants.day, 'Arc-solid');
t.is(variants.night, 'Arc-Dark-solid');
});
// TODO: Implement solid variant
test.skip('Arc-solid', t => {
const variants = Variants.guess_from('Arc-solid');
t.is(variants.day, 'Arc-solid');
t.is(variants.night, 'Arc-Dark-solid');
});
+41
View File
@@ -0,0 +1,41 @@
const test = require('ava');
const { Variants } = require('./_variants');
['', '-blue', '-indigo'].forEach(color => {
test(`Canta${color}`, t => {
const variants = Variants.guess_from(`Canta${color}`);
t.is(variants.day, `Canta${color}`);
t.is(variants.night, `Canta${color}-dark`);
});
test(`Canta${color}-dark`, t => {
const variants = Variants.guess_from(`Canta${color}-dark`);
t.is(variants.day, `Canta${color}`);
t.is(variants.night, `Canta${color}-dark`);
});
test(`Canta${color}-light`, t => {
const variants = Variants.guess_from(`Canta${color}-light`);
t.is(variants.day, `Canta${color}-light`);
t.is(variants.night, `Canta${color}-dark`);
});
test(`Canta${color}-compact`, t => {
const variants = Variants.guess_from(`Canta${color}-compact`);
t.is(variants.day, `Canta${color}-compact`);
t.is(variants.night, `Canta${color}-dark-compact`);
});
test(`Canta${color}-dark-compact`, t => {
const variants = Variants.guess_from(`Canta${color}-dark-compact`);
t.is(variants.day, `Canta${color}-compact`);
t.is(variants.night, `Canta${color}-dark-compact`);
});
test(`Canta${color}-light-compact`, t => {
const variants = Variants.guess_from(`Canta${color}-light-compact`);
t.is(variants.day, `Canta${color}-light-compact`);
t.is(variants.night, `Canta${color}-dark-compact`);
});
});
+65
View File
@@ -0,0 +1,65 @@
const test = require('ava');
const { Variants } = require('./_variants');
['Blue', 'Green', 'Red', 'Yellow'].forEach(color => {
test(`Flat-Remix-GTK-${color}`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}`);
t.is(variants.day, `Flat-Remix-GTK-${color}`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Dark`);
});
test(`Flat-Remix-GTK-${color}-Dark`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Dark`);
t.is(variants.day, `Flat-Remix-GTK-${color}`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Dark`);
});
test(`Flat-Remix-GTK-${color}-Darker`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Darker`);
t.is(variants.day, `Flat-Remix-GTK-${color}-Darker`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Dark`);
});
test(`Flat-Remix-GTK-${color}-Darker-Solid`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Darker-Solid`);
t.is(variants.day, `Flat-Remix-GTK-${color}-Darker-Solid`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Dark-Solid`);
});
test(`Flat-Remix-GTK-${color}-Darkest`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Darkest`);
t.is(variants.day, `Flat-Remix-GTK-${color}`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Darkest`);
});
test(`Flat-Remix-GTK-${color}-Darkest-NoBorder`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Darkest-NoBorder`);
t.is(variants.day, `Flat-Remix-GTK-${color}`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Darkest-NoBorder`);
});
test(`Flat-Remix-GTK-${color}-Darkest-Solid`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Darkest-Solid`);
t.is(variants.day, `Flat-Remix-GTK-${color}-Solid`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Darkest-Solid`);
});
test(`Flat-Remix-GTK-${color}-Darkest-Solid-NoBorder`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Darkest-Solid-NoBorder`);
t.is(variants.day, `Flat-Remix-GTK-${color}-Solid`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Darkest-Solid-NoBorder`);
});
test(`Flat-Remix-GTK-${color}-Dark-Solid`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Dark-Solid`);
t.is(variants.day, `Flat-Remix-GTK-${color}-Solid`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Dark-Solid`);
});
test(`Flat-Remix-GTK-${color}-Solid`, t => {
const variants = Variants.guess_from(`Flat-Remix-GTK-${color}-Solid`);
t.is(variants.day, `Flat-Remix-GTK-${color}-Solid`);
t.is(variants.night, `Flat-Remix-GTK-${color}-Dark-Solid`);
});
});
+15
View File
@@ -0,0 +1,15 @@
const test = require('ava');
const { Variants } = require('./_variants');
test('HighContrast', t => {
const variants = Variants.guess_from('HighContrast');
t.is(variants.day, 'HighContrast');
t.is(variants.night, 'HighContrastInverse');
});
test('HighContrastInverse', t => {
const variants = Variants.guess_from('HighContrastInverse');
t.is(variants.day, 'HighContrast');
t.is(variants.night, 'HighContrastInverse');
});
+39
View File
@@ -0,0 +1,39 @@
const test = require('ava');
const { Variants } = require('./_variants');
test('Layan', t => {
const variants = Variants.guess_from('Layan');
t.is(variants.day, 'Layan');
t.is(variants.night, 'Layan-dark');
});
test('Layan-dark', t => {
const variants = Variants.guess_from('Layan-dark');
t.is(variants.day, 'Layan');
t.is(variants.night, 'Layan-dark');
});
test('Layan-light', t => {
const variants = Variants.guess_from('Layan-light');
t.is(variants.day, 'Layan-light');
t.is(variants.night, 'Layan-dark');
});
test('Layan-solid', t => {
const variants = Variants.guess_from('Layan-solid');
t.is(variants.day, 'Layan-solid');
t.is(variants.night, 'Layan-dark-solid');
});
test('Layan-dark-solid', t => {
const variants = Variants.guess_from('Layan-dark-solid');
t.is(variants.day, 'Layan-solid');
t.is(variants.night, 'Layan-dark-solid');
});
test('Layan-light-solid', t => {
const variants = Variants.guess_from('Layan-light-solid');
t.is(variants.day, 'Layan-light-solid');
t.is(variants.night, 'Layan-dark-solid');
});
+24
View File
@@ -0,0 +1,24 @@
const test = require('ava');
const { Variants } = require('./_variants');
['aliz', 'azul', 'sea'].forEach(color => {
test(`Matcha-${color}`, t => {
const variants = Variants.guess_from(`Matcha-${color}`);
t.is(variants.day, `Matcha-${color}`);
t.is(variants.night, `Matcha-dark-${color}`);
});
test(`Matcha-dark-${color}`, t => {
const variants = Variants.guess_from(`Matcha-dark-${color}`);
t.is(variants.day, `Matcha-${color}`);
t.is(variants.night, `Matcha-dark-${color}`);
});
// TODO: Implement light variant
test.skip(`Matcha-light-${color}`, t => {
const variants = Variants.guess_from(`Matcha-light-${color}`);
t.is(variants.day, `Matcha-light-${color}`);
t.is(variants.night, `Matcha-dark-${color}`);
});
})
+23
View File
@@ -0,0 +1,23 @@
const test = require('ava');
const { Variants } = require('./_variants');
['', '-compact'].forEach(size => {
test(`Materia${size}`, t => {
const variants = Variants.guess_from(`Materia${size}`);
t.is(variants.day, `Materia${size}`);
t.is(variants.night, `Materia-dark${size}`);
});
test(`Materia-dark${size}`, t => {
const variants = Variants.guess_from(`Materia-dark${size}`);
t.is(variants.day, `Materia${size}`);
t.is(variants.night, `Materia-dark${size}`);
});
test(`Materia-light${size}`, t => {
const variants = Variants.guess_from(`Materia-light${size}`);
t.is(variants.day, `Materia-light${size}`);
t.is(variants.night, `Materia-dark${size}`);
});
})
+19
View File
@@ -0,0 +1,19 @@
const test = require('ava');
const { Variants } = require('./_variants');
['', '-solid'].forEach(transparency => {
['', '-alt'].forEach(alt => {
test(`Mojave-light${transparency}${alt}`, t => {
const variants = Variants.guess_from(`Mojave-light${transparency}${alt}`);
t.is(variants.day, `Mojave-light${transparency}${alt}`);
t.is(variants.night, `Mojave-dark${transparency}${alt}`);
});
test(`Mojave-dark${transparency}${alt}`, t => {
const variants = Variants.guess_from(`Mojave-dark${transparency}${alt}`);
t.is(variants.day, `Mojave-light${transparency}${alt}`);
t.is(variants.night, `Mojave-dark${transparency}${alt}`);
});
});
});
+25
View File
@@ -0,0 +1,25 @@
const test = require('ava');
const { Variants } = require('./_variants');
['', '-manjaro', '-ubuntu'].forEach(color => {
['', '-win'].forEach(alt => {
test(`Qogir${color}${alt}`, t => {
const variants = Variants.guess_from(`Qogir${color}${alt}`);
t.is(variants.day, `Qogir${color}${alt}`);
t.is(variants.night, `Qogir${color}${alt}-dark`);
});
test(`Qogir${color}${alt}-dark`, t => {
const variants = Variants.guess_from(`Qogir${color}${alt}-dark`);
t.is(variants.day, `Qogir${color}${alt}`);
t.is(variants.night, `Qogir${color}${alt}-dark`);
});
test(`Qogir${color}${alt}light`, t => {
const variants = Variants.guess_from(`Qogir${color}${alt}-light`);
t.is(variants.day, `Qogir${color}${alt}-light`);
t.is(variants.night, `Qogir${color}${alt}-dark`);
});
});
});
+25
View File
@@ -0,0 +1,25 @@
const test = require('ava');
const { Variants } = require('./_variants');
['', '-laptop'].forEach(size => {
['', '-beryl', '-doder', '-ruby'].forEach(color => {
// TODO: Fix laptop implementation
test.skip(`Vimix${size}${color}`, t => {
const variants = Variants.guess_from(`Vimix${size}${color}`);
t.is(variants.day, `Vimix${size}${color}`);
t.is(variants.night, `Vimix-dark${size}${color}`);
});
test.skip(`Vimix-dark${size}${color}`, t => {
const variants = Variants.guess_from(`Vimix-dark${size}${color}`);
t.is(variants.day, `Vimix${size}${color}`);
t.is(variants.night, `Vimix-dark${size}${color}`);
});
test.skip(`Vimix-light${size}${color}`, t => {
const variants = Variants.guess_from(`Vimix-light${size}${color}`);
t.is(variants.day, `Vimix-light${size}${color}`);
t.is(variants.night, `Vimix-dark${size}${color}`);
});
});
});
+21
View File
@@ -0,0 +1,21 @@
const test = require('ava');
const { Variants } = require('./_variants');
test('Yaru', t => {
const variants = Variants.guess_from('Yaru');
t.is(variants.day, 'Yaru');
t.is(variants.night, 'Yaru-dark');
});
test('Yaru-dark', t => {
const variants = Variants.guess_from('Yaru-dark');
t.is(variants.day, 'Yaru');
t.is(variants.night, 'Yaru-dark');
});
test('Yaru-light', t => {
const variants = Variants.guess_from('Yaru-light');
t.is(variants.day, 'Yaru-light');
t.is(variants.night, 'Yaru-dark');
});
+1
View File
@@ -0,0 +1 @@
exports.Variants = Variants;