ちんこ

This commit is contained in:
2025-12-22 20:45:57 +09:00
parent 3a7bbb635a
commit 3b96986a85
6 changed files with 403 additions and 388 deletions

View File

@@ -37,6 +37,7 @@ define('RSS_ENABLED', false);
define('ACTIVITYPUB_ENABLED', false);
define('MYSQL_ENABLED', false);
define('CSV_ENABLED', false);
define('CURL_ENABLED', true);
define('AUTH_ENABLED', false);
define('AUTH_REGISTER_ENABLED', false);
define('COPYRIGHT_YEAR', '2018-'.date('Y'));

View File

@@ -6,12 +6,14 @@ require_once __DIR__.'/../../../autoload.php';
use Site\Lib\Tester;
use Site\Lib\Auth;
$test = new Tester([
if (AUTH_ENABLED) {
$test = new Tester([
'colorOutput' => true,
'verboseOutput' => true
]);
]);
$test->describe('ユーザー登録', function($test): void {
if (AUTH_REGISTER_ENABLED) {
$test->describe('ユーザー登録', function($test): void {
$test->it('アカウントを作成出来るはず', function($test): void {
$user = "admin1234";
$pass = "testTEST1234!#$%@[]:;";
@@ -151,73 +153,77 @@ $test->describe('ユーザー登録', function($test): void {
}
unlink(ROOT.'/data/user/'.$userFile);
rmdir(ROOT.'/public/static/user/admin1234');
});
});
}
// TODO: CLIからクッキーを設定出来ないから、「Site\Lib\Auth::getUserData(): Return value must be of type stdClass, null returned」って発生する・・・
// $test->describe('ログインとログアウト', function($test): void {
// $user = "admin1234";
// $pass = "testTEST1234!#$%@[]:;";
// $passVerify = "testTEST1234!#$%@[]:;";
// $email = "test@076.co.jp";
// TODO: CLIからクッキーを設定出来ないから、「Site\Lib\Auth::getUserData(): Return value must be of type stdClass, null returned」って発生する・・・
// $test->describe('ログインとログアウト', function($test): void {
// $user = "admin1234";
// $pass = "testTEST1234!#$%@[]:;";
// $passVerify = "testTEST1234!#$%@[]:;";
// $email = "test@076.co.jp";
// $auth = new Auth();
// $res = $auth->mkUser($user, $pass, $passVerify, $email);
// unset($auth);
// $auth = new Auth();
// $res = $auth->mkUser($user, $pass, $passVerify, $email);
// unset($auth);
// $test->it('正しい認証情報でログイン出来るはず', function($test) use ($user, $pass): void {
// $auth = new Auth();
// $res = $auth->setToken($user, $pass);
// $test->it('正しい認証情報でログイン出来るはず', function($test) use ($user, $pass): void {
// $auth = new Auth();
// $res = $auth->setToken($user, $pass);
// $test->assertTrue($res->isSuccess);
// $test->assertEquals('ログイン成功', $res->message);
// $test->assertTrue($res->isSuccess);
// $test->assertEquals('ログイン成功', $res->message);
// $auth2 = new Auth();
// $usr = $auth2->getLoggedInUser();
// $auth2 = new Auth();
// $usr = $auth2->getLoggedInUser();
// $test->assertNotNull($usr);
// $test->assertEquals($user, $usr->username);
// });
// $test->assertNotNull($usr);
// $test->assertEquals($user, $usr->username);
// });
// $test->it('間違ったパスワードでログイン出来ないはず', function($test) use ($user): void {
// $auth = new Auth();
// $res = $auth->setToken($user, 'fuseipassword');
// $test->it('間違ったパスワードでログイン出来ないはず', function($test) use ($user): void {
// $auth = new Auth();
// $res = $auth->setToken($user, 'fuseipassword');
// $test->assertFalse($res->isSuccess);
// $test->assertEquals('ユーザー名又はパスワードが一致していません', $res->message);
// });
// $test->assertFalse($res->isSuccess);
// $test->assertEquals('ユーザー名又はパスワードが一致していません', $res->message);
// });
// $test->it('存在しないユーザーでログイン出来ないはず', function($test) use ($pass): void {
// $auth = new Auth();
// $res = $auth->setToken('fumeiuser', $pass);
// $test->it('存在しないユーザーでログイン出来ないはず', function($test) use ($pass): void {
// $auth = new Auth();
// $res = $auth->setToken('fumeiuser', $pass);
// $test->assertFalse($res->isSuccess);
// $test->assertEquals('ユーザー名又はパスワードが一致していません', $res->message);
// });
// $test->assertFalse($res->isSuccess);
// $test->assertEquals('ユーザー名又はパスワードが一致していません', $res->message);
// });
// $test->it('ログアウト出来るはず', function($test) use ($user, $pass): void {
// $auth = new Auth();
// $auth->setToken($user, $pass);
// $test->it('ログアウト出来るはず', function($test) use ($user, $pass): void {
// $auth = new Auth();
// $auth->setToken($user, $pass);
// $res = $auth->logout();
// $res = $auth->logout();
// $test->assertTrue($res->isSuccess);
// $test->assertEquals('ログイン成功', $res->message);
// $test->assertTrue($res->isSuccess);
// $test->assertEquals('ログイン成功', $res->message);
// $auth2 = new Auth();
// $usr = $auth2->getLoggedInUser();
// $auth2 = new Auth();
// $usr = $auth2->getLoggedInUser();
// $test->assertNull($usr);
// });
// $test->assertNull($usr);
// });
// // ユーザーの削除
// $users = scandir(ROOT.'/data/user');
// $userFile = '';
// foreach ($users as $u) {
// if (str_contains($u, 'admin1234')) {
// $userFile = $u;
// break;
// }
// }
// unlink(ROOT.'/data/user/'.$userFile);
// rmdir(ROOT.'/public/static/user/admin1234');
// });
// // ユーザーの削除
// $users = scandir(ROOT.'/data/user');
// $userFile = '';
// foreach ($users as $u) {
// if (str_contains($u, 'admin1234')) {
// $userFile = $u;
// break;
// }
// }
// unlink(ROOT.'/data/user/'.$userFile);
// rmdir(ROOT.'/public/static/user/admin1234');
// });
$test->printSummary();
}

View File

@@ -7,12 +7,13 @@ use Site\Lib\Tester;
use Site\Lib\Csv;
use Site\Lib\Delimiter;
$test = new Tester([
if (CSV_ENABLED) {
$test = new Tester([
'colorOutput' => true,
'verboseOutput' => true
]);
]);
$test->describe('Csvの基本的なパーシング', function($test): void {
$test->describe('Csvの基本的なパーシング', function($test): void {
$test->it('簡単なCSVファイルをパーシングするはず', function($test): void {
$str = "岩田聡,プロジューサー\n宮本茂,デザイナー\nJeffrey Epstein,幼児性愛者";
@@ -119,4 +120,7 @@ $test->describe('Csvの基本的なパーシング', function($test): void {
$test->assertNotNull($res);
$test->assertEquals($res, $expect, "セル内にカンマを含むパーシングに失敗");
});
});
});
$test->printSummary();
}

View File

@@ -6,12 +6,13 @@ require_once __DIR__.'/../../../autoload.php';
use Site\Lib\Tester;
use Site\Lib\Curl;
$test = new Tester([
if (CURL_ENABLED) {
$test = new Tester([
'colorOutput' => true,
'verboseOutput' => true
]);
]);
$test->describe('Curlの基本的な機能性', function($test): void {
$test->describe('Curlの基本的な機能性', function($test): void {
$test->it('URLで使って新しいインスタンスを作成するはず', function($test): void {
$curl = new Curl('https://076.moe');
$test->assertNotNull($curl);
@@ -49,9 +50,9 @@ $test->describe('Curlの基本的な機能性', function($test): void {
$test->assertSame($curl, $result);
});
});
});
$test->describe('Curl HTTP リクエスト', function($test): void {
$test->describe('Curl HTTP リクエスト', function($test): void {
$networkAvailable = true;
if (!$networkAvailable) {
@@ -87,6 +88,7 @@ $test->describe('Curl HTTP リクエスト', function($test): void {
$test->assertStringContains('山田太郎', $responseBody);
$test->assertStringContains('t.yamada@example.com', $responseBody);
});
});
});
$test->printSummary();
$test->printSummary();
}

View File

@@ -6,12 +6,13 @@ require_once __DIR__.'/../../../autoload.php';
use Site\Lib\Tester;
use Site\Lib\Mysql;
$test = new Tester([
if (MYSQL_ENABLED) {
$test = new Tester([
'colorOutput' => true,
'verboseOutput' => true
]);
]);
$test->describe('パケットのデバッグ', function($test): void {
$test->describe('パケットのデバッグ', function($test): void {
try {
$db = new Mysql();
@@ -29,9 +30,9 @@ $test->describe('パケットのデバッグ', function($test): void {
} catch (\Exception $e) {
echo 'エラー: '.$e->getMessage()."\n";
}
});
});
$test->describe('プリペアドステートメント', function($test): void {
$test->describe('プリペアドステートメント', function($test): void {
try {
$db = new Mysql();
$db->connect();
@@ -61,6 +62,7 @@ $test->describe('プリペアドステートメント', function($test): void {
} catch (\Exception $e) {
echo 'エラー: '.$e->getMessage()."\n";
}
});
});
$test->printSummary();
$test->printSummary();
}

View File

@@ -1,13 +1,13 @@
<?php
require_once __DIR__.DIRECTORY_SEPARATOR.'/autoload.php';
require_once __DIR__.DIRECTORY_SEPARATOR.'/util.php';
define('ROOT', realpath(__DIR__));
require_once __DIR__.DIRECTORY_SEPARATOR.'/config/config.php';
require_once ROOT.'/util.php';
require_once ROOT.'/config/config.php';
mb_internal_encoding('UTF-8');
header('Content-Type: text/plain; charset=UTF-8');
$testDir = __DIR__.DIRECTORY_SEPARATOR.'src/Site/Test';
$testDir = ROOT.'/src/Site/Test';
$testFiles = glob($testDir.'/*.php');
if (empty($testFiles)) {