Merge "Fix wrapper="…" failing for more complex selectors"

This commit is contained in:
jenkins-bot 2020-10-15 17:03:02 +00:00 committed by Gerrit Code Review
commit 8edccc8d4c
2 changed files with 8 additions and 1 deletions

View file

@ -82,7 +82,7 @@ class TemplateStylesHooks {
$match = self::getMatcherFactory()->cssSimpleSelectorSeq()
->match( $components, [ 'mark-significance' => true ] );
}
self::$wrappers[$wrapper] = $match ? $components->toTokenArray() : false;
self::$wrappers[$wrapper] = $match ? $components->toComponentValueArray() : false;
}
return self::$wrappers[$wrapper];
}

View file

@ -3,6 +3,7 @@
use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\MutableRevisionRecord;
use MediaWiki\Revision\SlotRecord;
use Wikimedia\CSS\Parser\Parser as CSSParser;
/**
* @group TemplateStyles
@ -39,6 +40,12 @@ class TemplateStylesHooksTest extends MediaWikiLangTestCase {
TemplateStylesHooks::getSanitizer( 'foo', '.foo>.bar' );
}
public function testGetSanitizerNonLinearWrapper() {
$sanitizer = TemplateStylesHooks::getSanitizer( 'foo', 'div[data]' );
$sanitizer->sanitize( CSSParser::newFromString( '.not-empty { }' )->parseStylesheet() );
$this->assertSame( [], $sanitizer->getSanitizationErrors() );
}
/**
* @dataProvider provideOnRegistration
* @param array $textModelsToParse