1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-09-12 23:39:41 +00:00
TiddlyWiki5/editions/tw2/source/tiddlywiki/test/js/Filters.js
2012-11-16 21:20:27 +00:00

159 lines
6.0 KiB
JavaScript
Executable File

/*global story, jQuery, document, module, test, same strictEqual store */
(function ($) {
jQuery(document).ready(function () {
module("Filters.js");
/*
* tiddler
*/
test("filterTiddlers: 'tiddler' should be one tiddlers named foo", function () {
var tiddlers = store.filterTiddlers("foo");
strictEqual(tiddlers.length, 1, 'one tiddlers');
strictEqual(tiddlers[0].title, "foo");
});
/*
* [[tiddler]]
*/
test("filterTiddlers: '[[foo]]' should be one tiddlers named foo", function () {
var tiddlers = store.filterTiddlers("[[foo]]");
strictEqual(tiddlers.length, 1, 'one tiddlers');
strictEqual(tiddlers[0].title, "foo");
});
/*
* [[tiddler]][[tiddler]]
*/
test("filterTiddlers: '[[foo]][[foo]]' should be two tiddlers named foo", function () {
var tiddlers = store.filterTiddlers("[[foo]][[foo]]");
strictEqual(tiddlers.length, 2, 'two tiddlers');
strictEqual(tiddlers[0].title, "foo");
strictEqual(tiddlers[1].title, "foo");
});
/*
* [tag[value]]
*/
test("filterTiddlers: '[tag[testTag]]' should be three tiddlers tagged testTag", function () {
var tiddlers = store.filterTiddlers("[tag[testTag]]");
strictEqual(tiddlers.length, 3, 'three tiddlers');
strictEqual(tiddlers[0].title, "testTiddler1");
strictEqual(tiddlers[1].title, "testTiddler2");
strictEqual(tiddlers[2].title, "testTiddler3");
});
test("filterTiddlers: '[tag[oneTag]]' should be one tiddlers tagged oneTag", function () {
var tiddlers = store.filterTiddlers("[tag[oneTag]]");
strictEqual(tiddlers.length, 1, 'one tiddlers');
strictEqual(tiddlers[0].title, "testTiddler1");
});
/*
* combined tags
*/
test("filterTiddlers: '[tag[testTag]][tag[twoTag]]' should be three tiddlers tagged testTag and twoTag", function () {
var tiddlers = store.filterTiddlers("[tag[testTag]][tag[twoTag]]");
strictEqual(tiddlers.length, 3, 'three tiddlers');
strictEqual(tiddlers[0].title, "testTiddler1");
strictEqual(tiddlers[1].title, "testTiddler2");
strictEqual(tiddlers[2].title, "testTiddler3");
});
/*
* [limit[n]]
*/
test("filterTiddlers: '[tag[testTag]][limit[1]]' should be one tiddlers tagged testTag limited with 1", function () {
var tiddlers = store.filterTiddlers("[tag[testTag]][limit[1]]");
strictEqual(tiddlers.length, 1, 'one tiddlers');
strictEqual(tiddlers[0].title, "testTiddler1");
});
test("filterTiddlers: '[tag[testTag]][limit[2]]' should be two tiddlers tagged testTag limited with 2", function () {
var tiddlers = store.filterTiddlers("[tag[testTag]][limit[2]]");
strictEqual(tiddlers.length, 2, 'two tiddlers');
strictEqual(tiddlers[0].title, "testTiddler1");
strictEqual(tiddlers[1].title, "testTiddler2");
});
test("filterTiddlers: '[tag[testTag]][limit[3]]' should be three tiddlers tagged testTag limited with 3", function () {
var tiddlers = store.filterTiddlers("[tag[testTag]][limit[3]]");
strictEqual(tiddlers.length, 3, 'three tiddlers');
strictEqual(tiddlers[0].title, "testTiddler1");
strictEqual(tiddlers[1].title, "testTiddler2");
strictEqual(tiddlers[2].title, "testTiddler3");
});
test("filterTiddlers: '[tag[testTag]][limit[50]]' should be three tiddlers tagged testTag limited with 50", function () {
var tiddlers = store.filterTiddlers("[tag[testTag]][limit[50]]");
strictEqual(tiddlers.length, 3, 'three tiddlers');
strictEqual(tiddlers[0].title, "testTiddler1");
strictEqual(tiddlers[1].title, "testTiddler2");
strictEqual(tiddlers[2].title, "testTiddler3");
});
/*
* [field[value]]
*/
test("filterTiddlers: '[fieldvalue[two]]' should return the tiddler with a fieldvalue 'two'", function () {
var tiddlers = store.filterTiddlers("[fieldvalue[two]]");
strictEqual(tiddlers.length, 1, 'one tiddlers');
strictEqual(tiddlers[0].title, "testTiddler2");
});
test("filterTiddlers: '[fieldvalue[three]]' should return the tiddler with a fieldvalue 'three'", function () {
var tiddlers = store.filterTiddlers("[fieldvalue[three]]");
strictEqual(tiddlers.length, 1, 'one tiddlers');
strictEqual(tiddlers[0].title, "testTiddler3");
});
test("filterTiddlers: '[server.bag[foo]]' should return the tiddler with a fieldvalue 'three'", function () {
var tiddlers = store.filterTiddlers("[server.bag[foo]]");
strictEqual(tiddlers.length, 1, 'one tiddler');
strictEqual(tiddlers[0].title, "testTiddler3");
});
test("filterTiddlers: '[field-thing[bar]]' should return the tiddler with a fieldvalue 'three'", function () {
var tiddlers = store.filterTiddlers("[field-thing[bar]]");
strictEqual(tiddlers.length, 1, 'one tiddler');
strictEqual(tiddlers[0].title, "testTiddler3");
});
/*
* [tag[value]][sort[+title]]
*/
test("filterTiddlers: '[tag[testTag]][sort[+title]]' should return three tiddlers tagged testTag, sorted", function () {
var tiddlers = store.filterTiddlers("[tag[testTag]][sort[+title]]");
strictEqual(tiddlers.length, 3, 'three tiddlers');
strictEqual(tiddlers[0].title, "testTiddler1");
strictEqual(tiddlers[1].title, "testTiddler2");
strictEqual(tiddlers[2].title, "testTiddler3");
});
/*
* [tag[value]][sort[-title]]
*/
test("filterTiddlers: '[tag[testTag]][sort[-title]]' should return three tiddlers tagged testTag, reverse sorted", function () {
var tiddlers = store.filterTiddlers("[tag[testTag]][sort[-title]]");
strictEqual(tiddlers.length, 3, 'three tiddlers');
strictEqual(tiddlers[2].title, "testTiddler1");
strictEqual(tiddlers[1].title, "testTiddler2");
strictEqual(tiddlers[0].title, "testTiddler3");
});
/*
* errors ..
*/
test("filterTiddlers: '[[]]' should return no tiddlers", function () {
var tiddlers = store.filterTiddlers("[[]]");
strictEqual(tiddlers.length, 0, 'no tiddlers');
});
test("filterTiddlers: '[tag[]]' seems to return a tiddler called tag", function () {
var tiddlers = store.filterTiddlers("[tag[]]");
strictEqual(tiddlers.length, 1, 'one tiddlers');
strictEqual(tiddlers[0].title, "tag");
});
});
}(jQuery));