| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // Copyright 2024 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package webtheme
-
- import (
- "testing"
-
- "github.com/stretchr/testify/assert"
- )
-
- func TestParseThemeMetaInfo(t *testing.T) {
- m := parseThemeMetaInfoToMap(`gitea-theme-meta-info {
- --k1: "v1";
- --k2: "v\"2";
- --k3: 'v3';
- --k4: 'v\'4';
- --k5: v5;
- }`)
- assert.Equal(t, map[string]string{
- "--k1": "v1",
- "--k2": `v"2`,
- "--k3": "v3",
- "--k4": "v'4",
- "--k5": "v5",
- }, m)
-
- // if an auto theme imports others, the meta info should be extracted from the last one
- // the meta in imported themes should be ignored to avoid incorrect overriding
- m = parseThemeMetaInfoToMap(`
- @media (prefers-color-scheme: dark) { gitea-theme-meta-info { --k1: foo; } }
- @media (prefers-color-scheme: light) { gitea-theme-meta-info { --k1: bar; } }
- gitea-theme-meta-info {
- --k2: real;
- }`)
- assert.Equal(t, map[string]string{"--k2": "real"}, m)
- }
|