Browse Source

Style fixes

microsub
J. King 5 years ago
parent
commit
cf896121b2
  1. 1
      .php_cs.dist
  2. 2
      RoboFile.php
  3. 19
      lib/Database.php
  4. 2
      lib/Db/ResultAggregate.php
  5. 2
      lib/Db/SQLite3/Driver.php
  6. 2
      lib/Lang.php
  7. 4
      lib/REST.php
  8. 2
      lib/REST/TinyTinyRSS/API.php
  9. 1
      lib/User.php
  10. 3
      tests/cases/CLI/TestCLI.php
  11. 6
      tests/cases/Database/Base.php
  12. 2
      tests/cases/Database/SeriesArticle.php
  13. 1
      tests/cases/Database/SeriesSubscription.php
  14. 6
      tests/cases/Db/BaseDriver.php
  15. 2
      tests/cases/Db/BaseStatement.php
  16. 2
      tests/cases/Db/PostgreSQL/TestCreation.php
  17. 6
      tests/cases/Db/PostgreSQL/TestDatabase.php
  18. 3
      tests/cases/Db/PostgreSQL/TestStatement.php
  19. 2
      tests/cases/Db/SQLite3/TestDatabase.php
  20. 4
      tests/cases/Db/SQLite3/TestResult.php
  21. 2
      tests/cases/Db/SQLite3PDO/TestDatabase.php
  22. 4
      tests/cases/Db/TestResultPDO.php
  23. 10
      tests/cases/REST/TestREST.php
  24. 8
      tests/cases/REST/TinyTinyRSS/TestAPI.php
  25. 5
      tests/cases/User/TestInternal.php
  26. 3
      tests/cases/User/TestUser.php
  27. 8
      tests/lib/DatabaseInformation.php

1
.php_cs.dist

