{ pkgs, lib, self }: let sampleBase16Scheme = self.tinted-theming.importScheme ./sample-base16-scheme.yml; sampleBase16Scheme' = self.tinted-theming.importScheme ./sample-base16-scheme-with-missing-colors.yml; sampleBase24Scheme = self.tinted-theming.importScheme ./sample-base24-scheme.yml; sampleBase24Scheme' = self.tinted-theming.importScheme ./sample-base24-scheme-with-missing-colors.yml; in lib.runTests { testTintedThemingSchemeImport = { expr = self.tinted-theming.importScheme ./sample-base16-scheme.yml; expected = { system = "base16"; name = "Bark on a tree"; author = "Gabriel Arazas (https://foodogsquared.one)"; description = "Rusty theme resembling forestry inspired from Nord theme."; variant = "dark"; palette = { base00 = "2b221f"; base01 = "412c26"; base02 = "5c362c"; base03 = "a45b43"; base04 = "e1bcb2"; base05 = "f5ecea"; base06 = "fefefe"; base07 = "eb8a65"; base08 = "d03e68"; base09 = "df937a"; base0A = "afa644"; base0B = "85b26e"; base0C = "eb914a"; base0D = "c67f62"; base0E = "8b7ab9"; base0F = "7f3F83"; }; }; }; testTintedThemingLegacyBase24SchemeImport = { expr = self.tinted-theming.importScheme ./sample-legacy-base24.yml; expected = { system = "base24"; name = "Scheme Name"; author = "Scheme Author"; description = "a short description of the scheme"; palette = { base00 = "000000"; base01 = "111111"; base02 = "222222"; base03 = "333333"; base04 = "444444"; base05 = "555555"; base06 = "666666"; base07 = "777777"; base08 = "888888"; base09 = "999999"; base0A = "aaaaaa"; base0B = "bbbbbb"; base0C = "cccccc"; base0D = "dddddd"; base0E = "eeeeee"; base0F = "ffffff"; base10 = "000000"; base11 = "111111"; base12 = "222222"; base13 = "333333"; base14 = "444444"; base15 = "555555"; base16 = "666666"; base17 = "777777"; }; }; }; testTintedThemingLegacyBase16SchemeImport = { expr = self.tinted-theming.importScheme ./sample-legacy-base16.yml; expected = { system = "base16"; name = "Scheme Name"; author = "Scheme Author"; description = "a short description of the scheme"; palette = { base00 = "000000"; base01 = "111111"; base02 = "222222"; base03 = "333333"; base04 = "444444"; base05 = "555555"; base06 = "666666"; base07 = "777777"; base08 = "888888"; base09 = "999999"; base0A = "aaaaaa"; base0B = "bbbbbb"; base0C = "cccccc"; base0D = "dddddd"; base0E = "eeeeee"; base0F = "ffffff"; }; }; }; testIsBase16 = { expr = self.tinted-theming.isBase16 sampleBase16Scheme.palette; expected = true; }; testIsNotBase16 = { expr = self.tinted-theming.isBase16 sampleBase16Scheme'.palette; expected = false; }; testIsBase24 = { expr = self.tinted-theming.isBase24 sampleBase24Scheme.palette; expected = true; }; testIsNotBase24 = { expr = self.tinted-theming.isBase24 sampleBase24Scheme'.palette; expected = false; }; testIsALegacyBase16Scheme = { expr = self.tinted-theming.isLegacyScheme (self.importYAML ./sample-legacy-base16.yml); expected = true; }; testIsALegacyBase24Scheme = { expr = self.tinted-theming.isLegacyScheme (self.importYAML ./sample-legacy-base24.yml); expected = true; }; }