Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 9 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,6 @@ jobs:
fail-fast: false
matrix:
include:
- mw: 'REL1_39'
php: 8.1
experimental: false
- mw: 'REL1_40'
php: 8.1
experimental: false
- mw: 'REL1_41'
php: 8.2
experimental: false
- mw: 'REL1_42'
php: 8.2
experimental: false
- mw: 'REL1_43'
php: 8.3
experimental: false
Expand Down Expand Up @@ -83,16 +71,18 @@ jobs:
- name: Run update.php
run: php maintenance/update.php --quick

- name: Run PHPUnit
- name: Run PHPUnit (MW < master)
if: matrix.mw != 'master'
run: php tests/phpunit/phpunit.php -c extensions/ExternalContent/

- name: Run PHPUnit with code coverage
run: php tests/phpunit/phpunit.php -c extensions/ExternalContent/ --coverage-clover coverage.xml
if: matrix.mw == 'master'

- name: Upload code coverage
run: bash <(curl -s https://codecov.io/bash)
- name: Run PHPUnit (MW master)
if: matrix.mw == 'master'
run: |
# phpunit.xml.template is export-ignored from the GitHub tarball, fetch it separately
if [ ! -f phpunit.xml.template ]; then
wget -q -O phpunit.xml.template "https://raw.githubusercontent.com/wikimedia/mediawiki/${{ matrix.mw }}/phpunit.xml.template"
fi
composer phpunit -- extensions/ExternalContent/tests/

- name: Run parser tests
run: php tests/parser/parserTests.php --file=extensions/ExternalContent/tests/parser/parserTests.txt
Expand Down
2 changes: 1 addition & 1 deletion extension.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"descriptionmsg": "external-content-desc",

"requires": {
"MediaWiki": ">= 1.39.0",
"MediaWiki": ">= 1.43.0",
"platform": {
"php": ">= 8.0"
}
Expand Down
2 changes: 1 addition & 1 deletion src/Adapters/EmbedPresenter/CategoryUsageTracker.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter;

use Parser;
use MediaWiki\Parser\Parser;

class CategoryUsageTracker implements UsageTracker {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter;

use Html;
use MediaWiki\Html\Html;
use MessageLocalizer;
use ProfessionalWiki\ExternalContent\UseCases\Embed\EmbedPresenter;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace ProfessionalWiki\ExternalContent\Adapters\EmbedResourceLoader;

use ParserOutput;
use MediaWiki\Parser\ParserOutput;
use ProfessionalWiki\ExternalContent\Domain\ContentRenderer;
use ProfessionalWiki\ExternalContent\Domain\ContentRenderer\CodeRenderer;
use ProfessionalWiki\ExternalContent\UseCases\Embed\EmbedResourceLoader;
Expand Down
2 changes: 1 addition & 1 deletion src/Domain/ContentRenderer/CodeRenderer.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace ProfessionalWiki\ExternalContent\Domain\ContentRenderer;

use Html;
use MediaWiki\Html\Html;
use ProfessionalWiki\ExternalContent\Domain\ContentRenderer;

class CodeRenderer implements ContentRenderer {
Expand Down
2 changes: 1 addition & 1 deletion src/EmbedExtensionFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use FileFetcher\FileFetcher;
use MediaWiki\MediaWikiServices;
use Message;
use MediaWiki\Message\Message;
use MessageLocalizer;
use ProfessionalWiki\ExternalContent\Adapters\FileFetcher\DomainCredentials;
use ProfessionalWiki\ExternalContent\Adapters\FileFetcher\MediaWikiFileFetcher;
Expand Down
2 changes: 1 addition & 1 deletion src/EntryPoints/BitbucketFunction.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace ProfessionalWiki\ExternalContent\EntryPoints;

use Parser;
use MediaWiki\Parser\Parser;
use ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter\CategoryUsageTracker;
use ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter\ParserFunctionEmbedPresenter;
use ProfessionalWiki\ExternalContent\Adapters\EmbedResourceLoader\ParserFunctionEmbedResourceLoader;
Expand Down
2 changes: 1 addition & 1 deletion src/EntryPoints/EmbedFunction.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace ProfessionalWiki\ExternalContent\EntryPoints;

use Parser;
use MediaWiki\Parser\Parser;
use ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter\CategoryUsageTracker;
use ProfessionalWiki\ExternalContent\Adapters\EmbedPresenter\ParserFunctionEmbedPresenter;
use ProfessionalWiki\ExternalContent\Adapters\EmbedResourceLoader\ParserFunctionEmbedResourceLoader;
Expand Down
6 changes: 3 additions & 3 deletions src/EntryPoints/MediaWikiHooks.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

namespace ProfessionalWiki\ExternalContent\EntryPoints;

use ContentHandler;
use MediaWiki\Content\ContentHandler;
use MediaWiki\MediaWikiServices;
use MediaWiki\Parser\Parser;
use MediaWiki\Parser\ParserOutput;
use MediaWiki\Revision\RevisionRecord;
use Parser;
use ParserOutput;
use ProfessionalWiki\ExternalContent\EmbedExtensionFactory;
use SearchEngine;
use WikiPage;
Expand Down
10 changes: 7 additions & 3 deletions tests/Integration/EmbedFunctionIntegrationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
use FileFetcher\InMemoryFileFetcher;
use FileFetcher\StubFileFetcher;
use MediaWiki\MediaWikiServices;
use MediaWiki\Parser\ParserOptions;
use MediaWiki\Title\Title;
use MediaWiki\User\User;
use ProfessionalWiki\ExternalContent\Tests\TestEnvironment;

/**
Expand Down Expand Up @@ -51,12 +54,13 @@ public function testUsageIsTracked(): void {
$this->extensionFactory->setFileFetcher( new InMemoryFileFetcher( [] ) );

$parser = MediaWikiServices::getInstance()->getParser();
$parserOptions = new ParserOptions( User::newSystemUser( 'TestUser' ) );

$parser->parse(
'{{#embed:https://example.com/KITTENS.md}}',
\Title::newFromText( 'EmbedFunctionIntegrationTest' ),
new \ParserOptions( \User::newSystemUser( 'TestUser' ) )
)->getText();
Title::newFromText( 'EmbedFunctionIntegrationTest' ),
$parserOptions
)->runOutputPipeline( $parserOptions, [] )->getContentHolderText();

// Since the category name depends on the wiki language, we need to skip this test when it is not English.
if ( MediaWikiServices::getInstance()->getContentLanguage()->getCode() === 'en' ) {
Expand Down
12 changes: 7 additions & 5 deletions tests/Integration/EmbedFunctionSystemTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

namespace ProfessionalWiki\ExternalContent\Tests\Integration;

use CommentStoreComment;
use FileFetcher\StubFileFetcher;
use Title;
use User;
use MediaWiki\CommentStore\CommentStoreComment;
use MediaWiki\Content\Content;
use MediaWiki\Content\ContentHandler;
use MediaWiki\Title\Title;
use MediaWiki\User\User;
use WikiPage;

/**
Expand Down Expand Up @@ -56,11 +58,11 @@ private function createPage( string $title, string $content ): WikiPage {

return $this->createPageWithContent(
$title,
\ContentHandler::makeContent( $content, $titleObject )
ContentHandler::makeContent( $content, $titleObject )
);
}

private function createPageWithContent( string $title, \Content $content ): WikiPage {
private function createPageWithContent( string $title, Content $content ): WikiPage {
$titleObject = Title::newFromText( $title );
$page = new WikiPage( $titleObject );

Expand Down
9 changes: 6 additions & 3 deletions tests/TestEnvironment.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
namespace ProfessionalWiki\ExternalContent\Tests;

use MediaWiki\MediaWikiServices;
use Title;
use MediaWiki\Parser\ParserOptions;
use MediaWiki\Title\Title;
use MediaWiki\User\User;

class TestEnvironment {

Expand All @@ -22,12 +24,13 @@ public function wikiUrl( string $pageName ): ?string {
}

public function parse( string $textToParse, ?Title $contextPage = null ): string {
$parserOptions = new ParserOptions( User::newSystemUser( 'TestUser' ) );
return MediaWikiServices::getInstance()->getParser()
->parse(
$textToParse,
$contextPage ?? Title::newFromText( 'ContextPage' ),
new \ParserOptions( \User::newSystemUser( 'TestUser' ) )
)->getText();
$parserOptions
)->runOutputPipeline( $parserOptions, [] )->getContentHolderText();
}

}
2 changes: 1 addition & 1 deletion tests/TestFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use FileFetcher\FileFetcher;
use FileFetcher\NullFileFetcher;
use Message;
use MediaWiki\Message\Message;
use MessageLocalizer;
use ProfessionalWiki\ExternalContent\EmbedExtensionFactory;

Expand Down
Loading