status-react/nix/tools/mkFilter_test.nix

57 lines
1.3 KiB
Nix
Raw Normal View History

# This file is an example of the syntax required to call a Nix function
# and serves to test mkFilter.nix.
#
# nix-instantiate --strict --json --eval ./mkFilter_test.nix
# [
# {
# "expected": true,
# "path": "/home/pedro/src/github.com/status-im/status-react/android/1",
# "result": true
# },
# {
# "expected": true,
# "path": "/home/pedro/src/github.com/status-im/status-react/ios",
# "result": false
# }
# ]
{ pkgs ? import <nixpkgs> { },
lib ? pkgs.stdenv.lib }:
let
mkFilter = pkgs.callPackage ./mkFilter.nix { inherit lib; };
absPath = "/ABS/PROJECT/PATH";
filter = mkFilter {
dirRootsToInclude = [ "android" ];
# dirsToExclude ? [], # Base names of directories to exclude
# filesToInclude ? [], # Relative path of files to include
# filesToExclude ? [], # Relative path of files to exclude
root = absPath;
};
tests = [
{
a = {
path = "${absPath}/android/1";
type = "directory";
};
e = true;
}
{
a = {
path = "${absPath}/ios";
type = "directory";
};
e = false;
}
];
boolToString = b: if b then "true" else "false";
in builtins.map (
t: let
rval = (filter t.a.path t.a.type);
in {
path = t.a.path;
pass = t.e == rval;
}
) tests