mediawiki-extensions-Math/tests/phpunit/unit/WikiTexVC/MMLmappings/Util/MMLParsingUtilTest.php
physikerwelt d68c302b71
Add tests for BaseMappings
Change-Id: I017815230c2709ef5933256ba430b5284022637f
2024-11-21 22:37:45 +01:00

52 lines
1.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace MediaWiki\Extension\Math\Tests\WikiTexVC\MMLmappings;
use MediaWiki\Extension\Math\WikiTexVC\MMLmappings\Util\MMLParsingUtil;
use MediaWikiUnitTestCase;
/**
* @covers \MediaWiki\Extension\Math\WikiTexVC\MMLmappings\Util\MMLParsingUtil
*/
class MMLParsingUtilTest extends MediaWikiUnitTestCase {
public function testInvalidColor() {
$result = MMLParsingUtil::parseDefineColorExpression( "INVALID" );
$this->assertNull( $result );
}
public function testRGBOne() {
$result = MMLParsingUtil::parseDefineColorExpression(
"\\definecolor {ultramarine}{rgb}{0,0.12549019607843,0.37647058823529}" );
$this->assertEquals( 'ultramarine', $result['name'] );
$this->assertEquals( 'rgb', $result['type'] );
$this->assertEquals( '#002060', $result['hex'] );
}
public function testInvalidColorString() {
$result = MMLParsingUtil::parseDefineColorExpression(
"\\definecolor {gray}{0.123}" );
$this->assertNull( $result );
}
public function testUnicode_afr() {
$result = MMLParsingUtil::mapToFrakturUnicode( 'a' );
$this->assertEquals( '&#x1D51E;', $result );
}
public function testUnicode_bfr() {
$result = MMLParsingUtil::mapToFrakturUnicode( 'B' );
$this->assertEquals( '&#x1D505;', $result );
}
public function testUnicode_Cfr() {
$result = MMLParsingUtil::mapToFrakturUnicode( 'C' );
$this->assertEquals( '&#x0212D;', $result );
}
public function testUnicodeUtf8Input() {
$result = MMLParsingUtil::mapToFrakturUnicode( '𝔄' );
$this->assertEquals( '𝔄', $result );
}
}