Benutzer:Schnark/js/browsertest.js/section-links.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";
var edit = 2, other = 5; //mit VE (sonst edit === 1), aber notizen.js (sonst other === 4)
//Reihenfolge: VE, Abschnitt bearbeiten, Abschnitt hinzufügen, Seitenanfang, Anker, noch oben, nach unten, erledigt, Notiz

test('Normaler Artikel', function (S) {
	S.load('Rolf Nevanlinna');
	S.wait();
	S.waitFor('$(".section-links").length > 0', 2000, 'Links an Abschnittsüberschriften erzeugt');
	S.assert('$("#firstHeading .section-links a").length === ' + (1 + other - 2), 'Links an Hauptüberschrift');
	S.assert('$(":header:has(.mw-headline)").eq(0).find(".section-links a").length === ' + (edit + other - 1),
		'Links an erster Abschnittsüberschrift');
	S.assert('$(":header:has(.mw-headline)").eq(1).find(".section-links a").length === ' + (edit + other),
		'Links an zweiter Abschnittsüberschrift');
	S.assert('$(":header:has(.mw-headline)").eq(-1).find(".section-links a").length === ' + (edit + other - 1),
		'Links an letzer Abschnittsüberschrift');

	S.assert('$("#firstHeading .section-links a").eq(1).attr("href")' +
		'.search(/action=edit.*&title=Rolf_Nevanlinna&section=0/) > -1',
		'Korrektes Ziel für Bearbeiten-Link für Einleitung');
	S.assert('$(":header:has(.mw-headline)").eq(0).find(".section-links a").eq(1)' +
		'.attr("href").search(/action=edit.*&title=Rolf_Nevanlinna&section=1/) > -1',
		'Korrektes Ziel für Bearbeiten-Link für ersten Abschnitt');
	S.assert('$("#firstHeading .section-links a").eq(' + edit + ').attr("href") ===' +
		'"#" + $(":header .mw-headline").eq(0).attr("id")',
		'Korrektes Ziel für Link zum nächsten Abschnitt für Einleitung');
	S.assert('$(":header:has(.mw-headline)").eq(0).find(".section-links a").eq(' + (edit + 2) + ').attr("href") ===' +
		'"#" + $(":header .mw-headline").eq(1).attr("id")',
		'Korrektes Ziel für Link zum nächsten Abschnitt für ersten Abschnitt');
	S.assert('$(":header:has(.mw-headline)").eq(1).find(".section-links a").eq(' + (edit + 3) + ').attr("href") ===' +
		'"#" + $(":header .mw-headline").eq(2).attr("id")',
		'Korrektes Ziel für Link zum nächsten Abschnitt für zweiten Abschnitt');
	S.assert('$(":header:has(.mw-headline)").eq(1).find(".section-links a").eq(' + (edit + 2) + ').attr("href") ===' +
		'"#" + $(":header .mw-headline").eq(0).attr("id")',
		'Korrektes Ziel für Link zum vorherigen Abschnitt für zweiten Abschnitt');
	S.assert('$(":header:has(.mw-headline)").eq(0).find(".section-links a").eq(' + (edit + 1) + ').attr("href") ===' +
		'"#" + $(":header .mw-headline").eq(0).attr("id")',
		'Korrektes Ziel für Link zum selben Abschnitt für ersten Abschnitt');
	S.assert('$(":header:has(.mw-headline)").eq(1).find(".section-links a").eq(' + (edit + 1) + ').attr("href") ===' +
		'"#" + $(":header .mw-headline").eq(1).attr("id")',
		'Korrektes Ziel für Link zum selben Abschnitt für zweiten Abschnitt');
});
test('Alte Version', function (S) {
	S.load('Rolf Nevanlinna', {oldid: 122371393});
	S.wait();
	S.waitFor('$(".section-links").length > 0', 2000, 'Links an Abschnittsüberschriften erzeugt');
	S.assert('$("#firstHeading .section-links a").length === ' + (other - 3), 'Links an Hauptüberschrift');
	S.assert('$(":header:has(.mw-headline)").eq(0).find(".section-links a").length === ' + (other - 1),
		'Links an erster Abschnittsüberschrift');
	S.assert('$(":header:has(.mw-headline)").eq(1).find(".section-links a").length === ' + other,
		'Links an zweiter Abschnittsüberschrift');
	S.assert('$(":header:has(.mw-headline)").eq(-1).find(".section-links a").length === ' + (other - 1),
		'Links an letzer Abschnittsüberschrift');
});
test('WP:AU', function (S) { //kein VE
	S.load('Wikipedia:Auskunft');
	S.wait();
	S.waitFor('$(".section-links").length > 0', 3000, 'Links an Abschnittsüberschriften erzeugt');
	S.assert('$("#firstHeading .section-links a").length === ' + (1 + other - 3), 'Links an Hauptüberschrift');
	S.assert('$("h2:has(.mw-headline)").eq(0).find(".section-links a").length === ' + (1 + other + 1),
		'Links an erster h2-Abschnittsüberschrift');
	S.assert('$("h1:has(.mw-headline)").eq(1).find(".section-links a").length === ' + (1 + other),
		'Links an zweiter h1-Abschnittsüberschrift');
	S.assert('$("h2:has(.mw-headline)").eq(-1).find(".section-links a").length === ' + (1 + other - 1 + 2),
		'Links an letzer h2-Abschnittsüberschrift');
	S.assert('$("h2:has(.mw-headline)").eq(-1).find(".section-links a").eq(1).attr("href")' +
		'.search(/action=edit.*&title=Wikipedia%3AAuskunft&section=new/) > -1',
		'Korrektes Ziel für Neuer-Abschnitt-Link für letzten Abschnitt');
});
})(mediaWiki.libs.browsertest.test);