blob: 73982af65f28ff2516b349e0c2ebb779c8d51069 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# -*- tcl -*-
# idx_export_json.test: tests for the doctools::idx::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.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
use textutil/adjust.tcl textutil::adjust
useLocal structure.tcl doctools::idx::structure
}
testing {
package provide doctools::idx::export::plugin 1
# The above fakes the export plugin environment.
useLocal export_json.tcl doctools::idx::export::json
}
source [tcllibPath doctools2base/tests/common]
set mytestdir tests/data
# -------------------------------------------------------------------------
# General set of error cases regarding the number of arguments.
test doctools-idx-export-json-1.0 {export, wrong#args} -body {
export
} -returnCodes error -result {wrong # args: should be "export serial configuration"}
test doctools-idx-export-json-1.1 {export, wrong#args} -body {
export S
} -returnCodes error -result {wrong # args: should be "export serial configuration"}
test doctools-idx-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 index 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-idx-export-json-2.$k.$n "doctools::idx::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
|