Benutzer:Schnark/js/rpc.js/test.js
aus Wikipedia, der freien Enzyklopädie
< Benutzer:Schnark | js | rpc.js
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
//<nowiki>
/*global mediaWiki, QUnit*/
(function ($, mw, rpc) {
"use strict";
QUnit.module('rpc');
QUnit.test('Umgebung', function (assert) {
assert.expect(9);
assert.ok(rpc, 'libs.rpc vorhanden');
assert.ok(rpc.version, 'rpc.version vorhanden');
assert.ok(rpc.register, 'rpc.register vorhanden');
assert.ok(rpc.define, 'rpc.define vorhanden');
assert.ok(rpc.preload, 'rpc.preload vorhanden');
assert.ok(rpc.exists, 'rpc.exists vorhanden');
assert.ok(rpc.call, 'rpc.call vorhanden');
assert.ok(rpc.stub, 'rpc.stub vorhanden');
assert.ok(rpc.ret, 'rpc.ret vorhanden');
});
QUnit.test('Vorhandenes Modul laden', function (assert) {
var stub, cont;
assert.expect(5);
assert.ok(rpc.register('rpc-qunit-1', 'Benutzer:Schnark/js/rpc.js/test.js/data.js'),
'Funktion rpc-qunit-1 erfolgreich registriert');
assert.ok(!rpc.register('rpc-qunit-1', 'https://this.is.an.invalid/file.js'),
'Funktion rpc-qunit-1 lässt sich nicht mehr registrieren');
assert.ok(rpc.exists('rpc-qunit-1'), 'rpc-qunit-1 existiert');
cont = assert.async(2);
rpc.call('rpc-qunit-1', 1, 2, 3).then(function (result) {
assert.strictEqual(result, '1-2-3', 'rpc-qunit-1 erfolgreich aufgerufen');
cont();
});
stub = rpc.stub('rpc-qunit-1');
stub('a', 'b', 'c').then(function (result) {
assert.strictEqual(result, 'a-b-c', 'rpc-qunit-1 erfolgreich aufgerufen über stub');
cont();
});
});
QUnit.test('Fehlendes Modul laden', function (assert) {
var timeout, cont;
assert.expect(4);
assert.ok(rpc.register('rpc-qunit-2', 'https://this.is.an.invalid/file.js'),
'rpc-qunit-2 erfolgreich registriert');
timeout = rpc.timeout;
rpc.timeout = 1000;
cont = assert.async(2);
rpc.call('rpc-qunit-2').then(null, function (error) {
assert.strictEqual(error, 'timeout', 'rpc-qunit-2 erzeugt timeout-Fehler');
cont();
});
rpc.timeout = timeout;
assert.ok(!rpc.exists('rpc-qunit-3'), 'rpc-qunit-3 existiert nicht');
rpc.call('rpc-qunit-3').then(null, function (error) {
assert.strictEqual(error, 'missing', 'rpc-qunit-3 erzeugt missing-Fehler');
cont();
});
});
})(jQuery, mediaWiki, mediaWiki.libs.rpc);
//</nowiki>