protected $type = ResourceLoaderModule::LOAD_GENERAL;
protected $targets = [ 'phpunit' ];
protected $shouldEmbed = null;
+ protected $mayValidateScript = false;
public function __construct( $options = [] ) {
foreach ( $options as $key => $value ) {
}
public function getScript( ResourceLoaderContext $context ) {
- return $this->validateScriptFile( 'input', $this->script );
+ if ( $this->mayValidateScript ) {
+ // This enables the validation check that replaces invalid
+ // scripts with a warning message.
+ // Based on $wgResourceLoaderValidateJS
+ return $this->validateScriptFile( 'input', $this->script );
+ } else {
+ return $this->script;
+ }
}
public function getStyles( ResourceLoaderContext $context ) {
}
}
+/**
+ * A more constrained and testable variant of ResourceLoaderFileModule.
+ *
+ * - Implements getLessVars() support.
+ * - Disables database persistance of discovered file dependencies.
+ */
class ResourceLoaderFileTestModule extends ResourceLoaderFileModule {
protected $lessVars = [];
- public function __construct( $options = [], $test = [] ) {
- parent::__construct( $options );
-
- foreach ( $test as $key => $value ) {
- $this->$key = $value;
+ public function __construct( $options = [] ) {
+ if ( isset( $options['lessVars'] ) ) {
+ $this->lessVars = $options['lessVars'];
+ unset( $options['lessVars'] );
}
+
+ parent::__construct( $options );
}
public function getLessVars( ResourceLoaderContext $context ) {
return $this->lessVars;
}
+
+ /** @return array */
+ protected function getFileDependencies( ResourceLoaderContext $context ) {
+ // No-op
+ return [];
+ }
+
+ protected function saveFileDependencies( ResourceLoaderContext $context, $refs ) {
+ // No-op
+ }
}
-class ResourceLoaderFileModuleTestModule extends ResourceLoaderFileModule {
+class ResourceLoaderFileModuleTestingSubclass extends ResourceLoaderFileModule {
}
class EmptyResourceLoader extends ResourceLoader {