fit 1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. data/README.txt +203 -0
  2. data/Rakefile +111 -0
  3. data/bin/FitServer.rb +6 -0
  4. data/bin/fit +10 -0
  5. data/bin/fit.cgi +36 -0
  6. data/doc/examples/AllCombinations.html +55 -0
  7. data/doc/examples/AllFiles.html +60 -0
  8. data/doc/examples/AllPairs/function/cosine.html +57 -0
  9. data/doc/examples/AllPairs/function/sine.html +57 -0
  10. data/doc/examples/AllPairs/magnitude/180+30.html +45 -0
  11. data/doc/examples/AllPairs/magnitude/30.html +33 -0
  12. data/doc/examples/AllPairs/magnitude/360+30.html +45 -0
  13. data/doc/examples/AllPairs/magnitude/90-30.html +45 -0
  14. data/doc/examples/AllPairs/sign/change-sign.html +27 -0
  15. data/doc/examples/AllPairs/sign/multiply.html +31 -0
  16. data/doc/examples/AllPairs/sign/no-change.html +23 -0
  17. data/doc/examples/AllPairs.html +51 -0
  18. data/doc/examples/BinaryChop.html +89 -0
  19. data/doc/examples/CalculatorExample.html +108 -0
  20. data/doc/examples/ColumnIndex.html +43 -0
  21. data/doc/examples/ExampleTests.html +43 -0
  22. data/doc/examples/FitAcceptanceTests.html +53 -0
  23. data/doc/examples/GeoCoordinate.html +87 -0
  24. data/doc/examples/MusicExample.html +143 -0
  25. data/doc/examples/MusicExampleWithErrors.html +128 -0
  26. data/doc/examples/NetworkExample.html +47 -0
  27. data/doc/examples/WebPageExample.html +92 -0
  28. data/doc/examples/arithmetic.html +211 -0
  29. data/doc/examples/files/hp35bk.jpg +0 -0
  30. data/doc/examples/logo.gif +0 -0
  31. data/doc/fitnesse/FitNesse.RubY.AcceptanceTests.FixtureParameters.html +81 -0
  32. data/doc/fitnesse/FitNesse.RubY.AcceptanceTests.GracefulFixtureNames.html +87 -0
  33. data/doc/fitnesse/FitNesse.RubY.AcceptanceTests.GracefulMemberNames.html +73 -0
  34. data/doc/fitnesse/FitNesse.RubY.AcceptanceTests.ImportFixture.html +61 -0
  35. data/doc/fitnesse/FitNesse.RubY.AcceptanceTests.WaysToSpecifyaFixtureNamespace.html +81 -0
  36. data/doc/spec/annotation.html +3833 -0
  37. data/doc/spec/extensions.html +302 -0
  38. data/doc/spec/fixtures.html +5181 -0
  39. data/doc/spec/index.html +947 -0
  40. data/doc/spec/parse.html +3094 -0
  41. data/lib/eg/all_combinations.rb +44 -0
  42. data/lib/eg/all_files.rb +94 -0
  43. data/lib/eg/all_pairs.rb +172 -0
  44. data/lib/eg/arithmetic_column_fixture.rb +35 -0
  45. data/lib/eg/arithmetic_fixture.rb +29 -0
  46. data/lib/eg/binary_chop.rb +100 -0
  47. data/lib/eg/calculator.rb +69 -0
  48. data/lib/eg/column_index.rb +85 -0
  49. data/lib/eg/division.rb +13 -0
  50. data/lib/eg/echo_args_fixture.rb +9 -0
  51. data/lib/eg/example_tests.rb +84 -0
  52. data/lib/eg/music/Music.txt +38 -0
  53. data/lib/eg/music/browser.rb +60 -0
  54. data/lib/eg/music/display.rb +24 -0
  55. data/lib/eg/music/music.rb +67 -0
  56. data/lib/eg/music/music_library.rb +70 -0
  57. data/lib/eg/music/music_player.rb +77 -0
  58. data/lib/eg/music/realtime.rb +39 -0
  59. data/lib/eg/music/simulator.rb +81 -0
  60. data/lib/eg/nested/bob.rb +12 -0
  61. data/lib/eg/nested/bob_the_builder_fixture.rb +11 -0
  62. data/lib/eg/net/simulator.rb +69 -0
  63. data/lib/eg/page.rb +91 -0
  64. data/lib/eg/sqrt.rb +19 -0
  65. data/lib/fat/annotation_fixture.rb +83 -0
  66. data/lib/fat/color.rb +45 -0
  67. data/lib/fat/divide.rb +13 -0
  68. data/lib/fat/document_parse_fixture.rb +67 -0
  69. data/lib/fat/equals.rb +59 -0
  70. data/lib/fat/fixture_name_fixture.rb +67 -0
  71. data/lib/fat/html_to_text_fixture.rb +20 -0
  72. data/lib/fat/money.rb +18 -0
  73. data/lib/fat/output_fixture.rb +32 -0
  74. data/lib/fat/parse_fixture.rb +92 -0
  75. data/lib/fat/reference_fixture.rb +31 -0
  76. data/lib/fat/standard_annotation_fixture.rb +58 -0
  77. data/lib/fat/string_writer.rb +12 -0
  78. data/lib/fat/table.rb +23 -0
  79. data/lib/fat/table_parse_fixture.rb +33 -0
  80. data/lib/fat/text_to_html_fixture.rb +21 -0
  81. data/lib/fit/action_fixture.rb +65 -0
  82. data/lib/fit/column_fixture.rb +104 -0
  83. data/lib/fit/file_runner.rb +80 -0
  84. data/lib/fit/fit_protocol.rb +62 -0
  85. data/lib/fit/fit_server.rb +173 -0
  86. data/lib/fit/fixture.rb +309 -0
  87. data/lib/fit/fixture_loader.rb +75 -0
  88. data/lib/fit/import_fixture.rb +9 -0
  89. data/lib/fit/parse.rb +206 -0
  90. data/lib/fit/primitive_fixture.rb +52 -0
  91. data/lib/fit/row_fixture.rb +188 -0
  92. data/lib/fit/scientific_double.rb +70 -0
  93. data/lib/fit/summary.rb +46 -0
  94. data/lib/fit/timed_action_fixture.rb +35 -0
  95. data/lib/fit/type_adapter.rb +95 -0
  96. data/lib/fit/wiki_runner.rb +15 -0
  97. data/lib/fittask.rb +184 -0
  98. data/test/all_tests.rb +13 -0
  99. data/test/file_runner_test.rb +52 -0
  100. data/test/fit_server_test.rb +214 -0
  101. data/test/fixture_loader_test.rb +71 -0
  102. data/test/fixture_test.rb +41 -0
  103. data/test/fixtures/fail_fixture.rb +9 -0
  104. data/test/fixtures/pass_fixture.rb +9 -0
  105. data/test/framework_test.rb +51 -0
  106. data/test/parse_test.rb +101 -0
  107. data/test/row_fixture_test.rb +44 -0
  108. data/test/scientific_double_test.rb +35 -0
  109. data/test/type_adapter_test.rb +120 -0
  110. metadata +165 -0
