<?php
namespace ssa\converter;
use ssa\ServiceManager;
/**
* Description of JavascriptConverterTest
*
* @author thomas
*/
class JavascriptConverterTest extends \PHPUnit_Framework_TestCase {
private $urlFactory;
private $url = 'http://test.com/action/2';
public function setUp() {
$this->urlFactory = $this->getMock(
'ssa\\converter\\UrlFactory',
array('constructUrl')
);
$this->urlFactory->expects($this->at(0))
->method('constructUrl')
->will($this->returnValue($this->url));
ServiceManager::getInstance()->registerService('testService', 'ssa\converter\ServiceTest');
ServiceManager::getInstance()->registerService(
'testServiceAction2',
'ssa\converter\ServiceTest',
array('action2')
);
}
public function testJavascriptConverterWithoutMethods() {
$converter = new JavascriptConverter(
ServiceManager::getInstance()->getService('testService'),
$this->urlFactory
);
$converter->setDebug(false);
$javascript = $converter->convert();
$this->assertTrue(
strpos($javascript, 'testService.action1 = function(param1, param2)') >= 0,
'la fonction action1 n\'est pas présente'
);
$this->assertTrue(
strpos($javascript, 'testService.action2 = function(param1)') >= 0,
'la fonction action2 n\'est pas présente'
);
$this->assertTrue(strpos($javascript, $this->url) >= 0);
}
public function testJavascriptConverterWithMethods() {
$converter = new JavascriptConverter('testServiceAction2', $this->urlFactory);
$converter->setDebug(false);
$javascript = $converter->convert();
$this->assertFalse(
strpos($javascript, 'testService.action1 = function(param1, param2)'),
'la fonction action1 ne devrait pas être présente'
);
$this->assertTrue(
strpos($javascript, 'testService.action2 = function(param1)') >= 0,
'la fonction action2 n\'est pas présente'
);
$this->assertTrue(
strpos($javascript, 'testService.action3 = function(service)') >= 0,
'la fonction action3 n\'as pas les bons paramétres'
);
$this->assertFalse(
strpos($javascript, 'testService.action3 = function(param1)'),
'la fonction action3 n\'as pas les bons paramétres'
);
$this->assertTrue(strpos($javascript, $this->url) >= 0);
}
public function testJavascriptConverterWithMethodsDebug() {
$converter = new JavascriptConverter('testServiceAction2', $this->urlFactory);
$converter->setDebug(true);
$javascript = $converter->convert();
$this->assertTrue(
strpos($javascript, 'testService.action1 = function(param1, param2)') == 0,
'la fonction action1 ne devrait pas être présente'
);
$this->assertTrue(
strpos($javascript, 'testService.action2 = function(param1)') >= 0,
'la fonction action2 n\'est pas présente'
);
$this->assertTrue(strpos($javascript, $this->url) >= 0);
}
public function testJavascriptConverterWithoutMethodsDebug() {
$converter = new JavascriptConverter('testService', $this->urlFactory);
$converter->setDebug(true);
$javascript = $converter->convert();
$this->assertTrue(
strpos($javascript, 'testService.action1 = function(param1, param2)') >= 0,
'la fonction action1 n\'est pas présente'
);
$this->assertTrue(
strpos($javascript, 'testService.action2 = function(param1)') >= 0,
'la fonction action2 n\'est pas présente'
);
$this->assertTrue(strpos($javascript, $this->url) >= 0);
}
}
|