fit 1.1

Sign up to get free protection for your applications and to get access to all the features.
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>