From f59e8f53fe12fedf0e67ee312104f640267451ff Mon Sep 17 00:00:00 2001 From: Josh Day Date: Fri, 20 Sep 2024 06:05:16 -0400 Subject: [PATCH] tests --- src/Cobweb.jl | 2 ++ test/runtests.jl | 23 ++++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/Cobweb.jl b/src/Cobweb.jl index a503b86..be32f62 100644 --- a/src/Cobweb.jl +++ b/src/Cobweb.jl @@ -77,9 +77,11 @@ Base.push!(o::Node, x) = push!(children(o), x) Base.append!(o::Node, x) = append!(children(o), x) Base.deleteat!(o::Node, x) = deleteat!(children(o), x) Base.pop!(o::Node) = pop!(children(o)) +Base.popat!(o::Node, i) = popat!(children(o), i) Base.popfirst!(o::Node) = popfirst!(children(o)) Base.splice!(o::Node, i::Integer) = splice!(children(o), i) Base.splice!(o::Node, i::Integer, x) = splice!(children(o), i, x) +Base.empty!(o::Node) = empty!(children(o)) diff --git a/test/runtests.jl b/test/runtests.jl index 196104f..54a108d 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -48,11 +48,32 @@ end @test get(node, :id2, 1) == 1 get!(node, :id2, "myid2") @test propertynames(node) == [:id, :class, :id2] - @test node[end] == "content" + @test node[1] == node[end] == "content" + # push! push!(node, h.span("child")) @test node[end] == h.span("child") + # append! append!(node, [h.span("child2"), h.span("child3")]) @test node[end] == h.span("child3") + # empty! + empty!(node) + @test isempty(node) + # pop! + push!(node, "test") + @test pop!(node) == "test" + @test isempty(node) + push!(node, "test") + # popat! + push!(node, "test") + @test popat!(node, 1) == "test" + # deleteat! + deleteat!(node, 1) + @test isempty(node) + # splice! + push!(node, "test") + @test splice!(node, 1, ["new"]) == "test" + @test splice!(node, 1) == "new" + @test isempty(node) end #-----------------------------------------------------------------------------# indexing @testset "get/setindex" begin