@@ -0,0 +1,947 @@
1
+ <html xmlns:v="urn:schemas-microsoft-com:vml"
2
+ xmlns:o="urn:schemas-microsoft-com:office:office"
3
+ xmlns:w="urn:schemas-microsoft-com:office:word"
4
+ xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
5
+ xmlns="http://www.w3.org/TR/REC-html40">
6
+
7
+ <head>
8
+ <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
9
+ <meta name=ProgId content=Word.Document>
10
+ <meta name=Generator content="Microsoft Word 10">
11
+ <meta name=Originator content="Microsoft Word 10">
12
+ <link rel=File-List href="index_files/filelist.xml">
13
+ <title>Fit Specification</title>
14
+ <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
15
+ name="PersonName"/>
16
+ <!--[if gte mso 9]><xml>
17
+ <w:WordDocument>
18
+ <w:View>Normal</w:View>
19
+ <w:SpellingState>Clean</w:SpellingState>
20
+ <w:GrammarState>Clean</w:GrammarState>
21
+ <w:Compatibility>
22
+ <w:ApplyBreakingRules/>
23
+ <w:UseFELayout/>
24
+ </w:Compatibility>
25
+ <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
26
+ </w:WordDocument>
27
+ </xml><![endif]--><!--[if !mso]><object
28
+ classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
29
+ <style>
30
+ st1\:*{behavior:url(#ieooui) }
31
+ </style>
32
+ <![endif]-->
33
+ <style>
34
+ <!--
35
+ /* Font Definitions */
36
+ @font-face
37
+ {font-family:"MS Mincho";
38
+ panose-1:2 2 6 9 4 2 5 8 3 4;
39
+ mso-font-alt:"\FF2D\FF33 \660E\671D";
40
+ mso-font-charset:128;
41
+ mso-generic-font-family:modern;
42
+ mso-font-pitch:fixed;
43
+ mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
44
+ @font-face
45
+ {font-family:SimSun;
46
+ panose-1:2 1 6 0 3 1 1 1 1 1;
47
+ mso-font-alt:\5B8B\4F53;
48
+ mso-font-charset:134;
49
+ mso-generic-font-family:auto;
50
+ mso-font-pitch:variable;
51
+ mso-font-signature:3 135135232 16 0 262145 0;}
52
+ @font-face
53
+ {font-family:"\@SimSun";
54
+ panose-1:2 1 6 0 3 1 1 1 1 1;
55
+ mso-font-charset:134;
56
+ mso-generic-font-family:auto;
57
+ mso-font-pitch:variable;
58
+ mso-font-signature:3 135135232 16 0 262145 0;}
59
+ @font-face
60
+ {font-family:"\@MS Mincho";
61
+ panose-1:2 2 6 9 4 2 5 8 3 4;
62
+ mso-font-charset:128;
63
+ mso-generic-font-family:modern;
64
+ mso-font-pitch:fixed;
65
+ mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
66
+ /* Style Definitions */
67
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
68
+ {mso-style-parent:"";
69
+ margin:0in;
70
+ margin-bottom:.0001pt;
71
+ mso-pagination:widow-orphan;
72
+ font-size:12.0pt;
73
+ font-family:"Times New Roman";
74
+ mso-fareast-font-family:SimSun;}
75
+ h1
76
+ {margin-top:12.0pt;
77
+ margin-right:0in;
78
+ margin-bottom:3.0pt;
79
+ margin-left:0in;
80
+ mso-pagination:widow-orphan;
81
+ page-break-after:avoid;
82
+ mso-outline-level:1;
83
+ font-size:16.0pt;
84
+ font-family:Arial;
85
+ mso-fareast-font-family:"Times New Roman";
86
+ font-weight:bold;}
87
+ h2
88
+ {mso-style-next:Normal;
89
+ margin-top:12.0pt;
90
+ margin-right:0in;
91
+ margin-bottom:3.0pt;
92
+ margin-left:0in;
93
+ mso-pagination:widow-orphan;
94
+ page-break-after:avoid;
95
+ mso-outline-level:2;
96
+ font-size:14.0pt;
97
+ font-family:Arial;
98
+ mso-fareast-font-family:"Times New Roman";
99
+ font-weight:bold;
100
+ font-style:italic;}
101
+ a:link, span.MsoHyperlink
102
+ {color:blue;
103
+ text-decoration:underline;
104
+ text-underline:single;}
105
+ a:visited, span.MsoHyperlinkFollowed
106
+ {color:purple;
107
+ text-decoration:underline;
108
+ text-underline:single;}
109
+ p
110
+ {margin:0in;
111
+ margin-bottom:.0001pt;
112
+ mso-pagination:widow-orphan;
113
+ font-size:12.0pt;
114
+ font-family:"Times New Roman";
115
+ mso-fareast-font-family:SimSun;}
116
+ span.SpellE
117
+ {mso-style-name:"";
118
+ mso-spl-e:yes;}
119
+ span.GramE
120
+ {mso-style-name:"";
121
+ mso-gram-e:yes;}
122
+ @page Section1
123
+ {size:8.5in 11.0in;
124
+ margin:1.0in 1.25in 1.0in 1.25in;
125
+ mso-header-margin:.5in;
126
+ mso-footer-margin:.5in;
127
+ mso-paper-source:0;}
128
+ div.Section1
129
+ {page:Section1;}
130
+ /* List Definitions */
131
+ @list l0
132
+ {mso-list-id:404651341;
133
+ mso-list-type:hybrid;
134
+ mso-list-template-ids:396503786 -1346072224 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
135
+ @list l0:level1
136
+ {mso-level-start-at:0;
137
+ mso-level-number-format:bullet;
138
+ mso-level-text:\F0B7;
139
+ mso-level-tab-stop:.5in;
140
+ mso-level-number-position:left;
141
+ text-indent:-.25in;
142
+ font-family:Symbol;
143
+ mso-fareast-font-family:SimSun;
144
+ mso-bidi-font-family:"Times New Roman";}
145
+ @list l0:level2
146
+ {mso-level-tab-stop:1.0in;
147
+ mso-level-number-position:left;
148
+ text-indent:-.25in;}
149
+ @list l0:level3
150
+ {mso-level-tab-stop:1.5in;
151
+ mso-level-number-position:left;
152
+ text-indent:-.25in;}
153
+ @list l0:level4
154
+ {mso-level-tab-stop:2.0in;
155
+ mso-level-number-position:left;
156
+ text-indent:-.25in;}
157
+ @list l0:level5
158
+ {mso-level-tab-stop:2.5in;
159
+ mso-level-number-position:left;
160
+ text-indent:-.25in;}
161
+ @list l0:level6
162
+ {mso-level-tab-stop:3.0in;
163
+ mso-level-number-position:left;
164
+ text-indent:-.25in;}
165
+ @list l0:level7
166
+ {mso-level-tab-stop:3.5in;
167
+ mso-level-number-position:left;
168
+ text-indent:-.25in;}
169
+ @list l0:level8
170
+ {mso-level-tab-stop:4.0in;
171
+ mso-level-number-position:left;
172
+ text-indent:-.25in;}
173
+ @list l0:level9
174
+ {mso-level-tab-stop:4.5in;
175
+ mso-level-number-position:left;
176
+ text-indent:-.25in;}
177
+ @list l1
178
+ {mso-list-id:468981423;
179
+ mso-list-template-ids:-200004020;}
180
+ @list l1:level1
181
+ {mso-level-number-format:bullet;
182
+ mso-level-text:\F0B7;
183
+ mso-level-tab-stop:.5in;
184
+ mso-level-number-position:left;
185
+ text-indent:-.25in;
186
+ mso-ansi-font-size:10.0pt;
187
+ font-family:Symbol;}
188
+ @list l2
189
+ {mso-list-id:1094016409;
190
+ mso-list-type:hybrid;
191
+ mso-list-template-ids:-73259526 -1346072224 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
192
+ @list l2:level1
193
+ {mso-level-start-at:0;
194
+ mso-level-number-format:bullet;
195
+ mso-level-text:\F0B7;
196
+ mso-level-tab-stop:.5in;
197
+ mso-level-number-position:left;
198
+ text-indent:-.25in;
199
+ font-family:Symbol;
200
+ mso-fareast-font-family:SimSun;
201
+ mso-bidi-font-family:"Times New Roman";}
202
+ @list l2:level2
203
+ {mso-level-tab-stop:1.0in;
204
+ mso-level-number-position:left;
205
+ text-indent:-.25in;}
206
+ @list l2:level3
207
+ {mso-level-tab-stop:1.5in;
208
+ mso-level-number-position:left;
209
+ text-indent:-.25in;}
210
+ @list l2:level4
211
+ {mso-level-tab-stop:2.0in;
212
+ mso-level-number-position:left;
213
+ text-indent:-.25in;}
214
+ @list l2:level5
215
+ {mso-level-tab-stop:2.5in;
216
+ mso-level-number-position:left;
217
+ text-indent:-.25in;}
218
+ @list l2:level6
219
+ {mso-level-tab-stop:3.0in;
220
+ mso-level-number-position:left;
221
+ text-indent:-.25in;}
222
+ @list l2:level7
223
+ {mso-level-tab-stop:3.5in;
224
+ mso-level-number-position:left;
225
+ text-indent:-.25in;}
226
+ @list l2:level8
227
+ {mso-level-tab-stop:4.0in;
228
+ mso-level-number-position:left;
229
+ text-indent:-.25in;}
230
+ @list l2:level9
231
+ {mso-level-tab-stop:4.5in;
232
+ mso-level-number-position:left;
233
+ text-indent:-.25in;}
234
+ @list l3
235
+ {mso-list-id:1173497889;
236
+ mso-list-template-ids:1663588642;}
237
+ @list l3:level1
238
+ {mso-level-number-format:bullet;
239
+ mso-level-text:\F0B7;
240
+ mso-level-tab-stop:.5in;
241
+ mso-level-number-position:left;
242
+ text-indent:-.25in;
243
+ mso-ansi-font-size:10.0pt;
244
+ font-family:Symbol;}
245
+ @list l4
246
+ {mso-list-id:1196504600;
247
+ mso-list-type:hybrid;
248
+ mso-list-template-ids:-1387920668 -863591280 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
249
+ @list l4:level1
250
+ {mso-level-start-at:151;
251
+ mso-level-number-format:bullet;
252
+ mso-level-text:\F0B7;
253
+ mso-level-tab-stop:.5in;
254
+ mso-level-number-position:left;
255
+ text-indent:-.25in;
256
+ font-family:Symbol;
257
+ mso-fareast-font-family:SimSun;
258
+ mso-bidi-font-family:"Times New Roman";}
259
+ @list l4:level2
260
+ {mso-level-number-format:bullet;
261
+ mso-level-text:o;
262
+ mso-level-tab-stop:1.0in;
263
+ mso-level-number-position:left;
264
+ text-indent:-.25in;
265
+ font-family:"Courier New";}
266
+ @list l4:level3
267
+ {mso-level-tab-stop:1.5in;
268
+ mso-level-number-position:left;
269
+ text-indent:-.25in;}
270
+ @list l4:level4
271
+ {mso-level-tab-stop:2.0in;
272
+ mso-level-number-position:left;
273
+ text-indent:-.25in;}
274
+ @list l4:level5
275
+ {mso-level-tab-stop:2.5in;
276
+ mso-level-number-position:left;
277
+ text-indent:-.25in;}
278
+ @list l4:level6
279
+ {mso-level-tab-stop:3.0in;
280
+ mso-level-number-position:left;
281
+ text-indent:-.25in;}
282
+ @list l4:level7
283
+ {mso-level-tab-stop:3.5in;
284
+ mso-level-number-position:left;
285
+ text-indent:-.25in;}
286
+ @list l4:level8
287
+ {mso-level-tab-stop:4.0in;
288
+ mso-level-number-position:left;
289
+ text-indent:-.25in;}
290
+ @list l4:level9
291
+ {mso-level-tab-stop:4.5in;
292
+ mso-level-number-position:left;
293
+ text-indent:-.25in;}
294
+ @list l5
295
+ {mso-list-id:1946502917;
296
+ mso-list-template-ids:2126812000;}
297
+ @list l5:level1
298
+ {mso-level-number-format:bullet;
299
+ mso-level-text:\F0B7;
300
+ mso-level-tab-stop:.5in;
301
+ mso-level-number-position:left;
302
+ text-indent:-.25in;
303
+ mso-ansi-font-size:10.0pt;
304
+ font-family:Symbol;}
305
+ ol
306
+ {margin-bottom:0in;}
307
+ ul
308
+ {margin-bottom:0in;}
309
+ -->
310
+ </style>
311
+ <!--[if gte mso 10]>
312
+ <style>
313
+ /* Style Definitions */
314
+ table.MsoNormalTable
315
+ {mso-style-name:"Table Normal";
316
+ mso-tstyle-rowband-size:0;
317
+ mso-tstyle-colband-size:0;
318
+ mso-style-noshow:yes;
319
+ mso-style-parent:"";
320
+ mso-padding-alt:0in 5.4pt 0in 5.4pt;
321
+ mso-para-margin:0in;
322
+ mso-para-margin-bottom:.0001pt;
323
+ mso-pagination:widow-orphan;
324
+ font-size:10.0pt;
325
+ font-family:"Times New Roman";}
326
+ table.MsoTableGrid
327
+ {mso-style-name:"Table Grid";
328
+ mso-tstyle-rowband-size:0;
329
+ mso-tstyle-colband-size:0;
330
+ border:solid windowtext 1.0pt;
331
+ mso-border-alt:solid windowtext .5pt;
332
+ mso-padding-alt:0in 5.4pt 0in 5.4pt;
333
+ mso-border-insideh:.5pt solid windowtext;
334
+ mso-border-insidev:.5pt solid windowtext;
335
+ mso-para-margin:0in;
336
+ mso-para-margin-bottom:.0001pt;
337
+ mso-pagination:widow-orphan;
338
+ font-size:10.0pt;
339
+ font-family:"Times New Roman";}
340
+ </style>
341
+ <![endif]--><!--[if gte mso 9]><xml>
342
+ <o:shapedefaults v:ext="edit" spidmax="9218"/>
343
+ </xml><![endif]--><!--[if gte mso 9]><xml>
344
+ <o:shapelayout v:ext="edit">
345
+ <o:idmap v:ext="edit" data="1"/>
346
+ </o:shapelayout></xml><![endif]-->
347
+ </head>
348
+
349
+ <body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
350
+
351
+ <div class=Section1>
352
+
353
+ <h1>Fit Spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>ation,
354
+ v1.1</h1>
355
+
356
+ <p>&nbsp;</p>
357
+
358
+ <p>Fit is a tool for improving <st1:PersonName>c</st1:PersonName>ommuni<st1:PersonName>c</st1:PersonName>ation
359
+ between <st1:PersonName>c</st1:PersonName>ustomers, programmers, and
360
+ testers.&nbsp; It allows the <st1:PersonName>c</st1:PersonName>ustomer to des<st1:PersonName>c</st1:PersonName>ribe
361
+ his or her requirements in a way that <st1:PersonName>c</st1:PersonName>an be <st1:PersonName>c</st1:PersonName>he<st1:PersonName>c</st1:PersonName>ked
362
+ against the a<st1:PersonName>c</st1:PersonName>tual program.</p>
363
+
364
+ <p>&nbsp;</p>
365
+
366
+ <p>The te<st1:PersonName>c</st1:PersonName>hnique Fit uses is <st1:PersonName>c</st1:PersonName>alled
367
+ &quot;spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>ation
368
+ by example.&quot;&nbsp; It allows <st1:PersonName>c</st1:PersonName>ustomers to
369
+ <st1:PersonName>c</st1:PersonName>reate a do<st1:PersonName>c</st1:PersonName>ument
370
+ with tables that des<st1:PersonName>c</st1:PersonName>ribe spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>
371
+ examples of how the software should work.&nbsp; Fit looks at the do<st1:PersonName>c</st1:PersonName>ument
372
+ and <st1:PersonName>c</st1:PersonName>he<st1:PersonName>c</st1:PersonName>ks to
373
+ see if the software works the way the tables say it should.</p>
374
+
375
+ <p>&nbsp;</p>
376
+
377
+ <p>Fit uses small programs, <st1:PersonName>c</st1:PersonName>alled
378
+ &quot;fixtures,&quot; to <st1:PersonName>c</st1:PersonName>onne<st1:PersonName>c</st1:PersonName>t
379
+ tables to software.&nbsp; Programmers on the development team are responsible
380
+ for <st1:PersonName>c</st1:PersonName>reating those fixtures.&nbsp; Customers
381
+ are responsible for <st1:PersonName>c</st1:PersonName>reating the tables.&nbsp;
382
+ Testers work with both groups of people to help make sure that all situations
383
+ are adequately <st1:PersonName>c</st1:PersonName>overed.&nbsp; The three groups
384
+ work together, intera<st1:PersonName>c</st1:PersonName>tively, to <st1:PersonName>c</st1:PersonName>reate
385
+ great software.</p>
386
+
387
+ <p>&nbsp;</p>
388
+
389
+ <p>This do<st1:PersonName>c</st1:PersonName>ument, and the do<st1:PersonName>c</st1:PersonName>uments
390
+ it referen<st1:PersonName>c</st1:PersonName>es, des<st1:PersonName>c</st1:PersonName>ribes
391
+ Fit using spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>ation
392
+ by example.&nbsp; It is, itself, an example of how to use Fit.<span
393
+ style='mso-spacerun:yes'>� </span>If all the �pass� <st1:PersonName>c</st1:PersonName>ells
394
+ in the table below are <st1:PersonName>c</st1:PersonName>olored green, then you
395
+ <st1:PersonName>c</st1:PersonName>an be <st1:PersonName>c</st1:PersonName>onfident
396
+ that your <st1:PersonName>c</st1:PersonName>opy of Fit meets this spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>ation.</p>
397
+
398
+ <p><o:p>&nbsp;</o:p></p>
399
+
400
+ <p>Using Fit to test itself, as we do here, leads to <st1:PersonName>c</st1:PersonName>ir<st1:PersonName>c</st1:PersonName>ular
401
+ logi<st1:PersonName>c</st1:PersonName> that <st1:PersonName>c</st1:PersonName>an
402
+ be unraveled more easily by the <st1:PersonName>c</st1:PersonName>omputer than
403
+ by humans.<span style='mso-spacerun:yes'>� </span>To avoid a heada<st1:PersonName>c</st1:PersonName>he,
404
+ ignore the fa<st1:PersonName>c</st1:PersonName>t that this do<st1:PersonName>c</st1:PersonName>ument
405
+ is written in HTML or that the tables use Fit fixtures.<span
406
+ style='mso-spacerun:yes'>� </span>Instead, just think of it as a regular do<st1:PersonName>c</st1:PersonName>ument--one
407
+ that happens to be <st1:PersonName>c</st1:PersonName>olored green and red.</p>
408
+
409
+ <p><o:p>&nbsp;</o:p></p>
410
+
411
+ <p>Fun<st1:PersonName>c</st1:PersonName>tional <st1:PersonName>c</st1:PersonName>hanges
412
+ to <span class=GramE>Fit</span> that are new in this version of the spe<st1:PersonName>c</st1:PersonName>
413
+ are <span style='background:yellow;mso-highlight:yellow'>highlighted yellow</span>.<span
414
+ style='mso-spacerun:yes'>� </span>Layout, formatting, and other non-fun<st1:PersonName>c</st1:PersonName>tional
415
+ <st1:PersonName>c</st1:PersonName>hanges to the spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>ation
416
+ are not highlighted.</p>
417
+
418
+ <p><o:p>&nbsp;</o:p></p>
419
+
420
+ <h2>Details</h2>
421
+
422
+ <p>&nbsp;</p>
423
+
424
+ <p>Fit knows how to do these things:</p>
425
+
426
+ <p>&nbsp;</p>
427
+
428
+ <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
429
+ style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
430
+ mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:
431
+ .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
432
+ <tr style='mso-yfti-irow:0'>
433
+ <td valign=top style='border:solid windowtext 1.0pt;mso-border-alt:solid windowtext .5pt;
434
+ padding:0in 5.4pt 0in 5.4pt'>
435
+ <p><span class=SpellE><span style='color:silver'>fat.Referen</span></span><st1:PersonName><span
436
+ class=SpellE><span style='color:silver'>c</span></span></st1:PersonName><span
437
+ class=SpellE><span style='color:silver'>eFixture</span></span><span
438
+ style='color:silver'><o:p></o:p></span></p>
439
+ </td>
440
+ <td valign=top style='border:solid windowtext 1.0pt;border-left:none;
441
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
442
+ padding:0in 5.4pt 0in 5.4pt'>
443
+ <p><o:p>&nbsp;</o:p></p>
444
+ </td>
445
+ <td valign=top style='border:solid windowtext 1.0pt;border-left:none;
446
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
447
+ padding:0in 5.4pt 0in 5.4pt'>
448
+ <p><o:p>&nbsp;</o:p></p>
449
+ </td>
450
+ <td valign=top style='border:solid windowtext 1.0pt;border-left:none;
451
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
452
+ padding:0in 5.4pt 0in 5.4pt'>
453
+ <p><o:p>&nbsp;</o:p></p>
454
+ </td>
455
+ </tr>
456
+ <tr style='mso-yfti-irow:1'>
457
+ <td valign=top style='border:solid windowtext 1.0pt;border-top:none;
458
+ mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
459
+ padding:0in 5.4pt 0in 5.4pt'>
460
+ <p><b>Des</b><st1:PersonName><b>c</b></st1:PersonName><b>ription</b></p>
461
+ </td>
462
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
463
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
464
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
465
+ padding:0in 5.4pt 0in 5.4pt'>
466
+ <p><b>Lo</b><st1:PersonName><b>c</b></st1:PersonName><b>ation</b></p>
467
+ </td>
468
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
469
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
470
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
471
+ padding:0in 5.4pt 0in 5.4pt'>
472
+ <p><b>Result()</b></p>
473
+ </td>
474
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
475
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
476
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
477
+ padding:0in 5.4pt 0in 5.4pt'>
478
+ <p><b><i style='mso-bidi-font-style:normal'>Note<o:p></o:p></i></b></p>
479
+ </td>
480
+ </tr>
481
+ <tr style='mso-yfti-irow:2'>
482
+ <td valign=top style='border:solid windowtext 1.0pt;border-top:none;
483
+ mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
484
+ padding:0in 5.4pt 0in 5.4pt'>
485
+ <p>Parse HTML do<st1:PersonName>c</st1:PersonName>uments</p>
486
+ </td>
487
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
488
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
489
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
490
+ padding:0in 5.4pt 0in 5.4pt'>
491
+ <p><a href="parse.html">parse.html</a></p>
492
+ </td>
493
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
494
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
495
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
496
+ padding:0in 5.4pt 0in 5.4pt'>
497
+ <p>pass</p>
498
+ </td>
499
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
500
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
501
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
502
+ padding:0in 5.4pt 0in 5.4pt'>
503
+ <p><o:p>&nbsp;</o:p></p>
504
+ </td>
505
+ </tr>
506
+ <tr style='mso-yfti-irow:3'>
507
+ <td valign=top style='border:solid windowtext 1.0pt;border-top:none;
508
+ mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
509
+ padding:0in 5.4pt 0in 5.4pt'>
510
+ <p>Modify HTML do<st1:PersonName>c</st1:PersonName>uments</p>
511
+ </td>
512
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
513
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
514
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
515
+ padding:0in 5.4pt 0in 5.4pt'>
516
+ <p><a href="annotation.html">annotation.html</a></p>
517
+ </td>
518
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
519
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
520
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
521
+ padding:0in 5.4pt 0in 5.4pt'>
522
+ <p>pass</p>
523
+ </td>
524
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
525
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
526
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
527
+ padding:0in 5.4pt 0in 5.4pt'>
528
+ <p><o:p>&nbsp;</o:p></p>
529
+ </td>
530
+ </tr>
531
+ <tr style='mso-yfti-irow:4'>
532
+ <td valign=top style='border:solid windowtext 1.0pt;border-top:none;
533
+ mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
534
+ padding:0in 5.4pt 0in 5.4pt'>
535
+ <p>Interpret tables using fixtures<span style='mso-tab-count:1'>���� </span></p>
536
+ </td>
537
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
538
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
539
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
540
+ padding:0in 5.4pt 0in 5.4pt'>
541
+ <p><a href="fixtures.html">fixtures.html</a></p>
542
+ </td>
543
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
544
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
545
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
546
+ padding:0in 5.4pt 0in 5.4pt'>
547
+ <p><o:p>&nbsp;</o:p></p>
548
+ </td>
549
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
550
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
551
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
552
+ padding:0in 5.4pt 0in 5.4pt'>
553
+ <p><i style='mso-bidi-font-style:normal'>in</i><st1:PersonName><i
554
+ style='mso-bidi-font-style:normal'>c</i></st1:PersonName><i
555
+ style='mso-bidi-font-style:normal'>omplete<o:p></o:p></i></p>
556
+ </td>
557
+ </tr>
558
+ <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
559
+ <td valign=top style='border:solid windowtext 1.0pt;border-top:none;
560
+ mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
561
+ padding:0in 5.4pt 0in 5.4pt'>
562
+ <p>Provide a <st1:PersonName>c</st1:PersonName>ommand-line interfa<st1:PersonName>c</st1:PersonName>e</p>
563
+ </td>
564
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
565
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
566
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
567
+ padding:0in 5.4pt 0in 5.4pt'>
568
+ <p><st1:PersonName>c</st1:PersonName>li.html</p>
569
+ </td>
570
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
571
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
572
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
573
+ padding:0in 5.4pt 0in 5.4pt'>
574
+ <p><o:p>&nbsp;</o:p></p>
575
+ </td>
576
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
577
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
578
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
579
+ padding:0in 5.4pt 0in 5.4pt'>
580
+ <p><i style='mso-bidi-font-style:normal'>in</i><st1:PersonName><i
581
+ style='mso-bidi-font-style:normal'>c</i></st1:PersonName><i
582
+ style='mso-bidi-font-style:normal'>omplete<o:p></o:p></i></p>
583
+ </td>
584
+ </tr>
585
+ </table>
586
+
587
+ <p><o:p>&nbsp;</o:p></p>
588
+
589
+ <p>Cli<st1:PersonName>c</st1:PersonName>k the links for details about how Fit
590
+ does ea<st1:PersonName>c</st1:PersonName>h of these things.<span
591
+ style='mso-spacerun:yes'>� </span>This spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>ation
592
+ is a work in progress and the �fixtures� and �<st1:PersonName>c</st1:PersonName>ommand-line
593
+ interfa<st1:PersonName>c</st1:PersonName>e� portion are in<st1:PersonName>c</st1:PersonName>omplete.<span
594
+ style='mso-spacerun:yes'>� </span>Implementers: you may ignore these se<st1:PersonName>c</st1:PersonName>tions
595
+ for now.</p>
596
+
597
+ <div style='border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in'>
598
+
599
+ <p><o:p>&nbsp;</o:p></p>
600
+
601
+ <p>Fit is available for many programming languages.<span
602
+ style='mso-spacerun:yes'>� </span>The se<st1:PersonName>c</st1:PersonName>tions
603
+ above apply to all implementations of Fit.<span style='mso-spacerun:yes'>�
604
+ </span>Extensions spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>
605
+ to this implementation of Fit are des<st1:PersonName>c</st1:PersonName>ribed
606
+ here:</p>
607
+
608
+ <p><o:p>&nbsp;</o:p></p>
609
+
610
+ <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
611
+ style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
612
+ mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:
613
+ .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
614
+ <tr style='mso-yfti-irow:0'>
615
+ <td valign=top style='border:solid windowtext 1.0pt;mso-border-alt:solid windowtext .5pt;
616
+ padding:0in 5.4pt 0in 5.4pt'>
617
+ <p><span class=SpellE><span style='color:silver'>fat.Referen</span></span><st1:PersonName><span
618
+ class=SpellE><span style='color:silver'>c</span></span></st1:PersonName><span
619
+ class=SpellE><span style='color:silver'>eFixture</span></span><span
620
+ style='color:silver'><o:p></o:p></span></p>
621
+ </td>
622
+ <td valign=top style='border:solid windowtext 1.0pt;border-left:none;
623
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
624
+ padding:0in 5.4pt 0in 5.4pt'>
625
+ <p><o:p>&nbsp;</o:p></p>
626
+ </td>
627
+ <td valign=top style='border:solid windowtext 1.0pt;border-left:none;
628
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
629
+ padding:0in 5.4pt 0in 5.4pt'>
630
+ <p><o:p>&nbsp;</o:p></p>
631
+ </td>
632
+ </tr>
633
+ <tr style='mso-yfti-irow:1'>
634
+ <td valign=top style='border:solid windowtext 1.0pt;border-top:none;
635
+ mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
636
+ padding:0in 5.4pt 0in 5.4pt'>
637
+ <p><b>Des</b><st1:PersonName><b>c</b></st1:PersonName><b>ription</b></p>
638
+ </td>
639
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
640
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
641
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
642
+ padding:0in 5.4pt 0in 5.4pt'>
643
+ <p><b>Lo</b><st1:PersonName><b>c</b></st1:PersonName><b>ation</b></p>
644
+ </td>
645
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
646
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
647
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
648
+ padding:0in 5.4pt 0in 5.4pt'>
649
+ <p><b>Result()</b></p>
650
+ </td>
651
+ </tr>
652
+ <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes'>
653
+ <td valign=top style='border:solid windowtext 1.0pt;border-top:none;
654
+ mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
655
+ padding:0in 5.4pt 0in 5.4pt'>
656
+ <p>Implementation-spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>
657
+ extensions</p>
658
+ </td>
659
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
660
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
661
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
662
+ padding:0in 5.4pt 0in 5.4pt'>
663
+ <p><a href="extensions.html">extensions.html</a></p>
664
+ </td>
665
+ <td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;
666
+ border-right:solid windowtext 1.0pt;mso-border-top-alt:solid windowtext .5pt;
667
+ mso-border-left-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
668
+ padding:0in 5.4pt 0in 5.4pt'>
669
+ <p>pass</p>
670
+ </td>
671
+ </tr>
672
+ </table>
673
+
674
+ <p><o:p>&nbsp;</o:p></p>
675
+
676
+ <h2><a name="_Toc90928256">Errata</a></h2>
677
+
678
+ <p class=MsoNormal><o:p>&nbsp;</o:p></p>
679
+
680
+ <p class=MsoNormal>Known errors and omissions, to be fixed in a future version:</p>
681
+
682
+ <p class=MsoNormal><o:p>&nbsp;</o:p></p>
683
+
684
+ <ul style='margin-top:0in' type=disc>
685
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>The
686
+ &lt;<span class=SpellE>wiki</span>&gt; tag is not spe<st1:PersonName>c</st1:PersonName>ified.</li>
687
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Parsing-related
688
+ errors are des<st1:PersonName>c</st1:PersonName>ribed but the errors
689
+ aren�t spe<st1:PersonName>c</st1:PersonName>ified.</li>
690
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Nested
691
+ tables are not spe<st1:PersonName>c</st1:PersonName>ified</li>
692
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Argument
693
+ list (next to fixture name) is not spe<st1:PersonName>c</st1:PersonName>ified.</li>
694
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Parser
695
+ <st1:PersonName>c</st1:PersonName>an handle any XML <span class=SpellE>heirar</span><st1:PersonName><span
696
+ class=SpellE>c</span></st1:PersonName><span class=SpellE>hy</span>, but
697
+ only &lt;table&gt;, &lt;<span class=SpellE><span class=GramE>tr</span></span>&gt;,
698
+ &lt;td&gt; is spe<st1:PersonName>c</st1:PersonName>ified.</li>
699
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Files
700
+ are expe<st1:PersonName>c</st1:PersonName>ted to be CP1252, but this is
701
+ not spe<st1:PersonName>c</st1:PersonName>ified.</li>
702
+ </ul>
703
+
704
+ <h2><a name="_Toc90928257">To Do</a></h2>
705
+
706
+ <p><o:p>&nbsp;</o:p></p>
707
+
708
+ <p>To look at in a future release:</p>
709
+
710
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l4 level1 lfo3;
711
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
712
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
713
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
714
+ </span></span></span><![endif]>Why is info text <st1:PersonName>c</st1:PersonName>oming
715
+ out with a line break when this spe<st1:PersonName>c</st1:PersonName> is
716
+ run?<span style='mso-spacerun:yes'>� </span>(Be<st1:PersonName>c</st1:PersonName>ause
717
+ Word <st1:PersonName>c</st1:PersonName>reates empty <st1:PersonName>c</st1:PersonName>ells
718
+ with this markup: �&lt;p&gt;&amp;<span class=SpellE><span class=GramE>nbsp</span></span><span
719
+ class=GramE>;</span>&lt;/p&gt;�.<span style='mso-spacerun:yes'>� </span><span
720
+ class=SpellE>A</span><st1:PersonName><span class=SpellE>c</span></st1:PersonName><st1:PersonName><span
721
+ class=SpellE>c</span></st1:PersonName><span class=SpellE>omodate</span> this?)</p>
722
+
723
+ <ul style='margin-top:0in' type=disc>
724
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Possible
725
+ bug: when a variable <st1:PersonName>c</st1:PersonName>olumn has a blank <st1:PersonName>c</st1:PersonName>ell
726
+ (in a <span class=SpellE>ColumnFixture</span>), the value is filled in but
727
+ it isn�t shown in grey.</li>
728
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>More
729
+ flexibility in <st1:PersonName><span class=SpellE>c</span></st1:PersonName><span
730
+ class=SpellE>harset</span> handling.</li>
731
+ </ul>
732
+
733
+ <p class=MsoNormal><o:p>&nbsp;</o:p></p>
734
+
735
+ <p class=MsoNormal>Possible feature <st1:PersonName>c</st1:PersonName>hanges:</p>
736
+
737
+ <ul style='margin-top:0in' type=disc>
738
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Add
739
+ �blank� keyword?</li>
740
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'><span
741
+ class=GramE>make</span> <span class=SpellE>fat.Referen</span><st1:PersonName><span
742
+ class=SpellE>c</span></st1:PersonName><span class=SpellE>eFixture</span>
743
+ a standard fit fixture?</li>
744
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Provide
745
+ a way for <span class=SpellE>ColumnFixture</span> to easily annotate a <st1:PersonName>c</st1:PersonName>ell
746
+ (in<st1:PersonName>c</st1:PersonName>luding when it passes)</li>
747
+ <li class=MsoNormal style='mso-list:l4 level1 lfo3;tab-stops:list .5in'>Data
748
+ setup fixture, similar to <span class=SpellE>RowFixture</span>?</li>
749
+ </ul>
750
+
751
+ <p><o:p>&nbsp;</o:p></p>
752
+
753
+ <h2>Change History</h2>
754
+
755
+ <p><o:p>&nbsp;</o:p></p>
756
+
757
+ <p>Changes in version 1.1:</p>
758
+
759
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
760
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
761
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
762
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
763
+ </span></span></span><![endif]><b>HTML to text: Added</b> support for class
764
+ attribute in MS Word &lt;p&gt; tag parsing</p>
765
+
766
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
767
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
768
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
769
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
770
+ </span></span></span><![endif]><b>HTML to text: Clarified </b>handling of
771
+ leading and trailing line breaks</p>
772
+
773
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
774
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
775
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
776
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
777
+ </span></span></span><![endif]><b>Text to HTML: Changed </b>handling of �ba<st1:PersonName>c</st1:PersonName>kwards
778
+ line feed�</p>
779
+
780
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
781
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
782
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
783
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
784
+ </span></span></span><![endif]><b>Fixture loading: Added </b>spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>
785
+ error messages when fixtures don�t load</p>
786
+
787
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
788
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
789
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
790
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
791
+ </span></span></span><![endif]><b>Standard annotations: Changed </b>all HTML to
792
+ put quotes around <st1:PersonName>c</st1:PersonName>olor attributes</p>
793
+
794
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
795
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
796
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
797
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
798
+ </span></span></span><![endif]><b>Standard annotations: Changed </b>�error� and
799
+ �info� annotations to <st1:PersonName>c</st1:PersonName>onvert new text to
800
+ HTML.</p>
801
+
802
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
803
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
804
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
805
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
806
+ </span></span></span><![endif]><b>Standard annotations: Changed</b> �wrong� and
807
+ �error� annotations to strip mark-up from original <st1:PersonName>c</st1:PersonName>ell.</p>
808
+
809
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
810
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
811
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
812
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
813
+ </span></span></span><![endif]><b>Standard annotations: Changed </b><span
814
+ style='mso-bidi-font-weight:bold'>�error� annotation to use standard font size
815
+ for error message.</span></p>
816
+
817
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
818
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
819
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
820
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
821
+ </span></span></span><![endif]><b>Malformed HTML Parsing: Changed </b><span
822
+ style='mso-bidi-font-weight:bold'>un</span><st1:PersonName><span
823
+ style='mso-bidi-font-weight:bold'>c</span></st1:PersonName><span
824
+ style='mso-bidi-font-weight:bold'>losed table, <span class=SpellE><span
825
+ class=GramE>tr</span></span>, and td tags to generate an error.</span></p>
826
+
827
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
828
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
829
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
830
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
831
+ </span></span></span><![endif]><span class=SpellE><b>ColumnFixture</b></span><b>:
832
+ Changed </b><span style='mso-bidi-font-weight:bold'>headers to allow multiple words.<span
833
+ style='mso-spacerun:yes'>� </span>(<span class=GramE>not</span> yet spe</span><st1:PersonName><span
834
+ style='mso-bidi-font-weight:bold'>c</span></st1:PersonName><span
835
+ style='mso-bidi-font-weight:bold'>ified.)</span></p>
836
+
837
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
838
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
839
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
840
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
841
+ </span></span></span><![endif]><b style='mso-bidi-font-weight:normal'>Fixture
842
+ loading: Added</b> argument list by fixture name.<span
843
+ style='mso-spacerun:yes'>� </span>(<span class=GramE>not</span> yet spe<st1:PersonName>c</st1:PersonName>ified.)</p>
844
+
845
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo7;
846
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
847
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
848
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
849
+ </span></span></span><![endif]><b style='mso-bidi-font-weight:normal'>Parsing:
850
+ Added</b> support for nested tables.<span style='mso-spacerun:yes'>�
851
+ </span>(not yet spe<st1:PersonName>c</st1:PersonName>ified.)</p>
852
+
853
+ <p><o:p>&nbsp;</o:p></p>
854
+
855
+ <p>Changes in version 1.0:</p>
856
+
857
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo9;
858
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
859
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
860
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
861
+ </span></span></span><![endif]><b>Rewrite </b>of the spe<st1:PersonName>c</st1:PersonName>.</p>
862
+
863
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo9;
864
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
865
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
866
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
867
+ </span></span></span><![endif]><b>HTML to text: Changed </b>&amp;<span
868
+ class=SpellE>nbsp</span>; entity to <st1:PersonName>c</st1:PersonName>ombine
869
+ with other leading and trailing <span class=SpellE>whitespa</span><st1:PersonName><span
870
+ class=SpellE>c</span></st1:PersonName><span class=SpellE>e</span>.</p>
871
+
872
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo9;
873
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
874
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
875
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
876
+ </span></span></span><![endif]><b>HTML to text: Changed </b>non-breaking spa<st1:PersonName>c</st1:PersonName>e
877
+ <st1:PersonName>c</st1:PersonName>hara<st1:PersonName>c</st1:PersonName>ter to <i>not</i>
878
+ <st1:PersonName>c</st1:PersonName>ombine with other internal <span
879
+ class=SpellE>whitespa</span><st1:PersonName><span class=SpellE>c</span></st1:PersonName><span
880
+ class=SpellE>e</span>.</p>
881
+
882
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo9;
883
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
884
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
885
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
886
+ </span></span></span><![endif]><b>HTML to text: Added </b><st1:PersonName>c</st1:PersonName>onversion
887
+ of &lt;<span class=SpellE>br</span>&gt; and &lt;p&gt; tags to line-feed <st1:PersonName>c</st1:PersonName>hara<st1:PersonName>c</st1:PersonName>ters.</p>
888
+
889
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo9;
890
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
891
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
892
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
893
+ </span></span></span><![endif]><b>HTML to text: Added </b><st1:PersonName>c</st1:PersonName>onversion
894
+ of �smart quotes� to regular quotes.</p>
895
+
896
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo9;
897
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
898
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
899
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
900
+ </span></span></span><![endif]><b>Text to HTML: Added </b><st1:PersonName>c</st1:PersonName>onversion
901
+ of line-feed <st1:PersonName>c</st1:PersonName>hara<st1:PersonName>c</st1:PersonName>ters
902
+ to &lt;<span class=SpellE>br</span>&gt; tags.</p>
903
+
904
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo9;
905
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
906
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
907
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
908
+ </span></span></span><![endif]><b>Text to HTML: Added </b><st1:PersonName>c</st1:PersonName>onversion
909
+ of adjoining spa<st1:PersonName>c</st1:PersonName>es to &amp;<span
910
+ class=SpellE>nbsp</span>; entities.</p>
911
+
912
+ <p><o:p>&nbsp;</o:p></p>
913
+
914
+ <p>Initial version:</p>
915
+
916
+ <p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo9;
917
+ tab-stops:list .5in'><![if !supportLists]><span style='font-family:Symbol;
918
+ mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
919
+ style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
920
+ </span></span></span><![endif]>Experimental spe<st1:PersonName>c</st1:PersonName>ifi<st1:PersonName>c</st1:PersonName>ation
921
+ <st1:PersonName>c</st1:PersonName>reated by <st1:PersonName>Ward Cunningham</st1:PersonName>
922
+ and <st1:PersonName>Jim Shore</st1:PersonName>.</p>
923
+
924
+ <p><o:p>&nbsp;</o:p></p>
925
+
926
+ <p>&nbsp;</p>
927
+
928
+ </div>
929
+
930
+ <p style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>
931
+
932
+ <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
933
+ style='border-collapse:collapse;mso-padding-alt:0in 0in 0in 0in'>
934
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
935
+ <td valign=top style='padding:0in 5.4pt 0in 5.4pt'>
936
+ <p><span class=SpellE><span style='color:silver'>fit.Summary</span></span></p>
937
+ </td>
938
+ </tr>
939
+ </table>
940
+
941
+ <p>&nbsp;</p>
942
+
943
+ </div>
944
+
945
+ </body>
946
+
947
+ </html>