diff --git a/extension.json b/extension.json index c08faa508d..a30edd9378 100644 --- a/extension.json +++ b/extension.json @@ -158,9 +158,6 @@ "ResourceLoaderRegisterModules": [ "VisualEditorHooks::onResourceLoaderRegisterModules" ], - "ResourceLoaderTestModules": [ - "VisualEditorHooks::onResourceLoaderTestModules" - ], "SkinTemplateNavigation": [ "VisualEditorHooks::onSkinTemplateNavigation" ], @@ -2460,6 +2457,171 @@ ] } }, + "QUnitTestModule": { + "localBasePath": "", + "remoteExtPath": "VisualEditor", + "styles": "lib/ve/lib/jsdifflib/diffview.css", + "scripts": [ + "lib/proposal-promise-finally/polyfill.js", + "modules/ve-mw/tests/mw-preload.js", + "lib/ve/lib/jsdifflib/diffview.js", + "lib/ve/lib/jsdifflib/difflib.js", + "lib/ve/tests/ve.qunit.js", + "lib/ve/tests/ve.test.utils.js", + "modules/ve-mw/tests/ve.test.utils.js", + "lib/ve/tests/ve.test.js", + "lib/ve/tests/ve.EventSequencer.test.js", + "lib/ve/tests/ve.Scheduler.test.js", + "lib/ve/tests/ve.Range.test.js", + "lib/ve/tests/ve.Document.test.js", + "lib/ve/tests/ve.Node.test.js", + "lib/ve/tests/ve.BranchNode.test.js", + "lib/ve/tests/ve.LeafNode.test.js", + "lib/ve/tests/dm/ve.dm.example.js", + "lib/ve/tests/dm/ve.dm.Annotation.test.js", + "lib/ve/tests/dm/ve.dm.AnnotationSet.test.js", + "lib/ve/tests/dm/ve.dm.LinkAnnotation.test.js", + "lib/ve/tests/dm/ve.dm.NodeFactory.test.js", + "lib/ve/tests/dm/ve.dm.Node.test.js", + "lib/ve/tests/dm/ve.dm.Converter.test.js", + "lib/ve/tests/dm/ve.dm.SourceConverter.test.js", + "lib/ve/tests/dm/ve.dm.BranchNode.test.js", + "lib/ve/tests/dm/ve.dm.LeafNode.test.js", + "lib/ve/tests/dm/nodes/ve.dm.TextNode.test.js", + "modules/ve-mw/tests/dm/nodes/ve.dm.MWTransclusionNode.test.js", + "lib/ve/tests/dm/ve.dm.Document.test.js", + "modules/ve-mw/tests/dm/ve.dm.Document.test.js", + "lib/ve/tests/dm/ve.dm.HashValueStore.test.js", + "lib/ve/tests/dm/ve.dm.InternalList.test.js", + "lib/ve/tests/dm/ve.dm.LinearData.test.js", + "lib/ve/tests/dm/ve.dm.Transaction.test.js", + "lib/ve/tests/dm/ve.dm.TransactionBuilder.test.js", + "lib/ve/tests/dm/ve.dm.Change.test.js", + "lib/ve/tests/dm/ve.dm.TreeModifier.test.js", + "lib/ve/tests/dm/ve.dm.TransactionProcessor.test.js", + "lib/ve/tests/dm/ve.dm.Surface.test.js", + "lib/ve/tests/dm/ve.dm.SurfaceFragment.test.js", + "modules/ve-mw/tests/dm/ve.dm.SurfaceFragment.test.js", + "lib/ve/tests/dm/ve.dm.SourceSurfaceFragment.test.js", + "lib/ve/tests/dm/ve.dm.ModelRegistry.test.js", + "lib/ve/tests/dm/ve.dm.MetaList.test.js", + "lib/ve/tests/dm/ve.dm.Scalable.test.js", + "lib/ve/tests/dm/selections/ve.dm.LinearSelection.test.js", + "lib/ve/tests/dm/selections/ve.dm.NullSelection.test.js", + "lib/ve/tests/dm/selections/ve.dm.TableSelection.test.js", + "lib/ve/tests/dm/lineardata/ve.dm.FlatLinearData.test.js", + "lib/ve/tests/dm/lineardata/ve.dm.ElementLinearData.test.js", + "modules/ve-mw/tests/dm/ve.dm.mwExample.js", + "modules/ve-mw/tests/dm/ve.dm.Converter.test.js", + "modules/ve-mw/tests/dm/ve.dm.MWImageModel.test.js", + "modules/ve-mw/tests/dm/ve.dm.MWInternalLinkAnnotation.test.js", + "lib/ve/tests/ce/ve.ce.test.js", + "lib/ve/tests/ce/ve.ce.Document.test.js", + "modules/ve-mw/tests/ce/ve.ce.Document.test.js", + "lib/ve/tests/ce/ve.ce.Surface.test.js", + "modules/ve-mw/tests/ce/ve.ce.Surface.test.js", + "lib/ve/tests/ce/ve.ce.RangeState.test.js", + "lib/ve/tests/ce/ve.ce.TextState.test.js", + "lib/ve/tests/ce/ve.ce.NodeFactory.test.js", + "lib/ve/tests/ce/ve.ce.AnnotationFactory.test.js", + "lib/ve/tests/ce/ve.ce.Node.test.js", + "lib/ve/tests/ce/ve.ce.BranchNode.test.js", + "lib/ve/tests/ce/ve.ce.ContentBranchNode.test.js", + "modules/ve-mw/tests/ce/ve.ce.ContentBranchNode.test.js", + "lib/ve/tests/ce/ve.ce.LeafNode.test.js", + "lib/ve/tests/ce/ve.ce.Selection.test.js", + "lib/ve/tests/ce/keydownhandlers/ve.ce.LinearArrowKeyDownHandler.test.js", + "lib/ve/tests/ce/keydownhandlers/ve.ce.LinearDeleteKeyDownHandler.test.js", + "lib/ve/tests/ce/keydownhandlers/ve.ce.LinearEnterKeyDownHandler.test.js", + "lib/ve/tests/ce/keydownhandlers/ve.ce.LinearEscapeKeyDownHandler.test.js", + "lib/ve/tests/ce/keydownhandlers/ve.ce.TableArrowKeyDownHandler.test.js", + "lib/ve/tests/ce/keydownhandlers/ve.ce.TableDeleteKeyDownHandler.test.js", + "lib/ve/tests/ce/keydownhandlers/ve.ce.TableEnterKeyDownHandler.test.js", + "lib/ve/tests/ce/keydownhandlers/ve.ce.TableF2KeyDownHandler.test.js", + "lib/ve/tests/ce/nodes/ve.ce.ResizableNode.test.js", + "lib/ve/tests/ce/nodes/ve.ce.TextNode.test.js", + "lib/ve/tests/ce/nodes/ve.ce.TableNode.test.js", + "lib/ve/tests/ui/ve.ui.Trigger.test.js", + "lib/ve/tests/ui/ve.ui.Sequence.test.js", + "lib/ve/tests/ui/ve.ui.DiffElement.test.js", + "lib/ve/tests/ui/ve.ui.PreviewElement.test.js", + "modules/ve-mw/tests/ui/ve.ui.DiffElement.test.js", + "lib/ve/tests/ui/actions/ve.ui.AnnotationAction.test.js", + "lib/ve/tests/ui/actions/ve.ui.ContentAction.test.js", + "lib/ve/tests/ui/actions/ve.ui.FormatAction.test.js", + "modules/ve-mw/tests/ui/actions/ve.ui.FormatAction.test.js", + "lib/ve/tests/ui/actions/ve.ui.IndentationAction.test.js", + "lib/ve/tests/ui/actions/ve.ui.LinkAction.test.js", + "modules/ve-mw/tests/ui/actions/ve.ui.MWLinkAction.test.js", + "lib/ve/tests/ui/actions/ve.ui.ListAction.test.js", + "lib/ve/tests/ui/actions/ve.ui.TableAction.test.js", + "lib/ve/tests/ui/actions/ve.ui.WindowAction.test.js", + "lib/ve/tests/ui/ve.ui.DataTransferHandlerFactory.test.js", + "lib/ve/tests/ui/datatransferhandlers/ve.ui.DSVFileTransferHandler.test.js", + "lib/ve/tests/ui/datatransferhandlers/ve.ui.UrlStringTransferHandler.test.js", + "modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js", + "modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.UrlStringTransferHandler.test.js", + "modules/ve-mw/tests/init/targets/ve.init.mw.DesktopArticleTarget.test.js", + "lib/ve/tests/ce/ve.ce.TestRunner.js", + "lib/ve/tests/ce/ve.ce.imetests.test.js", + "lib/ve/tests/ce/imetests/backspace-chromium-ubuntu-none.js", + "lib/ve/tests/ce/imetests/backspace-firefox-ubuntu-none.js", + "lib/ve/tests/ce/imetests/backspace-ie9-win7-none.js", + "lib/ve/tests/ce/imetests/home-firefox-win7-none.js", + "lib/ve/tests/ce/imetests/input-chrome-mac-native-japanese-hiragana.js", + "lib/ve/tests/ce/imetests/input-chrome-mac-native-japanese-katakana.js", + "lib/ve/tests/ce/imetests/input-chrome-win7-chinese-traditional-handwriting.js", + "lib/ve/tests/ce/imetests/input-chrome-win7-greek.js", + "lib/ve/tests/ce/imetests/input-chrome-win7-polish.js", + "lib/ve/tests/ce/imetests/input-chrome-win7-welsh.js", + "lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-chinese-cantonese.js", + "lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-japanese-anthy--hiraganaonly.js", + "lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-japanese-mozc.js", + "lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-korean-korean.js", + "lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-malayalam-swanalekha.js", + "lib/ve/tests/ce/imetests/input-firefox-mac-native-japanese-hiragana.js", + "lib/ve/tests/ce/imetests/input-firefox-mac-native-japanese-katakana.js", + "lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-chinese-cantonese.js", + "lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-japanese-anthy--hiraganaonly.js", + "lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-japanese-mozc.js", + "lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-korean-korean.js", + "lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-malayalam.swanalekha.js", + "lib/ve/tests/ce/imetests/input-firefox-win7-chinese-traditional-handwriting.js", + "lib/ve/tests/ce/imetests/input-firefox-win7-greek.js", + "lib/ve/tests/ce/imetests/input-firefox-win7-welsh.js", + "lib/ve/tests/ce/imetests/input-ie9-win7-chinese-traditional-handwriting.js", + "lib/ve/tests/ce/imetests/input-ie9-win7-greek.js", + "lib/ve/tests/ce/imetests/input-ie9-win7-korean.js", + "lib/ve/tests/ce/imetests/input-ie9-win7-welsh.js", + "lib/ve/tests/ce/imetests/input-ie11-win8.1-korean.js", + "lib/ve/tests/ce/imetests/input-safari-mac-native-japanese-hiragana.js", + "lib/ve/tests/ce/imetests/input-safari-mac-native-japanese-katakana.js", + "lib/ve/tests/ce/imetests/leftarrow-chromium-ubuntu-none.js", + "lib/ve/tests/ce/imetests/leftarrow-firefox-ubuntu-none.js", + "lib/ve/tests/ce/imetests/leftarrow-ie9-win7-none.js", + "lib/ve/src/ve.freeze.js", + "lib/ve/rebaser/src/dm/ve.dm.RebaseServer.js", + "lib/ve/tests/dm/ve.dm.TestRebaseClient.js", + "lib/ve/tests/dm/ve.dm.TestRebaseServer.js" + ], + "dependencies": [ + "unicodejs", + "ext.visualEditor.core", + "ext.visualEditor.mwcore", + "ext.visualEditor.mwformatting", + "ext.visualEditor.mwlink", + "ext.visualEditor.mwgallery", + "ext.visualEditor.mwimage", + "ext.visualEditor.mwmeta", + "ext.visualEditor.mwtransclusion", + "ext.visualEditor.mwalienextension", + "ext.visualEditor.language", + "ext.visualEditor.experimental", + "ext.visualEditor.desktopArticleTarget.init", + "ext.visualEditor.desktopArticleTarget", + "ext.visualEditor.rebase" + ] + }, "ResourceFileModulePaths": { "localBasePath": "", "remoteExtPath": "VisualEditor" diff --git a/includes/VisualEditorHooks.php b/includes/VisualEditorHooks.php index 8f64e39ffa..10d06edebd 100644 --- a/includes/VisualEditorHooks.php +++ b/includes/VisualEditorHooks.php @@ -970,207 +970,6 @@ class VisualEditorHooks { ] ); } - /** - * Handler for the ResourceLoaderTestModules hook given we can't do this statically yet. - * - * @param array &$testModules The ResourceLoader test modules array - * @param ResourceLoader &$resourceLoader The ResourceLoader controller - */ - public static function onResourceLoaderTestModules( - array &$testModules, - ResourceLoader &$resourceLoader - ) { - $testModules['qunit']['ext.visualEditor.test'] = [ - 'styles' => [ - // jsdifflib - 'lib/ve/lib/jsdifflib/diffview.css', - ], - 'scripts' => [ - // Promise.finally polyfill. Can be removed when CI uses Chrome >= 64 - 'lib/proposal-promise-finally/polyfill.js', - // MW config preload - 'modules/ve-mw/tests/mw-preload.js', - // jsdifflib - 'lib/ve/lib/jsdifflib/diffview.js', - 'lib/ve/lib/jsdifflib/difflib.js', - // QUnit plugin - 'lib/ve/tests/ve.qunit.js', - // VisualEditor Tests - 'lib/ve/tests/ve.test.utils.js', - 'modules/ve-mw/tests/ve.test.utils.js', - 'lib/ve/tests/ve.test.js', - 'lib/ve/tests/ve.EventSequencer.test.js', - 'lib/ve/tests/ve.Scheduler.test.js', - 'lib/ve/tests/ve.Range.test.js', - 'lib/ve/tests/ve.Document.test.js', - 'lib/ve/tests/ve.Node.test.js', - 'lib/ve/tests/ve.BranchNode.test.js', - 'lib/ve/tests/ve.LeafNode.test.js', - // VisualEditor DataModel Tests - 'lib/ve/tests/dm/ve.dm.example.js', - 'lib/ve/tests/dm/ve.dm.Annotation.test.js', - 'lib/ve/tests/dm/ve.dm.AnnotationSet.test.js', - 'lib/ve/tests/dm/ve.dm.LinkAnnotation.test.js', - 'lib/ve/tests/dm/ve.dm.NodeFactory.test.js', - 'lib/ve/tests/dm/ve.dm.Node.test.js', - 'lib/ve/tests/dm/ve.dm.Converter.test.js', - 'lib/ve/tests/dm/ve.dm.SourceConverter.test.js', - 'lib/ve/tests/dm/ve.dm.BranchNode.test.js', - 'lib/ve/tests/dm/ve.dm.LeafNode.test.js', - 'lib/ve/tests/dm/nodes/ve.dm.TextNode.test.js', - 'modules/ve-mw/tests/dm/nodes/ve.dm.MWTransclusionNode.test.js', - 'lib/ve/tests/dm/ve.dm.Document.test.js', - 'modules/ve-mw/tests/dm/ve.dm.Document.test.js', - 'lib/ve/tests/dm/ve.dm.HashValueStore.test.js', - 'lib/ve/tests/dm/ve.dm.InternalList.test.js', - 'lib/ve/tests/dm/ve.dm.LinearData.test.js', - 'lib/ve/tests/dm/ve.dm.Transaction.test.js', - 'lib/ve/tests/dm/ve.dm.TransactionBuilder.test.js', - 'lib/ve/tests/dm/ve.dm.Change.test.js', - 'lib/ve/tests/dm/ve.dm.TreeModifier.test.js', - 'lib/ve/tests/dm/ve.dm.TransactionProcessor.test.js', - 'lib/ve/tests/dm/ve.dm.Surface.test.js', - 'lib/ve/tests/dm/ve.dm.SurfaceFragment.test.js', - 'modules/ve-mw/tests/dm/ve.dm.SurfaceFragment.test.js', - 'lib/ve/tests/dm/ve.dm.SourceSurfaceFragment.test.js', - 'lib/ve/tests/dm/ve.dm.ModelRegistry.test.js', - 'lib/ve/tests/dm/ve.dm.MetaList.test.js', - 'lib/ve/tests/dm/ve.dm.Scalable.test.js', - 'lib/ve/tests/dm/selections/ve.dm.LinearSelection.test.js', - 'lib/ve/tests/dm/selections/ve.dm.NullSelection.test.js', - 'lib/ve/tests/dm/selections/ve.dm.TableSelection.test.js', - 'lib/ve/tests/dm/lineardata/ve.dm.FlatLinearData.test.js', - 'lib/ve/tests/dm/lineardata/ve.dm.ElementLinearData.test.js', - 'modules/ve-mw/tests/dm/ve.dm.mwExample.js', - 'modules/ve-mw/tests/dm/ve.dm.Converter.test.js', - 'modules/ve-mw/tests/dm/ve.dm.MWImageModel.test.js', - 'modules/ve-mw/tests/dm/ve.dm.MWInternalLinkAnnotation.test.js', - // VisualEditor ContentEditable Tests - 'lib/ve/tests/ce/ve.ce.test.js', - 'lib/ve/tests/ce/ve.ce.Document.test.js', - 'modules/ve-mw/tests/ce/ve.ce.Document.test.js', - 'lib/ve/tests/ce/ve.ce.Surface.test.js', - 'modules/ve-mw/tests/ce/ve.ce.Surface.test.js', - 'lib/ve/tests/ce/ve.ce.RangeState.test.js', - 'lib/ve/tests/ce/ve.ce.TextState.test.js', - 'lib/ve/tests/ce/ve.ce.NodeFactory.test.js', - 'lib/ve/tests/ce/ve.ce.AnnotationFactory.test.js', - 'lib/ve/tests/ce/ve.ce.Node.test.js', - 'lib/ve/tests/ce/ve.ce.BranchNode.test.js', - 'lib/ve/tests/ce/ve.ce.ContentBranchNode.test.js', - 'modules/ve-mw/tests/ce/ve.ce.ContentBranchNode.test.js', - 'lib/ve/tests/ce/ve.ce.LeafNode.test.js', - 'lib/ve/tests/ce/ve.ce.Selection.test.js', - 'lib/ve/tests/ce/keydownhandlers/ve.ce.LinearArrowKeyDownHandler.test.js', - 'lib/ve/tests/ce/keydownhandlers/ve.ce.LinearDeleteKeyDownHandler.test.js', - 'lib/ve/tests/ce/keydownhandlers/ve.ce.LinearEnterKeyDownHandler.test.js', - 'lib/ve/tests/ce/keydownhandlers/ve.ce.LinearEscapeKeyDownHandler.test.js', - 'lib/ve/tests/ce/keydownhandlers/ve.ce.TableArrowKeyDownHandler.test.js', - 'lib/ve/tests/ce/keydownhandlers/ve.ce.TableDeleteKeyDownHandler.test.js', - 'lib/ve/tests/ce/keydownhandlers/ve.ce.TableEnterKeyDownHandler.test.js', - 'lib/ve/tests/ce/keydownhandlers/ve.ce.TableF2KeyDownHandler.test.js', - 'lib/ve/tests/ce/nodes/ve.ce.ResizableNode.test.js', - 'lib/ve/tests/ce/nodes/ve.ce.TextNode.test.js', - 'lib/ve/tests/ce/nodes/ve.ce.TableNode.test.js', - // VisualEditor UI Tests - 'lib/ve/tests/ui/ve.ui.Trigger.test.js', - 'lib/ve/tests/ui/ve.ui.Sequence.test.js', - 'lib/ve/tests/ui/ve.ui.DiffElement.test.js', - 'lib/ve/tests/ui/ve.ui.PreviewElement.test.js', - 'modules/ve-mw/tests/ui/ve.ui.DiffElement.test.js', - // VisualEditor Actions Tests - 'lib/ve/tests/ui/actions/ve.ui.AnnotationAction.test.js', - 'lib/ve/tests/ui/actions/ve.ui.ContentAction.test.js', - 'lib/ve/tests/ui/actions/ve.ui.FormatAction.test.js', - 'modules/ve-mw/tests/ui/actions/ve.ui.FormatAction.test.js', - 'lib/ve/tests/ui/actions/ve.ui.IndentationAction.test.js', - 'lib/ve/tests/ui/actions/ve.ui.LinkAction.test.js', - 'modules/ve-mw/tests/ui/actions/ve.ui.MWLinkAction.test.js', - 'lib/ve/tests/ui/actions/ve.ui.ListAction.test.js', - 'lib/ve/tests/ui/actions/ve.ui.TableAction.test.js', - 'lib/ve/tests/ui/actions/ve.ui.WindowAction.test.js', - // VisualEditor DataTransferHandler tests - 'lib/ve/tests/ui/ve.ui.DataTransferHandlerFactory.test.js', - 'lib/ve/tests/ui/datatransferhandlers/ve.ui.DSVFileTransferHandler.test.js', - 'lib/ve/tests/ui/datatransferhandlers/ve.ui.UrlStringTransferHandler.test.js', - 'modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js', - 'modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.UrlStringTransferHandler.test.js', - // VisualEditor initialization Tests - 'modules/ve-mw/tests/init/targets/ve.init.mw.DesktopArticleTarget.test.js', - // IME tests - 'lib/ve/tests/ce/ve.ce.TestRunner.js', - 'lib/ve/tests/ce/ve.ce.imetests.test.js', - 'lib/ve/tests/ce/imetests/backspace-chromium-ubuntu-none.js', - 'lib/ve/tests/ce/imetests/backspace-firefox-ubuntu-none.js', - 'lib/ve/tests/ce/imetests/backspace-ie9-win7-none.js', - 'lib/ve/tests/ce/imetests/home-firefox-win7-none.js', - 'lib/ve/tests/ce/imetests/input-chrome-mac-native-japanese-hiragana.js', - 'lib/ve/tests/ce/imetests/input-chrome-mac-native-japanese-katakana.js', - 'lib/ve/tests/ce/imetests/input-chrome-win7-chinese-traditional-handwriting.js', - 'lib/ve/tests/ce/imetests/input-chrome-win7-greek.js', - 'lib/ve/tests/ce/imetests/input-chrome-win7-polish.js', - 'lib/ve/tests/ce/imetests/input-chrome-win7-welsh.js', - 'lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-chinese-cantonese.js', - 'lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-japanese-anthy--hiraganaonly.js', - 'lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-japanese-mozc.js', - 'lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-korean-korean.js', - 'lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-malayalam-swanalekha.js', - 'lib/ve/tests/ce/imetests/input-firefox-mac-native-japanese-hiragana.js', - 'lib/ve/tests/ce/imetests/input-firefox-mac-native-japanese-katakana.js', - 'lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-chinese-cantonese.js', - 'lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-japanese-anthy--hiraganaonly.js', - 'lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-japanese-mozc.js', - 'lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-korean-korean.js', - 'lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-malayalam.swanalekha.js', - 'lib/ve/tests/ce/imetests/input-firefox-win7-chinese-traditional-handwriting.js', - 'lib/ve/tests/ce/imetests/input-firefox-win7-greek.js', - 'lib/ve/tests/ce/imetests/input-firefox-win7-welsh.js', - 'lib/ve/tests/ce/imetests/input-ie9-win7-chinese-traditional-handwriting.js', - 'lib/ve/tests/ce/imetests/input-ie9-win7-greek.js', - 'lib/ve/tests/ce/imetests/input-ie9-win7-korean.js', - 'lib/ve/tests/ce/imetests/input-ie9-win7-welsh.js', - 'lib/ve/tests/ce/imetests/input-ie11-win8.1-korean.js', - 'lib/ve/tests/ce/imetests/input-safari-mac-native-japanese-hiragana.js', - 'lib/ve/tests/ce/imetests/input-safari-mac-native-japanese-katakana.js', - 'lib/ve/tests/ce/imetests/leftarrow-chromium-ubuntu-none.js', - 'lib/ve/tests/ce/imetests/leftarrow-firefox-ubuntu-none.js', - 'lib/ve/tests/ce/imetests/leftarrow-ie9-win7-none.js', - 'lib/ve/src/ve.freeze.js', - // Rebaser infrastructure - 'lib/ve/rebaser/src/dm/ve.dm.RebaseServer.js', - 'lib/ve/tests/dm/ve.dm.TestRebaseClient.js', - 'lib/ve/tests/dm/ve.dm.TestRebaseServer.js', - ], - 'dependencies' => [ - 'unicodejs', - 'ext.visualEditor.core', - 'ext.visualEditor.mwcore', - 'ext.visualEditor.mwformatting', - 'ext.visualEditor.mwlink', - 'ext.visualEditor.mwgallery', - 'ext.visualEditor.mwimage', - 'ext.visualEditor.mwmeta', - 'ext.visualEditor.mwtransclusion', - 'ext.visualEditor.mwalienextension', - 'ext.visualEditor.language', - 'ext.visualEditor.experimental', - 'ext.visualEditor.desktopArticleTarget.init', - 'ext.visualEditor.desktopArticleTarget', - 'ext.visualEditor.rebase' - ], - 'localBasePath' => dirname( __DIR__ ), - 'remoteExtPath' => 'VisualEditor', - ]; - - $testModules['qunit']['test.VisualEditor'] = [ - 'dependencies' => [ - 'ext.visualEditor.test' - ], - 'localBasePath' => dirname( __DIR__ ), - 'remoteExtPath' => 'VisualEditor', - ]; - } - /** * Ensures that we know whether we're running inside a parser test. *