Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
quarto-dev
GitHub Repository: quarto-dev/quarto-cli
Path: blob/main/tests/unit/giscus.test.ts
6448 views
1
import { unitTest } from "../test.ts";
2
import {buildGiscusThemeKeys, GiscusThemeToggleRecord} from "../../src/core/giscus.ts";
3
import { assertEquals } from "testing/asserts";
4
5
6
const l = (label:string):string => `"Giscus buildThemeKeys: ${label}`;
7
8
unitTest(l('when empty'), async () => {
9
const expected:GiscusThemeToggleRecord = {baseTheme: 'light', altTheme: 'dark'};
10
const actual:GiscusThemeToggleRecord = buildGiscusThemeKeys(false, '');
11
assertEquals(expected, actual);
12
});
13
14
unitTest(l('when empty, with dark default'), async () => {
15
const expected:GiscusThemeToggleRecord = {baseTheme: 'dark', altTheme: 'light'};
16
const actual:GiscusThemeToggleRecord = buildGiscusThemeKeys(true, '');
17
assertEquals(expected, actual);
18
});
19
20
unitTest(l('when string theme'), async () => {
21
const expected:GiscusThemeToggleRecord = {baseTheme: 'fake-theme-key', altTheme: 'fake-theme-key'};
22
const actual:GiscusThemeToggleRecord = buildGiscusThemeKeys(false, 'fake-theme-key');
23
assertEquals(expected, actual);
24
})
25
26
unitTest(l('when record theme'), async () => {
27
const expected:GiscusThemeToggleRecord = {baseTheme: 'fake-theme-key-light', altTheme: 'fake-theme-key-dark'};
28
const actual:GiscusThemeToggleRecord = buildGiscusThemeKeys(false, {light: 'fake-theme-key-light', dark: 'fake-theme-key-dark'});
29
assertEquals(expected, actual);
30
});
31
32
unitTest(l('when record theme, with dark default'), async () => {
33
const expected:GiscusThemeToggleRecord = {baseTheme: 'fake-theme-key-light', altTheme: 'fake-theme-key-dark'};
34
35
const actual:GiscusThemeToggleRecord = buildGiscusThemeKeys(true, {light: 'fake-theme-key-dark', dark: 'fake-theme-key-light'});
36
assertEquals(expected, actual);
37
});
38
39
unitTest(l('when record theme, with only light specified'), async () => {
40
const expected:GiscusThemeToggleRecord = {baseTheme: 'fake-theme-key-light', altTheme: 'dark'};
41
42
const actual:GiscusThemeToggleRecord = buildGiscusThemeKeys(false, {light: 'fake-theme-key-light'});
43
assertEquals(expected, actual);
44
});
45