66 lines
1.8 KiB
Text
66 lines
1.8 KiB
Text
(:~ tests for pdfbox3
|
|
|
|
:)
|
|
module namespace test="urn:expkg-zone58:pdfbox3:tests";
|
|
import module namespace pdfbox="org.expkg_zone58.Pdfbox3";
|
|
|
|
declare variable $test:base:=file:base-dir()=>file:parent()=>file:parent();
|
|
|
|
|
|
|
|
declare %unit:test
|
|
function test:page-count(){
|
|
let $PDF:="samples.pdf/BaseX100.pdf"=>test:resolve()
|
|
let $pages:=pdfbox:open($PDF)=>pdfbox:page-count()
|
|
return unit:assert-equals($pages,521)
|
|
};
|
|
|
|
declare %unit:test
|
|
function test:outline-none(){
|
|
let $PDF:="samples.pdf/BaseX100.pdf"=>test:resolve()
|
|
let $outline:=pdfbox:open($PDF)=>pdfbox:outline()
|
|
return unit:assert(empty($outline))
|
|
};
|
|
|
|
declare %unit:test
|
|
function test:outline-present(){
|
|
let $PDF:="samples.pdf/icelandic-dictionary.pdf"=>test:resolve()
|
|
let $outline:=pdfbox:open($PDF)=>pdfbox:outline()
|
|
return unit:assert(exists($outline))
|
|
};
|
|
|
|
declare %unit:test
|
|
function test:outline-xml(){
|
|
let $PDF:="samples.pdf/icelandic-dictionary.pdf"=>test:resolve()
|
|
let $outline:=pdfbox:open($PDF)=>pdfbox:outline()=>pdfbox:outline-xml()
|
|
return unit:assert-equals(count($outline/bookmark),31)
|
|
};
|
|
|
|
declare %unit:test
|
|
function test:pagelabels(){
|
|
let $PDF:="samples.pdf/BaseX100.pdf"=>test:resolve()
|
|
let $labels:=pdfbox:open($PDF)=>pdfbox:pageLabels()
|
|
return (
|
|
unit:assert($labels[1]="i") ,
|
|
unit:assert($labels[27]="1")
|
|
)
|
|
};
|
|
|
|
declare %unit:test
|
|
function test:save(){
|
|
let $dest:=file:create-temp-file("test",".pdf")=>trace("DEST: ")
|
|
let $PDF:="samples.pdf/BaseX100.pdf"=>test:resolve()
|
|
let $outline:=pdfbox:open($PDF)=>pdfbox:extract(2,12,$dest)
|
|
return unit:assert(true())
|
|
};
|
|
|
|
declare %unit:test
|
|
function test:page-text(){
|
|
let $PDF:="samples.pdf/BaseX100.pdf"=>test:resolve()
|
|
let $text:=pdfbox:open($PDF)=>pdfbox:getText(1)
|
|
return unit:assert(starts-with($text,"BaseX Documentation"))
|
|
};
|
|
|
|
declare function test:resolve($file as xs:string){
|
|
file:resolve-path($file,$test:base)
|
|
};
|