2011-10-19 18:26:21 -07:00
|
|
|
<?php
|
|
|
|
|
2014-07-06 01:50:53 +10:00
|
|
|
final class PhabricatorInfrastructureTestCase extends PhabricatorTestCase {
|
2011-10-19 18:26:21 -07:00
|
|
|
|
2014-02-23 16:20:38 -08:00
|
|
|
protected function getPhabricatorTestCaseConfiguration() {
|
|
|
|
return array(
|
|
|
|
self::PHABRICATOR_TESTCONFIG_BUILD_STORAGE_FIXTURES => true,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2013-05-16 12:25:26 -07:00
|
|
|
public function testApplicationsInstalled() {
|
|
|
|
$all = PhabricatorApplication::getAllApplications();
|
|
|
|
$installed = PhabricatorApplication::getAllInstalledApplications();
|
|
|
|
|
|
|
|
$this->assertEqual(
|
|
|
|
count($all),
|
|
|
|
count($installed),
|
2015-05-22 17:27:56 +10:00
|
|
|
pht('In test cases, all applications should default to installed.'));
|
2013-05-16 12:25:26 -07:00
|
|
|
}
|
|
|
|
|
2014-10-02 11:47:25 -07:00
|
|
|
public function testRejectMySQLNonUTF8Queries() {
|
2014-02-23 16:20:46 -08:00
|
|
|
$table = new HarbormasterScratchTable();
|
|
|
|
$conn_r = $table->establishConnection('w');
|
|
|
|
|
|
|
|
$snowman = "\xE2\x98\x83";
|
2014-10-02 11:47:25 -07:00
|
|
|
$invalid = "\xE6\x9D";
|
2014-02-23 16:20:46 -08:00
|
|
|
|
|
|
|
qsprintf($conn_r, 'SELECT %B', $snowman);
|
|
|
|
qsprintf($conn_r, 'SELECT %s', $snowman);
|
2014-10-02 11:47:25 -07:00
|
|
|
qsprintf($conn_r, 'SELECT %B', $invalid);
|
2014-02-23 16:20:46 -08:00
|
|
|
|
|
|
|
$caught = null;
|
|
|
|
try {
|
2014-10-02 11:47:25 -07:00
|
|
|
qsprintf($conn_r, 'SELECT %s', $invalid);
|
2014-08-06 07:51:21 +10:00
|
|
|
} catch (AphrontCharacterSetQueryException $ex) {
|
2014-02-23 16:20:46 -08:00
|
|
|
$caught = $ex;
|
|
|
|
}
|
|
|
|
|
2014-08-06 07:51:21 +10:00
|
|
|
$this->assertTrue($caught instanceof AphrontCharacterSetQueryException);
|
2014-02-23 16:20:46 -08:00
|
|
|
}
|
|
|
|
|
2011-10-19 18:26:21 -07:00
|
|
|
}
|