Changeset View
Changeset View
Standalone View
Standalone View
src/unit/parser/__tests__/XUnitTestResultParserTestCase.php
<?php | <?php | ||||
/** | /** | ||||
* Test for @{class:ArcanistXUnitTestResultParser}. | * Test for @{class:ArcanistXUnitTestResultParser}. | ||||
*/ | */ | ||||
final class XUnitTestResultParserTestCase extends PhutilTestCase { | final class XUnitTestResultParserTestCase extends PhutilTestCase { | ||||
public function testAcceptsNoTestsInput() { | public function testAcceptsNoTestsInput() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/xunit.no-tests'); | __DIR__.'/testresults/xunit.no-tests'); | ||||
$parsed_results = id(new ArcanistXUnitTestResultParser()) | $parsed_results = id(new ArcanistXUnitTestResultParser()) | ||||
->parseTestResults($stubbed_results); | ->parseTestResults($stubbed_results); | ||||
$this->assertEqual(0, count($parsed_results)); | $this->assertEqual(0, count($parsed_results)); | ||||
} | } | ||||
public function testAcceptsSimpleInput() { | public function testAcceptsSimpleInput() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/xunit.simple'); | __DIR__.'/testresults/xunit.simple'); | ||||
$parsed_results = id(new ArcanistXUnitTestResultParser()) | $parsed_results = id(new ArcanistXUnitTestResultParser()) | ||||
->parseTestResults($stubbed_results); | ->parseTestResults($stubbed_results); | ||||
$this->assertEqual(3, count($parsed_results)); | $this->assertEqual(3, count($parsed_results)); | ||||
} | } | ||||
public function testEmptyInputFailure() { | public function testEmptyInputFailure() { | ||||
try { | try { | ||||
$parsed_results = id(new ArcanistXUnitTestResultParser()) | $parsed_results = id(new ArcanistXUnitTestResultParser()) | ||||
->parseTestResults(''); | ->parseTestResults(''); | ||||
$this->assertFailure(pht('Should throw on empty input')); | $this->assertFailure(pht('Should throw on empty input')); | ||||
} catch (Exception $e) { | } catch (Exception $e) { | ||||
// OK | // OK | ||||
} | } | ||||
$this->assertTrue(true); | $this->assertTrue(true); | ||||
} | } | ||||
public function testInvalidXmlInputFailure() { | public function testInvalidXmlInputFailure() { | ||||
$stubbed_results = Filesystem::readFile( | $stubbed_results = Filesystem::readFile( | ||||
dirname(__FILE__).'/testresults/xunit.invalid-xml'); | __DIR__.'/testresults/xunit.invalid-xml'); | ||||
try { | try { | ||||
$parsed_results = id(new ArcanistXUnitTestResultParser()) | $parsed_results = id(new ArcanistXUnitTestResultParser()) | ||||
->parseTestResults($stubbed_results); | ->parseTestResults($stubbed_results); | ||||
$this->assertFailure(pht('Should throw on non-xml input')); | $this->assertFailure(pht('Should throw on non-xml input')); | ||||
} catch (Exception $e) { | } catch (Exception $e) { | ||||
// OK | // OK | ||||
} | } | ||||
$this->assertTrue(true); | $this->assertTrue(true); | ||||
} | } | ||||
} | } |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0