aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/GitInfoTest.php
diff options
context:
space:
mode:
authorUmherirrender <umherirrender_de.wp@web.de>2023-09-12 20:28:21 +0200
committerUmherirrender <umherirrender_de.wp@web.de>2023-09-13 00:09:05 +0200
commit790ae736c165bc6b2e2cc893c1b0be2cbd2628b3 (patch)
treeb420e7567fe0e701fabef992d16b6bc370b3f4e5 /tests/phpunit/includes/GitInfoTest.php
parent707450bc74891a125f8826b0a7c004ea3c79c48c (diff)
downloadmediawikicore-790ae736c165bc6b2e2cc893c1b0be2cbd2628b3.tar.gz
mediawikicore-790ae736c165bc6b2e2cc893c1b0be2cbd2628b3.zip
tests: Move test cases from /includes/ into sub folder
Follow move of the tested class Most moves are part of T321882 Change-Id: I74ab45d6a5331dcb2ff0b65dc2cc7c6315146646
Diffstat (limited to 'tests/phpunit/includes/GitInfoTest.php')
-rw-r--r--tests/phpunit/includes/GitInfoTest.php118
1 files changed, 0 insertions, 118 deletions
diff --git a/tests/phpunit/includes/GitInfoTest.php b/tests/phpunit/includes/GitInfoTest.php
deleted file mode 100644
index 9943540c6285..000000000000
--- a/tests/phpunit/includes/GitInfoTest.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-
-use MediaWiki\MainConfigNames;
-use MediaWiki\Utils\GitInfo;
-
-/**
- * @covers GitInfo
- */
-class GitInfoTest extends MediaWikiIntegrationTestCase {
-
- private static $tempDir;
-
- public static function setUpBeforeClass(): void {
- parent::setUpBeforeClass();
-
- self::$tempDir = wfTempDir() . '/mw-phpunit-' . wfRandomString( 8 );
- if ( !mkdir( self::$tempDir ) ) {
- self::$tempDir = null;
- throw new Exception( 'Unable to create temporary directory' );
- }
- mkdir( self::$tempDir . '/gitrepo' );
- mkdir( self::$tempDir . '/gitrepo/1' );
- mkdir( self::$tempDir . '/gitrepo/2' );
- mkdir( self::$tempDir . '/gitrepo/3' );
- mkdir( self::$tempDir . '/gitrepo/1/.git' );
- mkdir( self::$tempDir . '/gitrepo/1/.git/refs' );
- mkdir( self::$tempDir . '/gitrepo/1/.git/refs/heads' );
- file_put_contents( self::$tempDir . '/gitrepo/1/.git/HEAD',
- "ref: refs/heads/master\n" );
- file_put_contents( self::$tempDir . '/gitrepo/1/.git/refs/heads/master',
- "0123456789012345678901234567890123abcdef\n" );
- file_put_contents( self::$tempDir . '/gitrepo/1/.git/packed-refs',
- "abcdef6789012345678901234567890123456789 refs/heads/master\n" );
- file_put_contents( self::$tempDir . '/gitrepo/2/.git',
- "gitdir: ../1/.git\n" );
- file_put_contents( self::$tempDir . '/gitrepo/3/.git',
- 'gitdir: ' . self::$tempDir . "/gitrepo/1/.git\n" );
- }
-
- public static function tearDownAfterClass(): void {
- if ( self::$tempDir ) {
- wfRecursiveRemoveDir( self::$tempDir );
- }
- parent::tearDownAfterClass();
- }
-
- protected function setUp(): void {
- parent::setUp();
- $this->overrideConfigValue( MainConfigNames::GitInfoCacheDirectory, __DIR__ . '/../data/gitinfo' );
- }
-
- protected function assertValidGitInfo( GitInfo $gitInfo ) {
- $this->assertTrue( $gitInfo->cacheIsComplete() );
- $this->assertEquals( 'refs/heads/master', $gitInfo->getHead() );
- $this->assertSame( '0123456789abcdef0123456789abcdef01234567',
- $gitInfo->getHeadSHA1() );
- $this->assertSame( '1070884800', $gitInfo->getHeadCommitDate() );
- $this->assertEquals( 'master', $gitInfo->getCurrentBranch() );
- $this->assertStringContainsString( '0123456789abcdef0123456789abcdef01234567',
- $gitInfo->getHeadViewUrl() );
- }
-
- public function testValidJsonData() {
- global $IP;
-
- $this->assertValidGitInfo( new GitInfo( "$IP/testValidJsonData" ) );
- $this->assertValidGitInfo( new GitInfo( __DIR__ . "/../data/gitinfo/extension" ) );
- }
-
- public function testMissingJsonData() {
- $dir = $GLOBALS['IP'] . '/testMissingJsonData';
- $fixture = new GitInfo( $dir );
-
- $this->assertFalse( $fixture->cacheIsComplete() );
-
- $this->assertFalse( $fixture->getHead() );
- $this->assertFalse( $fixture->getHeadSHA1() );
- $this->assertFalse( $fixture->getHeadCommitDate() );
- $this->assertFalse( $fixture->getCurrentBranch() );
- $this->assertFalse( $fixture->getHeadViewUrl() );
-
- // After calling all the outputs, the cache should be complete
- $this->assertTrue( $fixture->cacheIsComplete() );
- }
-
- public function testReadingHead() {
- $dir = self::$tempDir . '/gitrepo/1';
- $fixture = new GitInfo( $dir );
-
- $this->assertEquals( 'refs/heads/master', $fixture->getHead() );
- $this->assertSame( '0123456789012345678901234567890123abcdef', $fixture->getHeadSHA1() );
- }
-
- public function testIndirection() {
- $dir = self::$tempDir . '/gitrepo/2';
- $fixture = new GitInfo( $dir );
-
- $this->assertEquals( 'refs/heads/master', $fixture->getHead() );
- $this->assertSame( '0123456789012345678901234567890123abcdef', $fixture->getHeadSHA1() );
- }
-
- public function testIndirection2() {
- $dir = self::$tempDir . '/gitrepo/3';
- $fixture = new GitInfo( $dir );
-
- $this->assertEquals( 'refs/heads/master', $fixture->getHead() );
- $this->assertSame( '0123456789012345678901234567890123abcdef', $fixture->getHeadSHA1() );
- }
-
- public function testReadingPackedRefs() {
- $dir = self::$tempDir . '/gitrepo/1';
- unlink( self::$tempDir . '/gitrepo/1/.git/refs/heads/master' );
- $fixture = new GitInfo( $dir );
-
- $this->assertEquals( 'refs/heads/master', $fixture->getHead() );
- $this->assertEquals( 'abcdef6789012345678901234567890123456789', $fixture->getHeadSHA1() );
- }
-}