PkgTemplates.jl/test/plugins/gitlabpages.jl
2019-01-31 19:46:12 -08:00

61 lines
2.2 KiB
Julia

t = Template(; user=me)
pkg_dir = joinpath(t.dir, test_pkg)
@testset "GitLabPages" begin
@testset "Plugin creation" begin
p = GitLabPages()
@test p.gitignore == ["/docs/build/", "/docs/site/"]
@test isempty(p.assets)
p = GitLabPages(; assets=[test_file])
@test p.assets == [test_file]
@test_throws ArgumentError GitLabPages(; assets=[fake_path])
end
@testset "Badge generation" begin
p = GitLabPages()
@test badges(p, me, test_pkg) == [
"[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://$me.gitlab.io/$test_pkg.jl/dev)"
]
end
@testset "File generation" begin
p = GitLabPages()
@test gen_plugin(p, t, test_pkg) == ["docs/"]
@test isdir(joinpath(pkg_dir, "docs"))
@test isfile(joinpath(pkg_dir, "docs", "make.jl"))
make = readchomp(joinpath(pkg_dir, "docs", "make.jl"))
@test occursin("assets=[]", make)
@test !occursin("deploydocs", make)
@test isdir(joinpath(pkg_dir, "docs", "src"))
@test isfile(joinpath(pkg_dir, "docs", "src", "index.md"))
index = readchomp(joinpath(pkg_dir, "docs", "src", "index.md"))
@test occursin("autodocs", index)
rm(joinpath(pkg_dir, "docs"); recursive=true)
p = GitLabPages(; assets=[test_file])
@test gen_plugin(p, t, test_pkg) == ["docs/"]
make = readchomp(joinpath(pkg_dir, "docs", "make.jl"))
# Check the formatting of the assets list.
@test occursin(
strip("""
assets=[
"assets/$(basename(test_file))",
]
"""),
make,
)
@test isfile(joinpath(pkg_dir, "docs", "src", "assets", basename(test_file)))
rm(joinpath(pkg_dir, "docs"); recursive=true)
end
@testset "Package generation with GitLabPages plugin" begin
temp_dir = mktempdir()
t = Template(; user=me, dir=temp_dir, plugins=[GitLabCI(), GitLabPages()])
generate(test_pkg, t; gitconfig=gitconfig)
gitlab = read(joinpath(t.dir, test_pkg, ".gitlab-ci.yml"), String)
@test occursin("pages:", gitlab)
end
end
rm(pkg_dir; recursive=true)