QurlTest.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. App::uses('Qurl', 'Tools.Model');
  3. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  4. App::uses('Router', 'Routing');
  5. class QurlTest extends MyCakeTestCase {
  6. public $Qurl = null;
  7. public $fixtures = ['plugin.tools.qurl'];
  8. public function setUp() {
  9. parent::setUp();
  10. $this->Qurl = ClassRegistry::init('Tools.Qurl');
  11. }
  12. public function testQurlInstance() {
  13. $this->assertInstanceOf('Qurl', $this->Qurl);
  14. }
  15. public function testGenerate() {
  16. $url = Router::url(['admin' => false, 'plugin' => 'tools', 'controller' => 'qurls', 'action' => 'go'], true);
  17. $res = $this->Qurl->url(['controller' => 'test', 'action' => 'foo', 'bar'], ['note' => 'x']);
  18. $this->assertTrue(is_string($res) && !empty($res));
  19. $this->assertTrue(strpos($res, $url) === 0);
  20. $res = $this->Qurl->url('/test/foo/bar');
  21. $this->assertTrue(is_string($res) && !empty($res));
  22. }
  23. public function testUse() {
  24. $key = $this->Qurl->generate(['controller' => 'test', 'action' => 'foo', 'bar'], ['note' => 'x']);
  25. $res = $this->Qurl->translate($key);
  26. $this->assertTrue(is_array($res) && !empty($res));
  27. $this->assertSame('x', $res['Qurl']['note']);
  28. $this->assertTrue(is_array($res['Qurl']['content']));
  29. $key = $this->Qurl->generate('/test/foo/bar');
  30. $res = $this->Qurl->translate($key);
  31. $this->assertTrue(is_array($res) && !empty($res));
  32. $res = $this->Qurl->translate('foobar');
  33. $this->assertFalse($res);
  34. }
  35. //TODO
  36. }