1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-09-08 13:56:07 +00:00

Add support for variable filter operands

Fixes #583
This commit is contained in:
Jermolene
2014-07-25 15:26:44 +01:00
parent d6cafa9da1
commit be040ea8a2
4 changed files with 58 additions and 22 deletions

View File

@@ -270,6 +270,25 @@ describe("Filter tests", function() {
expect(wiki.filterTiddlers("[modifier{!!modifier}] +[sort[title]]",fakeWidget).join(",")).toBe("$:/TiddlerTwo,a fourth tiddler,one,Tiddler Three");
});
it("should handle variable operands", function() {
var widget = require("$:/core/modules/widgets/widget.js");
// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers
var rootWidget = new widget.widget({
type: "widget",
children: [{type: "widget", children: []}]
},{
wiki: $tw.wiki,
document: $tw.document
});
rootWidget.makeChildWidgets();
var anchorWidget = rootWidget.children[0];
rootWidget.setVariable("myVar","Tidd");
rootWidget.setVariable("myVar2","JoeBloggs");
expect(wiki.filterTiddlers("[prefix<myVar>] +[sort[title]]",anchorWidget).join(",")).toBe("Tiddler Three,TiddlerOne");
expect(wiki.filterTiddlers("[modifier<myVar2>] +[sort[title]]",anchorWidget).join(",")).toBe("TiddlerOne");
});
it("should handle the before and after operators", function() {
expect(wiki.filterTiddlers("[list[TiddlerSeventh]after[TiddlerOne]]").join(",")).toBe("Tiddler Three");
expect(wiki.filterTiddlers("[list[TiddlerSeventh]after[a fourth tiddler]]").join(",")).toBe("MissingTiddler");