public function setUp() { $this->app = clone \Concrete\Core\Support\Facade\Application::getFacadeApplication(); $this->app['config'] = clone $this->app['config']; $this->request = Request::create('http://url.com/'); $this->factory = new SessionFactory($this->app, $this->request); }
public function setUp() { $this->app = clone Application::getFacadeApplication(); $this->app['config'] = clone $this->app['config']; $this->request = Request::create('http://url.com/'); $this->validator = new SessionValidator($this->app, $this->app['config'], $this->request); $store = array(); $mock = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Session\\Session')->setMethods(array('has', 'get', 'set', 'invalidate', 'all'))->getMock(); $mock->expects($this->any())->method('has')->willReturnCallback(function ($key) use(&$store) { return array_get($store, $key) !== null; }); $mock->expects($this->any())->method('get')->willReturnCallback(function ($key, $default = null) use(&$store) { return array_get($store, $key, $default); }); $mock->expects($this->any())->method('set')->willReturnCallback(function ($key, $value) use(&$store) { return $store[$key] = $value; }); $mock->expects($this->any())->method('all')->willReturnCallback(function () use(&$store) { return $store; }); $this->session = $mock; }
public function testPathSlashesRedirection() { $app = Core::make("app"); $request = \Concrete\Core\Http\Request::create('http://xn--mgbh0fb.xn--kgbechtv/services'); $response = $app->handleURLSlashes($request); $this->assertNull($response); $request = \Concrete\Core\Http\Request::create('http://xn--fsqu00a.xn--0zwm56d/services/'); $response = $app->handleURLSlashes($request); $this->assertEquals('http://例子.测试/services', $response->getTargetUrl()); $request = \Concrete\Core\Http\Request::create('http://concrete5.dev/derp'); $response = $app->handleURLSlashes($request); $this->assertNull($response); $request = \Concrete\Core\Http\Request::create('http://concrete5.dev/index.php?cID=1'); $response = $app->handleURLSlashes($request); $this->assertNull($response); $request = \Concrete\Core\Http\Request::create('http://www.awesome.com/about-us/now'); $response = $app->handleURLSlashes($request); $this->assertNull($response); $request = \Concrete\Core\Http\Request::create('http://www.awesome.com/about-us/now/'); $response = $app->handleURLSlashes($request); $this->assertInstanceOf('\\Concrete\\Core\\Routing\\RedirectResponse', $response); $this->assertEquals('http://www.awesome.com/about-us/now', $response->getTargetUrl()); $request = \Concrete\Core\Http\Request::create('http://www.awesome.com/index.php/about-us/now/?bar=1&foo=2'); $response = $app->handleURLSlashes($request); $this->assertInstanceOf('\\Concrete\\Core\\Routing\\RedirectResponse', $response); $this->assertEquals('http://www.awesome.com/index.php/about-us/now?bar=1&foo=2', $response->getTargetUrl()); Config::set('concrete.seo.trailing_slash', true); $request = \Concrete\Core\Http\Request::create('http://www.awesome.com:8080/index.php/about-us/now/?bar=1&foo=2'); $response = $app->handleURLSlashes($request); $this->assertNull($response); $request = \Concrete\Core\Http\Request::create('http://www.awesome.com:8080/index.php/about-us/now?bar=1&foo=2'); $response = $app->handleURLSlashes($request); $this->assertEquals('http://www.awesome.com:8080/index.php/about-us/now/?bar=1&foo=2', $response->getTargetUrl()); Config::set('concrete.seo.trailing_slash', false); }