56 lines
1.7 KiB
Julia
56 lines
1.7 KiB
Julia
using BibTeX, Base.Test
|
|
|
|
import Documenter
|
|
Documenter.makedocs(
|
|
modules = [BibTeX],
|
|
format = :html,
|
|
sitename = "BibTeX.jl",
|
|
root = joinpath(dirname(dirname(@__FILE__)), "docs"),
|
|
pages = Any["Home" => "index.md"],
|
|
strict = true,
|
|
linkcheck = true,
|
|
checkdocs = :exports,
|
|
authors = "Brandon Taylor"
|
|
)
|
|
|
|
@testset "examples.bib" begin
|
|
b = open(Bibliography, joinpath("..", "example", "examples.bib"), "r")
|
|
@test length(b) == 92
|
|
@test (b["angenendt"]::Citation{:article})["date"] == "2002"
|
|
end
|
|
|
|
@testset "small bib" begin
|
|
b = Bibliography("""
|
|
@article{foo, bar=baz}
|
|
@book{bar, foobar=1}
|
|
""")
|
|
@test get(b, "foobar", nothing) === nothing
|
|
@test get(b["foo"], "blah", nothing) === nothing
|
|
|
|
@test string(b["foo"]) == "Citation{:article}(1 entries)"
|
|
|
|
Base.rehash!(b)
|
|
b2 = copy(b)
|
|
@test length(b2) == length(b)
|
|
@test isempty(sizehint!(empty!(b2),10))
|
|
@test isempty(similar(b))
|
|
b2["x"] = Citation{:foo}()
|
|
b2["x"]["bar"] = "blah"
|
|
@test length(b2) == length(b2["x"]) == 1
|
|
@test b2["x"]["bar"] == "blah"
|
|
@test get(b2["x"], "foo", nothing) === nothing
|
|
@test collect(b2)[1][2] == b2["x"]
|
|
@test collect(b2["x"])[1] == ("bar"=>"blah")
|
|
Base.rehash!(b2["x"])
|
|
x2 = copy(b2["x"])::Citation{:foo}
|
|
@test length(x2) == 1
|
|
@test isempty(similar(x2))
|
|
@test isempty(sizehint!(empty!(x2),10))
|
|
end
|
|
|
|
import BibTeX: replace_directives, md_directives
|
|
@testset "latex" begin
|
|
@test replace_directives(raw"foo \dot{\alpha} {quote} \% \{unquote\} \emph{bar \textbf{bold}} {\bf baz 2.0} {\^{u}}", md_directives) ==
|
|
"foo α̇ quote % {unquote} _bar **bold**_ **baz 2.0** û"
|
|
end
|