UNPKG

wiki-plugin-roster

Version:
127 lines (123 loc) 3.63 kB
"use strict"; (function () { // build time tests for roster plugin // see http://mochajs.org/ var expect, includes, parse, wiki; var _require = require('../client/roster'); parse = _require.parse; includes = _require.includes; expect = require('expect.js'); // mock wiki.site(site).flag() wiki = {}; wiki.site = function (site) { return { flag: function flag() { return "//".concat(site, "/favicon.png"); } }; }; // and make wiki global global.wiki = wiki; describe('roster plugin', function () { describe('site markup', function () { it('makes image', function () { var result; result = parse(null, { text: 'fed.wiki.org' }); return expect(result).to.match(/<img class="remote" src="\/\/fed.wiki.org\/favicon.png"/); }); it('has title', function () { var result; result = parse(null, { text: 'fed.wiki.org' }); return expect(result).to.match(/title="fed.wiki.org"/); }); it('has site data', function () { var result; result = parse(null, { text: 'fed.wiki.org' }); return expect(result).to.match(/data-site="fed.wiki.org"/); }); return it('has slug data', function () { var result; result = parse(null, { text: 'fed.wiki.org' }); return expect(result).to.match(/data-slug="welcome-visitors"/); }); }); describe('end of line markup', function () { it('has anchor', function () { var result; result = parse(null, { text: 'fed.wiki.org' }); return expect(result).to.match(/<a class='loadsites' href= "\/#"/); }); it('has title', function () { var result; result = parse(null, { text: 'fed.wiki.org' }); return expect(result).to.match(/title="add these 1 sites\nto neighborhood"/); }); return it('has » at end of line', function () { var result; result = parse(null, { text: 'fed.wiki.org' }); return expect(result).to.match(/>»<\/a><br>/); }); }); describe('category formatting', function () { return it('end of line', function () { var result; result = parse(null, { text: 'students' }); return expect(result).to.match(/students *<br>/); }); }); return describe('category access', function () { var stub; stub = { addClass: function addClass(c) { return this.c = c; }, get: function get(n) { return this; } }; it('announces roster-source', function () { parse(stub, { text: "wiki.org" }); return expect(stub.c).to.be('roster-source'); }); it('has category all', function () { parse(stub, { text: "wiki.org\nfoo.wiki.org" }); return expect(stub.getRoster()).to.eql({ all: ['wiki.org', 'foo.wiki.org'] }); }); it('allows prefix category name', function () { parse(stub, { text: "ward\nwiki.org\nfoo.wiki.org" }); return expect(stub.getRoster().ward).to.eql(['wiki.org', 'foo.wiki.org']); }); return it('allows sufix category name', function () { parse(stub, { text: "wiki.org\nfoo.wiki.org\nward" }); return expect(stub.getRoster().ward).to.eql(['wiki.org', 'foo.wiki.org']); }); }); }); }).call(void 0); //# sourceMappingURL=test.js.map