@ -17,6 +17,7 @@ $paths = [
$rules = [ $rules = [
'@PSR2' => true, '@PSR2' => true,
'braces' => ['position_after_functions_and_oop_constructs' => "same"], 'braces' => ['position_after_functions_and_oop_constructs' => "same"],
'function_declaration' => ['closure_function_spacing' => "none"],
]; ];
$finder = \PhpCsFixer\Finder::create(); $finder = \PhpCsFixer\Finder::create();

2
RoboFile.php

@ -61,7 +61,7 @@ class RoboFile extends \Robo\Tasks {
* coverage may be skipped, while working alternatives are normally * coverage may be skipped, while working alternatives are normally
* suppressed for reasons of time. This coverage report will try to * suppressed for reasons of time. This coverage report will try to
* run all tests which may cover code. * run all tests which may cover code.
* *
* See also help for the "coverage" task for more details. * See also help for the "coverage" task for more details.
*/ */
public function coverageFull(array $args): Result { public function coverageFull(array $args): Result {

19
lib/Database.php

@ -808,20 +808,20 @@ class Database {
$greatest = $this->db->sqlToken("greatest"); $greatest = $this->db->sqlToken("greatest");
// prepare the output column list // prepare the output column list
$colDefs = [ $colDefs = [
'id' => "arsse_articles.id", 'id' => "arsse_articles.id",
'edition' => "latest_editions.edition", 'edition' => "latest_editions.edition",
'url' => "arsse_articles.url", 'url' => "arsse_articles.url",
'title' => "arsse_articles.title", 'title' => "arsse_articles.title",
'author' => "arsse_articles.author", 'author' => "arsse_articles.author",
'content' => "arsse_articles.content", 'content' => "arsse_articles.content",
'guid' => "arsse_articles.guid", 'guid' => "arsse_articles.guid",
'fingerprint' => "arsse_articles.url_title_hash || ':' || arsse_articles.url_content_hash || ':' || arsse_articles.title_content_hash", 'fingerprint' => "arsse_articles.url_title_hash || ':' || arsse_articles.url_content_hash || ':' || arsse_articles.title_content_hash",
'subscription' => "arsse_subscriptions.id", 'subscription' => "arsse_subscriptions.id",
'feed' => "arsse_subscriptions.feed", 'feed' => "arsse_subscriptions.feed",
'starred' => "coalesce(arsse_marks.starred,0)", 'starred' => "coalesce(arsse_marks.starred,0)",
'unread' => "abs(coalesce(arsse_marks.read,0) - 1)", 'unread' => "abs(coalesce(arsse_marks.read,0) - 1)",
'note' => "coalesce(arsse_marks.note,'')", 'note' => "coalesce(arsse_marks.note,'')",
'published_date' => "arsse_articles.published", 'published_date' => "arsse_articles.published",
'edited_date' => "arsse_articles.edited", 'edited_date' => "arsse_articles.edited",
'modified_date' => "arsse_articles.modified", 'modified_date' => "arsse_articles.modified",
'marked_date' => "$greatest(arsse_articles.modified, coalesce(arsse_marks.modified, '0001-01-01 00:00:00'), coalesce(arsse_label_members.modified, '0001-01-01 00:00:00'))", 'marked_date' => "$greatest(arsse_articles.modified, coalesce(arsse_marks.modified, '0001-01-01 00:00:00'), coalesce(arsse_label_members.modified, '0001-01-01 00:00:00'))",
@ -855,7 +855,8 @@ class Database {
left join arsse_enclosures on arsse_enclosures.article = arsse_articles.id left join arsse_enclosures on arsse_enclosures.article = arsse_articles.id
left join arsse_label_members on arsse_label_members.subscription = arsse_subscriptions.id and arsse_label_members.article = arsse_articles.id and arsse_label_members.assigned = 1 left join arsse_label_members on arsse_label_members.subscription = arsse_subscriptions.id and arsse_label_members.article = arsse_articles.id and arsse_label_members.assigned = 1
left join arsse_labels on arsse_labels.owner = arsse_subscriptions.owner and arsse_label_members.label = arsse_labels.id", left join arsse_labels on arsse_labels.owner = arsse_subscriptions.owner and arsse_label_members.label = arsse_labels.id",
["str"], [$user] ["str"],
[$user]
); );
$q->setCTE("latest_editions(article,edition)", "SELECT article,max(id) from arsse_editions group by article", [], [], "join latest_editions on arsse_articles.id = latest_editions.article"); $q->setCTE("latest_editions(article,edition)", "SELECT article,max(id) from arsse_editions group by article", [], [], "join latest_editions on arsse_articles.id = latest_editions.article");
if ($cols) { if ($cols) {

2
lib/Db/ResultAggregate.php

@ -16,7 +16,7 @@ class ResultAggregate extends AbstractResult {
// actual public methods // actual public methods
public function changes(): int { public function changes(): int {
return array_reduce($this->data, function ($sum, $value) { return array_reduce($this->data, function($sum, $value) {
return $sum + $value->changes(); return $sum + $value->changes();
}, 0); }, 0);
} }

2
lib/Db/SQLite3/Driver.php

@ -104,7 +104,7 @@ class Driver extends \JKingWeb\Arsse\Db\AbstractDriver {
} }
public function sqlToken(string $token): string { public function sqlToken(string $token): string {
switch(strtolower($token)) { switch (strtolower($token)) {
case "greatest": case "greatest":
return "max"; return "max";
default: default:

2
lib/Lang.php

@ -140,7 +140,7 @@ class Lang {
protected function listFiles(): array { protected function listFiles(): array {
$out = $this->globFiles($this->path."*.php"); $out = $this->globFiles($this->path."*.php");
// trim the returned file paths to return just the language tag // trim the returned file paths to return just the language tag
$out = array_map(function ($file) { $out = array_map(function($file) {
$file = str_replace(DIRECTORY_SEPARATOR, "/", $file); // we replace the directory separator because we don't use native paths in testing $file = str_replace(DIRECTORY_SEPARATOR, "/", $file); // we replace the directory separator because we don't use native paths in testing
$file = substr($file, strrpos($file, "/")+1); $file = substr($file, strrpos($file, "/")+1);
return strtolower(substr($file, 0, strrpos($file, "."))); return strtolower(substr($file, 0, strrpos($file, ".")));

4
lib/REST.php

@ -97,7 +97,7 @@ class REST {
public function apiMatch(string $url): array { public function apiMatch(string $url): array {
$map = $this->apis; $map = $this->apis;
// sort the API list so the longest URL prefixes come first // sort the API list so the longest URL prefixes come first
uasort($map, function ($a, $b) { uasort($map, function($a, $b) {
return (strlen($a['match']) <=> strlen($b['match'])) * -1; return (strlen($a['match']) <=> strlen($b['match'])) * -1;
}); });
// normalize the target URL // normalize the target URL
@ -270,7 +270,7 @@ class REST {
} else { } else {
// if the host is a domain name or IP address, split it along dots and just perform URL decoding // if the host is a domain name or IP address, split it along dots and just perform URL decoding
$host = explode(".", $host); $host = explode(".", $host);
$host = array_map(function ($segment) { $host = array_map(function($segment) {
return str_replace(".", "%2E", rawurlencode(strtolower(rawurldecode($segment)))); return str_replace(".", "%2E", rawurlencode(strtolower(rawurldecode($segment))));
}, $host); }, $host);
$host = implode(".", $host); $host = implode(".", $host);

2
lib/REST/TinyTinyRSS/API.php

@ -330,7 +330,7 @@ class API extends \JKingWeb\Arsse\REST\AbstractHandler {
'id' => "FEED:".self::FEED_ALL, 'id' => "FEED:".self::FEED_ALL,
'bare_id' => self::FEED_ALL, 'bare_id' => self::FEED_ALL,
'icon' => "images/folder.png", 'icon' => "images/folder.png",
'unread' => array_reduce($subs, function ($sum, $value) { 'unread' => array_reduce($subs, function($sum, $value) {
return $sum + $value['unread']; return $sum + $value['unread'];
}, 0), // the sum of all feeds' unread is the total unread }, 0), // the sum of all feeds' unread is the total unread
], $tSpecial), ], $tSpecial),

1
lib/User.php

@ -9,7 +9,6 @@ namespace JKingWeb\Arsse;
use PasswordGenerator\Generator as PassGen; use PasswordGenerator\Generator as PassGen;
class User { class User {
public $id = null; public $id = null;
/** /**

3
tests/cases/CLI/TestCLI.php

@ -16,7 +16,6 @@ use Phake;
/** @covers \JKingWeb\Arsse\CLI */ /** @covers \JKingWeb\Arsse\CLI */
class TestCLI extends \JKingWeb\Arsse\Test\AbstractTest { class TestCLI extends \JKingWeb\Arsse\Test\AbstractTest {
public function setUp() { public function setUp() {
self::clearData(false); self::clearData(false);
} }
@ -25,7 +24,7 @@ class TestCLI extends \JKingWeb\Arsse\Test\AbstractTest {
$argv = \Clue\Arguments\split($command); $argv = \Clue\Arguments\split($command);
$output = strlen($output) ? $output.\PHP_EOL : ""; $output = strlen($output) ? $output.\PHP_EOL : "";
if ($pattern) { if ($pattern) {
$this->expectOutputRegex($output); $this->expectOutputRegex($output);
} else { } else {
$this->expectOutputString($output); $this->expectOutputString($output);
} }

6
tests/cases/Database/Base.php

@ -15,7 +15,7 @@ use JKingWeb\Arsse\Db\Result;
use JKingWeb\Arsse\Test\DatabaseInformation; use JKingWeb\Arsse\Test\DatabaseInformation;
use Phake; use Phake;
abstract class Base extends \JKingWeb\Arsse\Test\AbstractTest{ abstract class Base extends \JKingWeb\Arsse\Test\AbstractTest {
use SeriesMiscellany; use SeriesMiscellany;
use SeriesMeta; use SeriesMeta;
use SeriesUser; use SeriesUser;
@ -34,7 +34,7 @@ abstract class Base extends \JKingWeb\Arsse\Test\AbstractTest{
protected static $failureReason = ""; protected static $failureReason = "";
protected $primed = false; protected $primed = false;
protected abstract function nextID(string $table): int; abstract protected function nextID(string $table): int;
protected function findTraitOfTest(string $test): string { protected function findTraitOfTest(string $test): string {
$class = new \ReflectionClass(self::class); $class = new \ReflectionClass(self::class);
@ -50,7 +50,7 @@ abstract class Base extends \JKingWeb\Arsse\Test\AbstractTest{
// establish a clean baseline // establish a clean baseline
static::clearData(); static::clearData();
// perform an initial connection to the database to reset its version to zero // perform an initial connection to the database to reset its version to zero
// in the case of SQLite this will always be the case (we use a memory database), // in the case of SQLite this will always be the case (we use a memory database),
// but other engines should clean up from potentially interrupted prior tests // but other engines should clean up from potentially interrupted prior tests
static::$dbInfo = new DatabaseInformation(static::$implementation); static::$dbInfo = new DatabaseInformation(static::$implementation);
static::setConf(); static::setConf();

2
tests/cases/Database/SeriesArticle.php

@ -411,7 +411,7 @@ trait SeriesArticle {
305 => 105, 305 => 105,
1001 => 20, 1001 => 20,
]; ];
$this->assertEquals($exp, Arsse::$db->editionArticle(...range(1,1001))); $this->assertEquals($exp, Arsse::$db->editionArticle(...range(1, 1001)));
} }
public function testListArticlesCheckingContext() { public function testListArticlesCheckingContext() {

1
tests/cases/Database/SeriesSubscription.php

@ -12,7 +12,6 @@ use JKingWeb\Arsse\Feed\Exception as FeedException;
use Phake; use Phake;
trait SeriesSubscription { trait SeriesSubscription {
public function setUpSeriesSubscription() { public function setUpSeriesSubscription() {
$this->data = [ $this->data = [
'arsse_users' => [ 'arsse_users' => [

6
tests/cases/Db/BaseDriver.php

@ -76,7 +76,7 @@ abstract class BaseDriver extends \JKingWeb\Arsse\Test\AbstractTest {
return static::$interface->query($q)->fetchColumn(); return static::$interface->query($q)->fetchColumn();
} }
# TESTS # TESTS
public function testFetchDriverName() { public function testFetchDriverName() {
$class = get_class($this->drv); $class = get_class($this->drv);
@ -115,7 +115,7 @@ abstract class BaseDriver extends \JKingWeb\Arsse\Test\AbstractTest {
$this->exec($this->create); $this->exec($this->create);
$this->exec($this->lock); $this->exec($this->lock);
$this->assertException("general", "Db", "ExceptionTimeout"); $this->assertException("general", "Db", "ExceptionTimeout");
$lock = is_array($this->lock) ? implode("; ",$this->lock) : $this->lock; $lock = is_array($this->lock) ? implode("; ", $this->lock) : $this->lock;
$this->drv->exec($lock); $this->drv->exec($lock);
} }
@ -144,7 +144,7 @@ abstract class BaseDriver extends \JKingWeb\Arsse\Test\AbstractTest {
$this->exec($this->create); $this->exec($this->create);
$this->exec($this->lock); $this->exec($this->lock);
$this->assertException("general", "Db", "ExceptionTimeout"); $this->assertException("general", "Db", "ExceptionTimeout");
$lock = is_array($this->lock) ? implode("; ",$this->lock) : $this->lock; $lock = is_array($this->lock) ? implode("; ", $this->lock) : $this->lock;
$this->drv->exec($lock); $this->drv->exec($lock);
} }

2
tests/cases/Db/BaseStatement.php

@ -275,7 +275,6 @@ abstract class BaseStatement extends \JKingWeb\Arsse\Test\AbstractTest {
]; ];
foreach ($tests as $index => list($value, $type, $exp)) { foreach ($tests as $index => list($value, $type, $exp)) {
$t = preg_replace("<^strict >", "", $type); $t = preg_replace("<^strict >", "", $type);
if (gettype($exp) != "string") var_export($index);
$exp = ($exp=="null") ? $exp : $this->decorateTypeSyntax($exp, $t); $exp = ($exp=="null") ? $exp : $this->decorateTypeSyntax($exp, $t);
yield $index => [$value, $type, $exp]; yield $index => [$value, $type, $exp];
} }
@ -327,7 +326,6 @@ abstract class BaseStatement extends \JKingWeb\Arsse\Test\AbstractTest {
]; ];
foreach ($tests as $index => list($value, $type, $exp)) { foreach ($tests as $index => list($value, $type, $exp)) {
$t = preg_replace("<^strict >", "", $type); $t = preg_replace("<^strict >", "", $type);
if (gettype($exp) != "string") var_export($index);
$exp = ($exp=="null") ? $exp : $this->decorateTypeSyntax($exp, $t); $exp = ($exp=="null") ? $exp : $this->decorateTypeSyntax($exp, $t);
yield $index => [$value, $type, $exp]; yield $index => [$value, $type, $exp];
} }

2
tests/cases/Db/PostgreSQL/TestCreation.php

@ -21,7 +21,7 @@ class TestCreation extends \JKingWeb\Arsse\Test\AbstractTest {
if ($act==$postfix) { if ($act==$postfix) {
$this->assertSame($exp, ""); $this->assertSame($exp, "");
} else { } else {
$test = substr($act, 0, strlen($act) - (strlen($postfix) + 1) ); $test = substr($act, 0, strlen($act) - (strlen($postfix) + 1));
$check = substr($act, strlen($test) + 1); $check = substr($act, strlen($test) + 1);
$this->assertSame($postfix, $check); $this->assertSame($postfix, $check);
$this->assertSame($exp, $test); $this->assertSame($exp, $test);

6
tests/cases/Db/PostgreSQL/TestDatabase.php

@ -6,7 +6,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace JKingWeb\Arsse\TestCase\Db\PosgreSQL; namespace JKingWeb\Arsse\TestCase\Db\PosgreSQL;
/** /**
* @group excludeFromCoverage * @group excludeFromCoverage
* @covers \JKingWeb\Arsse\Database<extended> * @covers \JKingWeb\Arsse\Database<extended>
* @covers \JKingWeb\Arsse\Misc\Query<extended> * @covers \JKingWeb\Arsse\Misc\Query<extended>
@ -20,7 +20,7 @@ class TestDatabase extends \JKingWeb\Arsse\TestCase\Database\Base {
public function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$seqList = $seqList =
"select "select
replace(substring(column_default, 10), right(column_default, 12), '') as seq, replace(substring(column_default, 10), right(column_default, 12), '') as seq,
table_name as table, table_name as table,
@ -30,7 +30,7 @@ class TestDatabase extends \JKingWeb\Arsse\TestCase\Database\Base {
and table_name like 'arsse_%' and table_name like 'arsse_%'
and column_default like 'nextval(%' and column_default like 'nextval(%'
"; ";
foreach(static::$drv->query($seqList) as $r) { foreach (static::$drv->query($seqList) as $r) {
$num = (int) static::$drv->query("SELECT max({$r['col']}) from {$r['table']}")->getValue(); $num = (int) static::$drv->query("SELECT max({$r['col']}) from {$r['table']}")->getValue();
if (!$num) { if (!$num) {
continue; continue;

3
tests/cases/Db/PostgreSQL/TestStatement.php

@ -23,9 +23,8 @@ class TestStatement extends \JKingWeb\Arsse\TestCase\Db\BaseStatement {
case "string": case "string":
if (preg_match("<^char\((\d+)\)$>", $value, $match)) { if (preg_match("<^char\((\d+)\)$>", $value, $match)) {
return "U&'\\+".str_pad(dechex((int) $match[1]), 6, "0", \STR_PAD_LEFT)."'"; return "U&'\\+".str_pad(dechex((int) $match[1]), 6, "0", \STR_PAD_LEFT)."'";
} else {
return $value;
} }
return $value;
default: default:
return $value; return $value;
} }

2
tests/cases/Db/SQLite3/TestDatabase.php

@ -6,7 +6,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace JKingWeb\Arsse\TestCase\Db\SQLite3; namespace JKingWeb\Arsse\TestCase\Db\SQLite3;
/** /**
* @covers \JKingWeb\Arsse\Database<extended> * @covers \JKingWeb\Arsse\Database<extended>
* @covers \JKingWeb\Arsse\Misc\Query<extended> * @covers \JKingWeb\Arsse\Misc\Query<extended>
*/ */

4
tests/cases/Db/SQLite3/TestResult.php

@ -8,8 +8,8 @@ namespace JKingWeb\Arsse\TestCase\Db\SQLite3;
use JKingWeb\Arsse\Test\DatabaseInformation; use JKingWeb\Arsse\Test\DatabaseInformation;
/** /**
* @covers \JKingWeb\Arsse\Db\SQLite3\Result<extended> * @covers \JKingWeb\Arsse\Db\SQLite3\Result<extended>
*/ */
class TestResult extends \JKingWeb\Arsse\TestCase\Db\BaseResult { class TestResult extends \JKingWeb\Arsse\TestCase\Db\BaseResult {
protected static $implementation = "SQLite 3"; protected static $implementation = "SQLite 3";

2
tests/cases/Db/SQLite3PDO/TestDatabase.php

@ -6,7 +6,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace JKingWeb\Arsse\TestCase\Db\SQLite3PDO; namespace JKingWeb\Arsse\TestCase\Db\SQLite3PDO;
/** /**
* @covers \JKingWeb\Arsse\Database<extended> * @covers \JKingWeb\Arsse\Database<extended>
* @covers \JKingWeb\Arsse\Misc\Query<extended> * @covers \JKingWeb\Arsse\Misc\Query<extended>
*/ */

4
tests/cases/Db/TestResultPDO.php

@ -8,8 +8,8 @@ namespace JKingWeb\Arsse\TestCase\Db;
use JKingWeb\Arsse\Test\DatabaseInformation; use JKingWeb\Arsse\Test\DatabaseInformation;
/** /**
* @covers \JKingWeb\Arsse\Db\PDOResult<extended> * @covers \JKingWeb\Arsse\Db\PDOResult<extended>
*/ */
class TestResultPDO extends \JKingWeb\Arsse\TestCase\Db\BaseResult { class TestResultPDO extends \JKingWeb\Arsse\TestCase\Db\BaseResult {
protected static $implementation; protected static $implementation;

10
tests/cases/REST/TestREST.php

@ -153,7 +153,7 @@ class TestREST extends \JKingWeb\Arsse\Test\AbstractTest {
public function testNegotiateCors($origin, bool $exp, string $allowed = null, string $denied = null) { public function testNegotiateCors($origin, bool $exp, string $allowed = null, string $denied = null) {
self::setConf(); self::setConf();
$r = Phake::partialMock(REST::class); $r = Phake::partialMock(REST::class);
Phake::when($r)->corsNormalizeOrigin->thenReturnCallback(function ($origin) { Phake::when($r)->corsNormalizeOrigin->thenReturnCallback(function($origin) {
return $origin; return $origin;
}); });
$headers = isset($origin) ? ['Origin' => $origin] : []; $headers = isset($origin) ? ['Origin' => $origin] : [];
@ -255,10 +255,10 @@ class TestREST extends \JKingWeb\Arsse\Test\AbstractTest {
public function testNormalizeHttpResponses(ResponseInterface $res, ResponseInterface $exp, RequestInterface $req = null) { public function testNormalizeHttpResponses(ResponseInterface $res, ResponseInterface $exp, RequestInterface $req = null) {
$r = Phake::partialMock(REST::class); $r = Phake::partialMock(REST::class);
Phake::when($r)->corsNegotiate->thenReturn(true); Phake::when($r)->corsNegotiate->thenReturn(true);
Phake::when($r)->challenge->thenReturnCallback(function ($res) { Phake::when($r)->challenge->thenReturnCallback(function($res) {
return $res->withHeader("WWW-Authenticate", "Fake Value"); return $res->withHeader("WWW-Authenticate", "Fake Value");
}); });
Phake::when($r)->corsApply->thenReturnCallback(function ($res) { Phake::when($r)->corsApply->thenReturnCallback(function($res) {
return $res; return $res;
}); });
$act = $r->normalizeResponse($res, $req); $act = $r->normalizeResponse($res, $req);
@ -298,10 +298,10 @@ class TestREST extends \JKingWeb\Arsse\Test\AbstractTest {
/** @dataProvider provideMockRequests */ /** @dataProvider provideMockRequests */
public function testDispatchRequests(ServerRequest $req, string $method, bool $called, string $class = "", string $target ="") { public function testDispatchRequests(ServerRequest $req, string $method, bool $called, string $class = "", string $target ="") {
$r = Phake::partialMock(REST::class); $r = Phake::partialMock(REST::class);
Phake::when($r)->normalizeResponse->thenReturnCallback(function ($res) { Phake::when($r)->normalizeResponse->thenReturnCallback(function($res) {
return $res; return $res;
}); });
Phake::when($r)->authenticateRequest->thenReturnCallback(function ($req) { Phake::when($r)->authenticateRequest->thenReturnCallback(function($req) {
return $req; return $req;
}); });
if ($called) { if ($called) {

8
tests/cases/REST/TinyTinyRSS/TestAPI.php

@ -1516,13 +1516,13 @@ LONG_STRING;
} }
protected function filterFolders(int $id = null): array { protected function filterFolders(int $id = null): array {
return array_filter($this->folders, function ($value) use ($id) { return array_filter($this->folders, function($value) use ($id) {
return $value['parent']==$id; return $value['parent']==$id;
}); });
} }
protected function filterSubs(int $folder = null): array { protected function filterSubs(int $folder = null): array {
return array_filter($this->subscriptions, function ($value) use ($folder) { return array_filter($this->subscriptions, function($value) use ($folder) {
return $value['folder']==$folder; return $value['folder']==$folder;
}); });
} }
@ -1532,9 +1532,9 @@ LONG_STRING;
foreach ($this->filterFolders($id) as $f) { foreach ($this->filterFolders($id) as $f) {
$out += $this->reduceFolders($f['id']); $out += $this->reduceFolders($f['id']);
} }
$out += array_reduce(array_filter($this->subscriptions, function ($value) use ($id) { $out += array_reduce(array_filter($this->subscriptions, function($value) use ($id) {
return $value['folder']==$id; return $value['folder']==$id;
}), function ($sum, $value) { }), function($sum, $value) {
return $sum + $value['unread']; return $sum + $value['unread'];
}, 0); }, 0);
return $out; return $out;

5
tests/cases/User/TestInternal.php

@ -17,7 +17,6 @@ use Phake;
/** @covers \JKingWeb\Arsse\User\Internal\Driver */ /** @covers \JKingWeb\Arsse\User\Internal\Driver */
class TestInternal extends \JKingWeb\Arsse\Test\AbstractTest { class TestInternal extends \JKingWeb\Arsse\Test\AbstractTest {
public function setUp() { public function setUp() {
self::clearData(); self::clearData();
self::setConf(); self::setConf();
@ -34,8 +33,8 @@ class TestInternal extends \JKingWeb\Arsse\Test\AbstractTest {
$this->assertTrue(strlen(Driver::driverName()) > 0); $this->assertTrue(strlen(Driver::driverName()) > 0);
} }
/** /**
* @dataProvider provideAuthentication * @dataProvider provideAuthentication
* @group slow * @group slow
*/ */
public function testAuthenticateAUser(bool $authorized, string $user, string $password, bool $exp) { public function testAuthenticateAUser(bool $authorized, string $user, string $password, bool $exp) {

3
tests/cases/User/TestUser.php

@ -17,7 +17,6 @@ use Phake;
/** @covers \JKingWeb\Arsse\User */ /** @covers \JKingWeb\Arsse\User */
class TestUser extends \JKingWeb\Arsse\Test\AbstractTest { class TestUser extends \JKingWeb\Arsse\Test\AbstractTest {
public function setUp() { public function setUp() {
self::clearData(); self::clearData();
self::setConf(); self::setConf();
@ -236,7 +235,7 @@ class TestUser extends \JKingWeb\Arsse\Test\AbstractTest {
$this->assertException("doesNotExist", "User"); $this->assertException("doesNotExist", "User");
} }
$calls = 0; $calls = 0;
} else{ } else {
$calls = 1; $calls = 1;
} }
try { try {

8
tests/lib/DatabaseInformation.php

@ -80,7 +80,7 @@ class DatabaseInformation {
// rollback any pending transaction // rollback any pending transaction
try { try {
$db->exec("ROLLBACK"); $db->exec("ROLLBACK");
} catch(\Throwable $e) { } catch (\Throwable $e) {
} }
foreach ($sqlite3TableList($db) as $table) { foreach ($sqlite3TableList($db) as $table) {
if ($table == "arsse_meta") { if ($table == "arsse_meta") {
@ -97,7 +97,7 @@ class DatabaseInformation {
// rollback any pending transaction // rollback any pending transaction
try { try {
$db->exec("ROLLBACK"); $db->exec("ROLLBACK");
} catch(\Throwable $e) { } catch (\Throwable $e) {
} }
$db->exec("PRAGMA foreign_keys=0"); $db->exec("PRAGMA foreign_keys=0");
foreach ($sqlite3TableList($db) as $table) { foreach ($sqlite3TableList($db) as $table) {
@ -181,7 +181,7 @@ class DatabaseInformation {
// rollback any pending transaction // rollback any pending transaction
try { try {
$db->exec("ROLLBACK"); $db->exec("ROLLBACK");
} catch(\Throwable $e) { } catch (\Throwable $e) {
} }
foreach ($pgObjectList($db) as $obj) { foreach ($pgObjectList($db) as $obj) {
if ($obj['type'] != "TABLE") { if ($obj['type'] != "TABLE") {
@ -200,7 +200,7 @@ class DatabaseInformation {
// rollback any pending transaction // rollback any pending transaction
try { try {
$db->exec("ROLLBACK"); $db->exec("ROLLBACK");
} catch(\Throwable $e) { } catch (\Throwable $e) {
} }
foreach ($pgObjectList($db) as $obj) { foreach ($pgObjectList($db) as $obj) {
$db->exec("DROP {$obj['type']} IF EXISTS {$obj['name']} cascade"); $db->exec("DROP {$obj['type']} IF EXISTS {$obj['name']} cascade");

Loading…
Cancel
Save