Ehsan Akhgari is a programmer living in Toronto working for Mozilla. He has over 10 years of experience on browsers and the web platform and Firefox. Learn more about him here.
I was trying to write a unit test for my modifications to the cache service as part of the implementation of private browsing, and the experience wasn't as smooth as I would have liked. So, I decided to document my experience here.
Firstly, there doesn't seem to be any automated unit tests for the cache service. The only test which uses the cache service directly inside netwerk/test/unit is the test for bug 356133.
Try searching the 2001 index made available by google for Firefox. What we know as Firefox today is way different than what we used to know as Firefox back then…
Today I finally made a try server build which includes patches to some bugs, each of which fixing a problem that the ACID3 test is checking for. The build gives us 97/100 points on the ACID3 test, which is impressive. Here is the list of the fixes that this build includes:
Fix to Bug 174351 - Encoding Errors aren't treated as fatal XML errors Fix to Bug 178258 - HTML parser ships to implicit , breaking document.
My work on the Private Browsing patch is soon going to enter a new stage. Four of the modules that the patch is touching already have unit tests. The only part of the patch which is not correctly implemented yet according to the recent changes in the functional spec is the download manager module, which needed a back-end change to support in-memory databases. I've implemented that in another bug I filed to track it, and my patch there is waiting for review.
I'm honored again! Chris Blizzard kindly nominated me as one of this week's Friends of the Tree for my work on private browsing. It's the second time I'm nominated as a Friend of the Tree, and this time it's even more interesting than the first time! It's great to see such enthusiasm and appreciation from this wonderful community which I'm proud to be a part of.
Followup from my previous post, I prepared Windows and Linux builds for my Private Browsing patch. You can download these builds and try them out. Feedback is much appreciated!
Download Windows Build (11MB) Download Linux Build (21MB)
Also, try server builds are now available for all three platforms (Windows, Linux, and Mac OS X) here.