summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaCommon/TextLibraryTest.php
blob: e444dc056138ddfc10fbbe70bb5c18d475eee99e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

// @codingStandardsIgnoreLine Squiz.Classes.ValidClassName.NotCamelCaps
class Scribunto_LuaTextLibraryTest extends Scribunto_LuaEngineTestBase {
	protected static $moduleName = 'TextLibraryTests';

	public function __construct(
		$name = null, array $data = [], $dataName = '', $engineName = null
	) {
		parent::__construct( $name, $data, $dataName, $engineName );
		if ( defined( 'HHVM_VERSION' ) ) {
			// HHVM bug https://github.com/facebook/hhvm/issues/5813
			$this->skipTests['json decode, invalid values (trailing comma)'] =
				'json decode bug in HHVM';
		}
	}

	protected function setUp() {
		parent::setUp();

		// For unstrip test
		$parser = $this->getEngine()->getParser();
		$markers = [
			'nowiki' => Parser::MARKER_PREFIX . '-test-nowiki-' . Parser::MARKER_SUFFIX,
			'general' => Parser::MARKER_PREFIX . '-test-general-' . Parser::MARKER_SUFFIX,
		];
		$parser->mStripState->addNoWiki( $markers['nowiki'], 'NoWiki' );
		$parser->mStripState->addGeneral( $markers['general'], 'General' );
		$interpreter = $this->getEngine()->getInterpreter();
		$interpreter->callFunction(
			$interpreter->loadString( 'mw.text.stripTest = ...', 'fortest' ),
			$markers
		);
	}

	protected function getTestModules() {
		return parent::getTestModules() + [
			'TextLibraryTests' => __DIR__ . '/TextLibraryTests.lua',
		];
	}
}