|Recently I got sick of how the HTML control is Scribe was terrible at rendering tables and even more tired of the constant complaining from the userbase about it (you know who you are!). So I rewrote the layout algorithm, which took far less time than I feared. But as with all non-trivial peices of code I didn't get it right first time. Well I made it work with one known peice of HTML that broke the old algorithm. But soon I noticed other HTML that didn't work in the new control. Ok, so I go and fix that. But now the first peice of HTML doesn't work.
Right, I said to myself, if I'm going to get anywhere I need to collect all the HTML snippits that have hairy tables in them and put them in one place so that I can easily check that the HTML control works on all of them. So I did, essentially creating a small HTML test suite. Now I'm not aiming for web standard complience, I'm aiming for readability of email. So I deliberately don't support a whole range of rather meaningless cruft that has been rammed into the HTML specification, hence I don't just use the W3C HTML test suite.
Nevertheless, now after much work on getting the control up to snuff it's starting to not break on previous test files everytime I add a new peice of HTML to the test suite and fix the control. Thus as time goes on, each time I bump into a peice of HTML that breaks the control it goes in the test suite. I fix the bug, test all the previous files and make sure I havn't inadvertantly busted something else, then commit the code to version control. Gotta love procedures.