This week was another productive one. First, I was able to write some tests for the YahooPacket and YahooLoginHelper. For YahooPacket, the tests ensure that the encoding and decoding for the packet header and data is working as expected. For YahooLoginHelper, the tests are designed to ensure that the data for each login step are correctly interpreted and stored for communication with the login servers. Since we are testing the login process, I had to write code that simulated server responses, and hook into the callback system of YahooLoginHelper to determine whether or not the response was handled correctly.
Another major stride I made this week was with the buddy list. I was able to decode the buddy list packet sent from the Yahoo! pager server on login, and turn it into a visible buddy list in Instantbird. Right before this work week ended, I had started work on buddy statuses. There is still a lot of work to be done in this area, and I plan on picking up on it again next week.