GSoC Status Update August/1

Sven Krohlas sven at asbest-online.de
Mon Aug 3 23:04:38 CEST 2009


Heya,

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.
-- 
Darkerradio Free Music Charts:
http://www.darkerradio.com/news/free-music-charts-juli-2009/
Klarmachen zum Ändern! -> http://www.piratenpartei.de/


More information about the Amarok-devel mailing list