<?php
declare(strict_types=1);
namespace Tests\git2;
use git2\git;
use git2\git_error_code;
use git2\git_libgit2_opt_t;
use PHPUnit\Framework\TestCase;
final class LibGitTest extends TestCase
{
public function testInit(): void
{
$this->assertSame(1, git::libgit2_init());
$this->assertSame(2, git::libgit2_init());
}
public function testVersion(): void
{
$this->assertSame(git_error_code::OK, git::libgit2_version($major, $minor, $rev));
$this->assertSame(1, $major);
$this->assertSame(3, $minor);
$this->assertSame(0, $rev);
}
public function testShutdown(): void
{
$this->assertSame(1, git::libgit2_shutdown());
$this->assertSame(0, git::libgit2_shutdown());
}
public function testOptions(): void
{
$this->assertSame(git_error_code::OK, git::libgit2_opts(git_libgit2_opt_t::GET_MWINDOW_SIZE, $num));
$this->assertGreaterThan(0, $num);
$this->assertSame(git_error_code::OK, git::libgit2_opts(git_libgit2_opt_t::GET_MWINDOW_MAPPED_LIMIT, $num));
$this->assertGreaterThanOrEqual(0, $num);
$this->assertSame(git_error_code::OK, git::libgit2_opts(git_libgit2_opt_t::GET_MWINDOW_FILE_LIMIT, $num));
$this->assertGreaterThanOrEqual(0, $num);
$this->assertSame(git_error_code::OK, git::libgit2_opts(git_libgit2_opt_t::GET_PACK_MAX_OBJECTS, $num));
$this->assertTrue($num === -1 || $num > 0);
}
public function testFeatures(): void
{
$this->assertGreaterThanOrEqual(0, git::libgit2_features());
}
}