Fixed PLATYPUS-21 in Jira, which was due to an incorrect recreation of a command when the parameter was enclosed in braces, such as [ff:{Courier New}]
Previously, the braces were not being counted correctly, resulting in the parser skipping over an incorrect number of input chars when it was told the command had been processed.
Changes made to CommandParameterParser. Tests results OK’d by visual inspection. Need to write unit tests, and then move issue to ‘closed’ in JIRA.
Found bug resulting from no longer used code in addText() in PdfOutfile that was resetting the paragraph leading incorrectly. Removed the code, thereby closing PLATYPUS-24 in JIRA on Kenai.com.
The completed port of the leading command with full tests also close PLATYPUS-6.
(In the process of writing tests for this work, raised overall unit test coverage to 59%—the highest it’s been in a while. 60% is the goal for the release.)
Ported and improved the [leading: command, which specifies the space between successive lines of text. Most of the improvements relate to how changes in font size result in changes in leading. Now,
small increases in font size ( less than or = 3 points) don’t result in any changes in leading.
Wrote numerous tests. Have a few more to write. See PLATYPUS-6 in JIRA
A bug in a probably rare set of events has been identified (PLATYPUS-24) relating to the interaction between changes in font size and changes in leading.
Ported and implemented all four margin commands from v. 0.1.6.x. Verified output visually.
Then wrote extensive unit tests for each class (87% line coverage).
Need to verify that PdfOutfile handles the margin setting correctly, but early evidence indicates so.
Therefore, closing [PLATYPUS-19] in JIRA on Kenai.com
Wrote many unit tests. Raised code coverage from 53% to 56%. More to do.
Primary area of concentration: PdfOutfile.
In the process, as expected, performed various refactorings and clean-ups.
In Platypus, some commands are short-hand for other longer commands. For example, [fsize:16pt] is short-hand for [font|size:16pt]. While working on listing files earlier this week, I noticed that only the final (long) version of the command was showing up in the listings, even though the original file contained the short-hand version.
This was corrected by adding an option in CommandR processing in which a new record is created that shows the original command that was later replaced by the longer version. Whether CommandR does this is controlled by a config-file entry. The only output plugin that I can see using this option is the listing file.
Implemented and tested visually and it works.
Need to write unit tests.
[This work completes PLATYPUS-20] in JIRA on http://kenai.com/projects/platypus
Working on the samples for the website and finding several cosmetic improvements for the listings. This is in anticipation of posting better examples on the website in time for the release of v. 0.2.0.
To do: compound commands should retain the original command syntax, not the expanded syntax.
Added functional tests for situations in which an input file consists only of commands and when the input file is empty.
These tests revealed that the error message did not accurately reflect what had occurred. So, error message was improved.
Users can now use [dump:commandLine] and [dump:paragraph] to dump debugging info to the console re the command line or the current paragraph.
Both these options are new with this release.
Dump allows user to dump to the console various data items in the document, giving their name, value, and the last line number at which they were changed.
Implemented so far [dump:page], which dumps page size and margins.
Ported the following commands from v. 0.1.6.x: [pagesize, [pageheight, [pagewidth.
Wrote the accompanying unit tests
Corrected a problem with when column size was computed that interfered with these commands.
Decided to postpone the implementation of the -PAGESIZE command-line option, in view of the low likelihood that anyone is using it. Opened a feature request in JIRA (on kenai.com) for this capability and assigned in a minor priority.
This is comparatively easy because the listing file is HTML. This makes it simple to probe it for specific contents and characteristics.
Down the road is doing the same thing for PDF files.
It’s now generic/flexible enough that I can start writing a bunch of functional tests. The first tests already revealed a bug, which is validating!
In anticipation of the upcoming release of v. 0.2.0, started writing a simple functional test framework in Groovy.
The results from the tests are written to a report—using Platypus ;-) This is kind of like getting a compiler for a new language to be self-hosting.
The test framework and one short script are now checked into the Subversion repository. The report will be somewhat improved, but the focus will be primarily on writing the functional tests.