Benutzer:Schnark/js/browsertest.js/diff.js

aus Wikipedia, der freien Enzyklopädie

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
/*global mediaWiki*/
(function (test) {
"use strict";
test('Diff von "Burg Gleichenstein (Sachsen)"', function (S) {
	S.load('Burg Gleichenstein (Sachsen)', {oldid: 84164187, diff: 93943267, diffmode: 'source'});
	S.wait();
	S.waitFor('$("[role=\'button\']:contains(\'Verbessert\')").length === 1', 3000,
		'Oberfläche des verbesserten Diffs vorhanden');
	S.assert('$("table.diff[data-mw=\'interface\']:has(tr:contains(\'Zeile 1\'):visible)").length === 1',
		'Normaler Diff sichtbar (1)');
	S.click('[role="button"]:contains("Verbessert")');
	S.waitFor('$("a.enhanced-diff-moved-from").length > 0', 2000, 'Verbesserter Diff erzeugt');
	S.assert('$("table.diff[data-mw=\'interface\']:has(tr:contains(\'Zeile 1\'):visible)").length === 0',
		'Normaler Diff unsichtbar');
	S.click('[role="button"][title^="Konfiguration"]');
	S.waitFor('$("fieldset:contains(\'Konfiguration\'):visible").length === 1', 1000, 'Konfiguration sichtbar');
	S.click('.oo-ui-dropdownWidget:contains("verschachtelt") .oo-ui-dropdownWidget-handle');
	S.click('.oo-ui-labelElement.oo-ui-menuOptionWidget:visible:contains("einfach")');
	S.pause(1000);
	S.click('[role="button"]:contains("Verbessert")');
	S.assert('$("fieldset:contains(\'Konfiguration\'):visible").length === 0', 'Konfiguration unsichtbar');
	S.waitFor('$("del.enhanced-diff-moved-del").length > 0', 1000, 'Verbesserter Diff aktualisiert');
	S.click('[role="button"]:contains("Klassisch")');
	S.assert('$("table.diff[data-mw=\'interface\']:has(tr:contains(\'Zeile 1\'):visible)").length === 1',
		'Normaler Diff sichtbar (2)');
});
/*test('Diff beim Bearbeiten', function (S) {
	S.load('Benutzer:Schnark', {action: 'submit'});
	S.wait();
	S.exec('$("#wpTextbox1").val("foo\\n" + $("#wpTextbox1").val() + "\\n\\n");');
	S.waitFor('$("[role=\'button\'][title=\'Verbesserter Diff\']").length === 1', 4000,
		'Schaltfläche für verbesserten Diff vorhanden');
	S.click('[role="button"][title="Verbesserter Diff"]');
	S.waitFor('$("[role=\'button\']:contains(\'Verbessert\')").length === 1', 2000,
		'Oberfläche des verbesserten Diffs vorhanden (1)');
	S.waitFor('$("ins.enhanced-diff-ins").length === 1', 2000, 'Verbesserter Diff erzeugt');
	S.assert('$("ins.enhanced-diff-ins").text() === "foo"', 'Eine Einfügung');
	S.exec('mw.libs.browsertest.data.diffhtml = $(".schnark-diff").html();');
	S.click('#wpDiff');
	S.wait();
	S.waitFor('$("[role=\'button\']:contains(\'Verbessert\')").length === 1', 2000,
		'Oberfläche des verbesserten Diffs vorhanden (2)');
	S.assert('$("table.diff[data-mw=\'interface\']:visible").length === 1', 'Normaler Diff sichtbar');
	S.click('[role="button"]:contains("Verbessert")');
	S.waitFor('$("ins.enhanced-diff-ins").length > 0', 2000, 'Verbesserter Diff erzeugt');
	S.assert('mw.libs.browsertest.data.diffhtml === $(".schnark-diff").html();', 'Selbes HTML erzeugt');
});*/
test('Einstellungen für den Diff', function (S) {
	S.load('Hexabromcyclododecan', {oldid: 135960517, diff: 136424115, diffmode: 'source'});
	S.wait();
	S.waitFor('$("[role=\'button\']:contains(\'Verbessert\')").length === 1', 3000,
		'Oberfläche des verbesserten Diffs vorhanden (1)');
	S.click('[role="button"][title^="Konfiguration"]');
	S.waitFor('$("fieldset:contains(\'Konfiguration\'):visible").length === 1', 1000, 'Konfiguration sichtbar (1)');
	S.assert('$(".oo-ui-dropdownWidget-handle:contains(\'Klassisch (rot/grün)\')").length === 1', 'Farbschema: klassisch (1)');
	S.assert('$(".oo-ui-dropdownWidget-handle:contains(\'verschachtelt\')").length === 1',
		'Verschiebungen: verschachtelt (1)');
	S.assert('$("label:contains(\'Qualität\')").parents(".oo-ui-fieldLayout").find("input").val() === "30"',
		'Qualität: 30 (1)');
	S.click('[role="button"]:contains("Verbessert")');
	S.waitFor('$(".schnark-diff").find(":nth-child(8)").css("background-color") === "rgb(0, 153, 51)"', 2000,
		'Einstellungen korrekt angewendet (1)');
	S.click('[role="button"][title^="Konfiguration"]');
	S.waitFor('$("fieldset:contains(\'Konfiguration\'):visible").length === 1', 1000, 'Konfiguration sichtbar (2)');
	S.pause(1000);
	S.click('.oo-ui-dropdownWidget:contains("Klassisch (rot/grün)") .oo-ui-dropdownWidget-handle');
	S.click('.oo-ui-labelElement.oo-ui-menuOptionWidget:visible:contains("wikEd")');
	S.click('.oo-ui-dropdownWidget:contains("verschachtelt") .oo-ui-dropdownWidget-handle');
	S.click('.oo-ui-labelElement.oo-ui-menuOptionWidget:visible:contains("gar nicht")');
	S.exec('$("label:contains(\'Qualität\')").parents(".oo-ui-fieldLayout").find("input").val(10).change();');
	S.pause(1000);
	S.click('[role="button"]:contains("Einstellungen speichern")');
	S.pause(2000);
	S.load('Hexabromcyclododecan', {oldid: 135960517, diff: 136424115, diffmode: 'source'});
	S.wait();
	S.waitFor('$("[role=\'button\']:contains(\'Verbessert\')").length === 1', 3000,
		'Oberfläche des verbesserten Diffs vorhanden (2)');
	S.click('[role="button"]:contains("Verbessert")');
	S.waitFor('$(".schnark-diff").find(":nth-child(7)").css("background-color") === "rgb(255, 228, 156)"',
		2000, 'Einstellungen korrekt angewendet (2)');
	S.click('[role="button"][title^="Konfiguration"]');
	S.waitFor('$("fieldset:contains(\'Konfiguration\'):visible").length === 1', 1000, 'Konfiguration sichtbar (3)');
	S.click('[role="button"]:contains("Standardwerte verwenden")');
	S.pause(1000);
	S.click('[role="button"]:contains("Einstellungen speichern")');
	S.pause(2000);
	S.load('Hexabromcyclododecan', {oldid: 135960517, diff: 136424115, diffmode: 'source'});
	S.wait();
	S.waitFor('$("[role=\'button\']:contains(\'Verbessert\')").length === 1', 3000,
		'Oberfläche des verbesserten Diffs vorhanden (3)');
	S.click('[role="button"][title^="Konfiguration"]');
	S.waitFor('$("fieldset:contains(\'Konfiguration\'):visible").length === 1', 1000, 'Konfiguration sichtbar (4)');
	S.assert('$(".oo-ui-dropdownWidget-handle:contains(\'Klassisch (rot/grün)\')").length === 1', 'Farbschema: klassisch (2)');
	S.assert('$(".oo-ui-dropdownWidget-handle:contains(\'verschachtelt\')").length === 1',
		'Verschiebungen: verschachtelt (2)');
	S.assert('$("label:contains(\'Qualität\')").parents(".oo-ui-fieldLayout").find("input").val() === "30"',
		'Qualität: 30 (2)');
	S.click('[role="button"]:contains("Verbessert")');
	S.waitFor('$(".schnark-diff").find(":nth-child(8)").css("background-color") === "rgb(0, 153, 51)"', 2000,
		'Einstellungen korrekt angewendet (3)');
});
test('Diff beim Bearbeiten im VE', function (S) {
	S.load('Benutzer:Schnark', {veaction: 'edit'});
	S.wait();
	S.waitFor('$("html.ve-active").length === 1', 15000, 'VE geladen');
	S.pause(2000);
	S.exec('ve.init.target.getSurface().getModel().getFragment().collapseToEnd().insertContent("Testeinfügung".split(""));');
	S.waitFor('$("[data-old-accesskey=\'s\']").attr("aria-disabled") === "false"', 3000, 'Speicherbutton aktiviert');
	S.click('[data-old-accesskey="s"]');
	S.waitFor('$(".oo-ui-processDialog-actions-other .oo-ui-buttonElement-button").length === 1', 3000,
		'Speichernformular sichtbar');
	S.click('.oo-ui-processDialog-actions-other .oo-ui-buttonElement-button');
	S.waitFor('$(".oo-ui-processDialog [role=\'button\']:contains(\'Verbessert\')").length === 1', 5000,
		'Verbesserter Diff initialisiert');
	S.click('.oo-ui-processDialog [role="button"]:contains("Verbessert")');
	S.waitFor('$(".enhanced-diff-ins").length >= 1', 10000, 'Verbesserter Diff sichtbar');
	S.assert('$(".enhanced-diff-ins").text().indexOf("Testeinfügung") > -1', 'Korrekter Diff');
});
})(mediaWiki.libs.browsertest.test);