diff --git a/tests/default.nix b/tests/default.nix new file mode 100644 index 00000000..cadd0c70 --- /dev/null +++ b/tests/default.nix @@ -0,0 +1,5 @@ +{ pkgs ? import { } }: + +{ + lib = import ./lib { inherit pkgs; }; +} diff --git a/tests/lib/default.nix b/tests/lib/default.nix new file mode 100644 index 00000000..eb4802ce --- /dev/null +++ b/tests/lib/default.nix @@ -0,0 +1,20 @@ +{ pkgs }: + +let + inherit (pkgs) lib; + foodogsquaredLib = (import ../../lib { inherit pkgs; }).extend (final: prev: + let + callLib = file: import file { inherit pkgs lib; self = prev; }; + in + { + nixos = callLib ../../lib/nixos.nix; + home-manager = callLib ../../lib/home-manager.nix; + nixvim = callLib ../../lib/nixvim.nix; + }); + + callLib = file: import file { inherit pkgs lib; self = foodogsquaredLib; }; +in +{ + trivial = callLib ./trivial.nix; + #home-manager = callLib ./home-manager.nix; +} diff --git a/tests/lib/trivial.nix b/tests/lib/trivial.nix new file mode 100644 index 00000000..1248bcbc --- /dev/null +++ b/tests/lib/trivial.nix @@ -0,0 +1,20 @@ +{ pkgs, lib, self }: + +lib.runTests { + testCountAttrs = { + expr = self.trivial.countAttrs (n: v: v?enable && v.enable) { + hello.enable = true; + what.enable = false; + atro.enable = true; + adelie = { }; + world = "there"; + mo = null; + }; + expected = 2; + }; + + testGetConfig = { + expr = self.trivial.getConfig "home-manager" "foo-dogsquared"; + expected = ../../configs/home-manager/foo-dogsquared; + }; +}