- /**
- * @covers Xhprof::splitKey
- * @dataProvider provideSplitKey
- */
- public function testSplitKey( $key, $expect ) {
- $this->assertSame( $expect, Xhprof::splitKey( $key ) );
- }
-
- public function provideSplitKey() {
- return array(
- array( 'main()', array( null, 'main()' ) ),
- array( 'foo==>bar', array( 'foo', 'bar' ) ),
- array( 'bar@1==>bar@2', array( 'bar@1', 'bar@2' ) ),
- array( 'foo==>bar==>baz', array( 'foo', 'bar==>baz' ) ),
- array( '==>bar', array( '', 'bar' ) ),
- array( '', array( null, '' ) ),
- );
- }
-
- /**
- * @covers Xhprof::__construct
- * @covers Xhprof::stop
- * @covers Xhprof::getRawData
- * @dataProvider provideRawData
- */
- public function testRawData( $flags, $keys ) {
- $xhprof = new Xhprof( array( 'flags' => $flags ) );
- $raw = $xhprof->getRawData();
- $this->assertArrayHasKey( 'main()', $raw );
- foreach ( $keys as $key ) {
- $this->assertArrayHasKey( $key, $raw['main()'] );
- }
- }
-
- public function provideRawData() {
- $tests = array(
- array( 0, array( 'ct', 'wt' ) ),
- );
-
- if ( defined( 'XHPROF_FLAGS_CPU' ) && defined( 'XHPROF_FLAGS_CPU' ) ) {
- $tests[] = array( XHPROF_FLAGS_MEMORY, array(
- 'ct', 'wt', 'mu', 'pmu',
- ) );
- $tests[] = array( XHPROF_FLAGS_CPU, array(
- 'ct', 'wt', 'cpu',
- ) );
- $tests[] = array( XHPROF_FLAGS_MEMORY | XHPROF_FLAGS_CPU, array(
- 'ct', 'wt', 'mu', 'pmu', 'cpu',
- ) );
- }
-
- return $tests;
- }
-
- /**
- * @covers Xhprof::pruneData
- */
- public function testInclude() {
- $xhprof = $this->getXhprofFixture( array(
- 'include' => array( 'main()' ),
- ) );
- $raw = $xhprof->getRawData();
- $this->assertArrayHasKey( 'main()', $raw );
- $this->assertArrayHasKey( 'main()==>foo', $raw );
- $this->assertArrayHasKey( 'main()==>xhprof_disable', $raw );
- $this->assertSame( 3, count( $raw ) );
- }