blob: e308b700c7abd5c832d02a987c5b6afb12f1c7f2 (
plain) (
blame)
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
42
43
44
45
46
47
|
'use strict';
const Page = require( 'wdio-mediawiki/Page' ),
Util = require( 'wdio-mediawiki/Util' );
class EditPage extends Page {
get content() { return $( '#wpTextbox1' ); }
get conflictingContent() { return $( '#wpTextbox2' ); }
get displayedContent() { return $( '#mw-content-text .mw-parser-output' ); }
get heading() { return $( '#firstHeading' ); }
get save() { return $( '#wpSave' ); }
get previewButton() { return $( '#wpPreview' ); }
async openForEditing( title ) {
await super.openTitle( title, { action: 'submit', vehidebetadialog: 1, hidewelcomedialog: 1 } );
// Compatibility with CodeMirror extension (T324879)
Util.waitForModuleState( 'mediawiki.base' );
const hasToolbar = await this.save.isExisting() && await browser.execute( () => {
return mw.loader.getState( 'ext.wikiEditor' ) !== null;
} );
if ( !hasToolbar ) {
return;
}
await $( '#wikiEditor-ui-toolbar' ).waitForDisplayed();
const cmButton = $( '.mw-editbutton-codemirror-active' );
if ( await cmButton.isExisting() ) {
await cmButton.click();
await browser.waitUntil( async () => {
return !( await cmButton.getAttribute( 'class' ) ).includes( 'mw-editbutton-codemirror-active' );
} );
}
}
async preview( name, content ) {
await this.openForEditing( name );
await this.content.setValue( content );
await this.previewButton.click();
}
async edit( name, content ) {
await this.openForEditing( name );
await this.content.setValue( content );
await this.save.click();
}
}
module.exports = new EditPage();
|