mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2024-12-23 09:02:41 +00:00
41bcffd6fb
This required different workarouynd for the native and PDO interfaces
45 lines
1.5 KiB
PHP
45 lines
1.5 KiB
PHP
<?php
|
|
/** @license MIT
|
|
* Copyright 2017 J. King, Dustin Wilson et al.
|
|
* See LICENSE and AUTHORS files for details */
|
|
|
|
declare(strict_types=1);
|
|
namespace JKingWeb\Arsse\TestCase\Db\PostgreSQL;
|
|
|
|
/**
|
|
* @group slow
|
|
* @covers \JKingWeb\Arsse\Db\PostgreSQL\Result<extended>
|
|
*/
|
|
class TestResult extends \JKingWeb\Arsse\TestCase\Db\BaseResult {
|
|
use \JKingWeb\Arsse\Test\DatabaseDrivers\PostgreSQL;
|
|
|
|
protected static $createMeta = "CREATE TABLE arsse_meta(key text primary key not null, value text)";
|
|
protected static $createTest = "CREATE TABLE arsse_test(id bigserial primary key)";
|
|
protected static $selectBlob = "SELECT '\\xDEADBEEF'::bytea as blob";
|
|
|
|
protected function makeResult(string $q): array {
|
|
$set = pg_query(static::$interface, $q);
|
|
return [static::$interface, $set];
|
|
}
|
|
|
|
public static function tearDownAfterClass(): void {
|
|
if (static::$interface) {
|
|
static::dbRaze(static::$interface);
|
|
@pg_close(static::$interface);
|
|
static::$interface = null;
|
|
}
|
|
parent::tearDownAfterClass();
|
|
}
|
|
|
|
public function testGetBlobRow(): void {
|
|
$exp = ['blob' => hex2bin("DEADBEEF")];
|
|
$test = new $this->resultClass(...$this->makeResult(self::$selectBlob));
|
|
$this->assertEquals($exp, $test->getRow());
|
|
}
|
|
|
|
public function testGetBlobValue(): void {
|
|
$exp = hex2bin("DEADBEEF");
|
|
$test = new $this->resultClass(...$this->makeResult(self::$selectBlob));
|
|
$this->assertEquals($exp, $test->getValue());
|
|
}
|
|
}
|