checkBackend( true ); } /** * Sets up the fixture, for example, opens a network connection. * This method is called before a test is executed. */ protected function setUp() { parent::setUp(); if ( !self::$hasRestbase ) { $this->markTestSkipped( "Can not connect to Restbase Math interface." ); } } public function testConfig() { $rbi = new MathRestbaseInterface(); $this->assertTrue( $rbi->checkBackend() ); } public function testSuccess() { $input = '\\sin x^2'; $rbi = new MathRestbaseInterface( $input ); $this->assertTrue( $rbi->checkTeX(), "Assuming that $input is valid input." ); $this->assertTrue( $rbi->getSuccess(), "Assuming that $input is valid input." ); $this->assertEquals( '\\sin x^{2}', $rbi->getCheckedTex() ); $this->assertContains( 'sin', $rbi->getMathML() ); $url = $rbi->getFullSvgUrl(); $req = MWHttpRequest::factory( $url ); $status = $req->execute(); $this->assertTrue( $status->isOK() ); $this->assertContains( '', $req->getContent() ); } public function testFail() { $input = '\\sin\\newcommand'; $rbi = new MathRestbaseInterface( $input ); $this->assertFalse( $rbi->checkTeX(), "Assuming that $input is invalid input." ); $this->assertFalse( $rbi->getSuccess(), "Assuming that $input is invalid input." ); $this->assertEquals( '', $rbi->getCheckedTex() ); $this->assertEquals( 'Illegal TeX function', $rbi->getError()->error->message ); } /** * @expectedException MWException * @expectedExceptionMessage TeX input is invalid. */ public function testException() { $input = '\\newcommand'; $rbi = new MathRestbaseInterface( $input ); $rbi->getMathML(); } /** * @expectedException MWException * @expectedExceptionMessage TeX input is invalid. */ public function testExceptionSvg() { $input = '\\newcommand'; $rbi = new MathRestbaseInterface( $input ); $rbi->getFullSvgUrl(); } }