? Success

User tests: Successful: Unsuccessful:

avatar Hackwar
Hackwar
16 Oct 2014

Routers in Joomla should be testable in the future with unittests. Right now, they heavily depend on JFactory and some not-so-nice code constructs to work. In order to introduce dependency injection, this PR hands over the application and the menu to the component routers. This means that you can inject fake application objects and menus into the router during testing. At the same time, component routers can build lookup tables once when they are instantiated and can get their input through these 2 objects.

This is backwards compatible, since additional arguments for a method/constructor are simply ignored by PHP and since we didn't have any arguments up to this point for the constructor, this has no effect so far.

In the future, the application router should get something similar in order to make the whole process testable. For the moment, the Singletons are still used.

This was made possible through the generous donation of the people mentioned in the following link via an Indiegogo campaign: http://joomlager.de/crowdfunding/5-contributors

avatar Hackwar Hackwar - open - 16 Oct 2014
avatar jissues-bot jissues-bot - change - 16 Oct 2014
Labels Added: ?
avatar Hackwar
Hackwar - comment - 16 Oct 2014

Sorry, this of course needs to go into the 3.4-dev branch.

avatar brianteeman brianteeman - change - 16 Oct 2014
Category SEF
avatar Hackwar Hackwar - close - 16 Oct 2014
avatar Hackwar Hackwar - close - 16 Oct 2014
avatar Hackwar Hackwar - change - 16 Oct 2014
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2014-10-16 17:23:59
avatar Hackwar Hackwar - head_ref_deleted - 10 Dec 2014

Add a Comment

Login with GitHub to post a comment