Chris@0: requestStack = $this->getMockBuilder('Symfony\Component\HttpFoundation\RequestStack')->getMock(); Chris@0: $this->time = new Time($this->requestStack); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests the getRequestTime method. Chris@0: * Chris@0: * @covers ::getRequestTime Chris@0: */ Chris@0: public function testGetRequestTime() { Chris@0: $expected = 12345678; Chris@0: Chris@0: $request = Request::createFromGlobals(); Chris@0: $request->server->set('REQUEST_TIME', $expected); Chris@0: Chris@0: // Mocks a the request stack getting the current request. Chris@0: $this->requestStack->expects($this->any()) Chris@0: ->method('getCurrentRequest') Chris@0: ->willReturn($request); Chris@0: Chris@0: $this->assertEquals($expected, $this->time->getRequestTime()); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests the getRequestMicroTime method. Chris@0: * Chris@0: * @covers ::getRequestMicroTime Chris@0: */ Chris@0: public function testGetRequestMicroTime() { Chris@0: $expected = 1234567.89; Chris@0: Chris@0: $request = Request::createFromGlobals(); Chris@0: $request->server->set('REQUEST_TIME_FLOAT', $expected); Chris@0: Chris@0: // Mocks a the request stack getting the current request. Chris@0: $this->requestStack->expects($this->any()) Chris@0: ->method('getCurrentRequest') Chris@0: ->willReturn($request); Chris@0: Chris@0: $this->assertEquals($expected, $this->time->getRequestMicroTime()); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests the getCurrentTime method. Chris@0: * Chris@0: * @covers ::getCurrentTime Chris@0: */ Chris@0: public function testGetCurrentTime() { Chris@0: $expected = 12345678; Chris@0: $this->assertEquals($expected, $this->time->getCurrentTime()); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests the getCurrentMicroTime method. Chris@0: * Chris@0: * @covers ::getCurrentMicroTime Chris@0: */ Chris@0: public function testGetCurrentMicroTime() { Chris@0: $expected = 1234567.89; Chris@0: $this->assertEquals($expected, $this->time->getCurrentMicroTime()); Chris@0: } Chris@0: Chris@0: } Chris@0: Chris@0: namespace Drupal\Component\Datetime; Chris@0: Chris@0: /** Chris@0: * Shadow time() system call. Chris@0: * Chris@0: * @returns int Chris@0: */ Chris@0: function time() { Chris@0: return 12345678; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Shadow microtime system call. Chris@0: * Chris@0: * @returns float Chris@0: */ Chris@0: function microtime() { Chris@0: return 1234567.89; Chris@0: }