Svens Blog

Things that really matter...
...at least for me ;-)
February 2010
SunMonTueWedThuFriSat
12356
7910111213
14151617181920
21222324252627
28
< Jan   Mar >

[Recent Entries]
[Entry Index]

Administration
[Login]
Recent Entries
Topics
Andere Blogs
RSS 2.0 Feed

Valid CSS!
Valid XHTML 1.0!
Valid RSS!

No software patents!
Campaign for a Non-Browser Specific WWW
darkerradio - DIE Alternative im Netz - Tune In, Turn On, Burn Out
Some rights reserved
Aktion UBERWACH!
Play Ogg!
  GSoC Status Update August/1
3. August 2009, 11:01PM
Posted By Sven Krohlas
We now have complete test coverage for everything in Amarok.h, that is still being used, I cleaned up and removed non-used functions. And: all the tests now run successfully. Interesting were the fixes for Amarok::cleanPath(): this method tries to remove accents of all kinds from a string. Internally this was done using a lot of QString::replace(). But: catching all accented characters this way is a pita and the test failed, of course. The answer were some Unicode tricks: in some normalized storage forms the accents and the "manipulated" character are stored seperately. So after normalizing the string it is just a matter of removing all possible accents from it. QString::replace() is then only needed for special cases. The better I know Unicode the more I like it.

Apart from that CaseConverter is now also equipped with tests. DirectoryLoader caused headaches: it has only void methods, but manipulates the playlist, so there it could be verified if it worked correctly. But as it's running async in a seperate thread I failed to sync the test framework with the availibility of the results: how to wait for a signal to appear? Directly calling the test slot using a signal/slot connection will not work.

Also another small but ugly bug showed up: sometimes parts of Amarok debug output show up in the testlogs. I still have no idea at all why.

So quite soon we are going to merge the current work into Amarok git master. Making sure that the test framework doesn't affect release builds (install test files, link to testlib) is the next step, but that should hopefully be trivial. Afterwards more test classes are on the agenda and hopefully an idea how to make TestDirectoryLoader behave as it should.
[Permalink]   [Add Comment]   [Trackback]   [Google]   (289 Words)