diff options
Diffstat (limited to 'tcllib/modules/doctools2toc/export_json.test')
-rw-r--r-- | tcllib/modules/doctools2toc/export_json.test | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/tcllib/modules/doctools2toc/export_json.test b/tcllib/modules/doctools2toc/export_json.test new file mode 100644 index 0000000..dc9c772 --- /dev/null +++ b/tcllib/modules/doctools2toc/export_json.test @@ -0,0 +1,74 @@ +# -*- tcl -*- +# toc_export_json.test: tests for the doctools::toc::export::json package/plugin. +# +# Copyright (c) 2009 by Andreas Kupries <andreas_kupries@users.sourceforge.net> +# All rights reserved. +# +# RCS: @(#) $Id: export_json.test,v 1.2 2009/11/15 05:50:03 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 + use textutil/adjust.tcl textutil::adjust + useLocal structure.tcl doctools::toc::structure +} +testing { + package provide doctools::toc::export::plugin 1 + # The above fakes the export plugin environment. + + useLocal export_json.tcl doctools::toc::export::json +} + +source [tcllibPath doctools2base/tests/common] +set mytestdir tests/data + +# ------------------------------------------------------------------------- + +# General set of error cases regarding the number of arguments. + +test doctools-toc-export-json-1.0 {export, wrong#args} -body { + export +} -returnCodes error -result {wrong # args: should be "export serial configuration"} + +test doctools-toc-export-json-1.1 {export, wrong#args} -body { + export S +} -returnCodes error -result {wrong # args: should be "export serial configuration"} + +test doctools-toc-export-json-1.2 {export, wrong#args} -body { + export S C XXX +} -returnCodes error -result {wrong # args: should be "export serial configuration"} + +# ------------------------------------------------------------------------- + +# Testing the generation of json output, from toc serialization, +# for all possible plugin configurations. + +foreach {k in al section} { + 0 0 0 -ultracompact + 1 1 0 -indented + 2 0 1 -indalign + 3 1 1 -indalign +} { + TestFilesProcess $mytestdir ok serial json$section -> n label input data expected { + test doctools-toc-export-json-2.$k.$n "doctools::toc::export::json, $label$section, ok" -setup { + set configuration [list indented $in aligned $al] + } -body { + export $data $configuration + } -cleanup { + unset configuration + } -result $expected + } +} + +#---------------------------------------------------------------------- +unset n label input data expected +testsuiteCleanup +return |