My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/development/python-modules/mkdocs-macros/tests.nix

49 lines
1.1 KiB

{ setuptools
, mkdocs
, mkdocs-macros
, mkdocs-material
, runCommand
, callPackage
}:
let
inherit (mkdocs-macros) pname version src;
mkdocs-macros-test = callPackage ./mkdocs-macros-test.nix { };
env = {
nativeBuildInputs = [
setuptools
mkdocs
mkdocs-macros
mkdocs-macros-test
mkdocs-material
];
};
in
runCommand "mkdocs-macros-example-docs" env ''
set -euo pipefail
mkdir $out
base_dir=${pname}-${version}/test
tar --extract "--file=${src}"
for test_dir in $base_dir/*/; do
pushd $test_dir
mkdocs build --site-dir=$out/$test_dir
popd
done
# Do some static checks on the generated content
pushd $out/$base_dir
# Non-existent variables
cat debug/index.html | grep "another one: that"
# File inclusion
cat module/index.html | grep "part from an <em>included</em> file!"
# Variable replacement
cat module_dir/index.html | grep "total costs is 50 euros"
# New syntax with square brackets
cat new_syntax/index.html | grep "expensive"
# General info on macros
cat simple/index.html | grep "Macros Plugin Environment"
''