# -*- tcl -*- # idx_export_docidx.test: tests for the doctools::idx::export::docidx package/plugin. # # Copyright (c) 2009 by Andreas Kupries # All rights reserved. # # RCS: @(#) $Id: export_docidx.test,v 1.1 2009/04/01 04:28:37 andreas_kupries Exp $ # ------------------------------------------------------------------------- source [file join \ [file dirname [file dirname [file join [pwd] [info script]]]] \ devtools testutilities.tcl] testsNeedTcl 8.4 testsNeedTcltest 2.0 support { use fileutil/fileutil.tcl fileutil ;# tests/common useLocal structure.tcl doctools::idx::structure } testing { package provide doctools::idx::export::plugin 1 # The above fakes the export plugin environment. useLocal export_docidx.tcl doctools::idx::export::docidx } source [tcllibPath doctools2base/tests/common] set mytestdir tests/data # ------------------------------------------------------------------------- # General set of error cases regarding the number of arguments. test doctools-idx-export-docidx-1.0 {export, wrong#args} -body { export } -returnCodes error -result {wrong # args: should be "export serial configuration"} test doctools-idx-export-docidx-1.1 {export, wrong#args} -body { export S } -returnCodes error -result {wrong # args: should be "export serial configuration"} test doctools-idx-export-docidx-1.2 {export, wrong#args} -body { export S C XXX } -returnCodes error -result {wrong # args: should be "export serial configuration"} # ------------------------------------------------------------------------- # Testing the generation of docidx output, from index serialization, # for all possible plugin configurations. foreach {k nl in al name} { 0 0 0 0 ultracompact 1 1 0 0 compact 2 1 1 0 indented 3 1 0 1 aligned 4 1 1 1 indalign 5 0 1 0 indented 6 0 0 1 aligned 7 0 1 1 indalign } { TestFilesProcess $mytestdir ok serial docidx-$name -> n label input data expected { test doctools-idx-export-docidx-2.$k.$n "doctools::idx::export::docidx, ${label}-$name, ok" -setup { set configuration [list newlines $nl indented $in aligned $al user _dummy_] } -body { stripcomments [export $data $configuration] } -cleanup { unset configuration } -result $expected } } #---------------------------------------------------------------------- unset n label input data expected testsuiteCleanup return