public function testPreparingOfInteractor() { $headerValue = '__HEADER__TIMING__'; $footerValue = '__FOOTER__TIMING__'; $extension = new NewRelicExtension($this->newRelic, $this->interactor, true); $this->newRelic->expects($this->once())->method('getCustomMetrics')->will($this->returnValue(array('a' => 'b', 'c' => 'd'))); $this->newRelic->expects($this->once())->method('getCustomParameters')->will($this->returnValue(array('e' => 'f', 'g' => 'h', 'i' => 'j'))); $this->interactor->expects($this->once())->method('disableAutoRum'); $this->interactor->expects($this->exactly(2))->method('addCustomMetric'); $this->interactor->expects($this->exactly(3))->method('addCustomParameter'); $this->interactor->expects($this->once())->method('getBrowserTimingHeader')->will($this->returnValue($headerValue)); $this->interactor->expects($this->once())->method('getBrowserTimingFooter')->will($this->returnValue($footerValue)); $this->assertEquals($headerValue, $extension->getNewrelicBrowserTimingHeader()); $this->assertTrue($extension->isHeaderCalled()); $this->assertFalse($extension->isFooterCalled()); $this->assertEquals($footerValue, $extension->getNewrelicBrowserTimingFooter()); $this->assertTrue($extension->isHeaderCalled()); $this->assertTrue($extension->isFooterCalled()); }