TSDgeos' blog - February 07, 2013Unit testing KColorButton (which caused Okular to crash)
Around two weeks ago, a bug about was reported in which Okular crashed when changing the color of highlighted text. After a bit of debugging i found that the bug was actually in kdelibs in the KColorButton class
This is a class I had never looked internally so it was a bit hard to decide where to start looking for a fix. Then I decided to look at the git log and realized the last commit introduced by a fix for color selection not working correctly on double click.
I took my chances and saw that reverting that patch actually removed the crash, so now I knew where to look :-)
After a few minutes looking at the code i came up with a 3-line patch that fixed the crash and still made double click work correctly. I'm so awesome \o/
But that wasn't enough, I needed to *prove* I had fixed it, so i decided to create some tests, that was a bit harder since it involved "clicking" in buttons and stuff, but QTest to the rescue and a few hours later I had this nice unit test that will warn us if that breaks again :-)
So next time you fix a bug, unit test it! And don't complain it's graphical, that's no excuse!
And of course the tests run just fine in build.kde.org even if they show buttons/dialogs :-) Blog + link to patch info/