From 44df6fe52f79bee88357afb4fc3d6f4800aa6dde Mon Sep 17 00:00:00 2001 From: Saq Imtiaz Date: Sat, 1 May 2021 11:00:32 +0200 Subject: [PATCH] Fixed issue with widget not being available to filter operator, added test (#5640) --- core/modules/filters/filter.js | 2 +- editions/test/tiddlers/tests/test-prefixes-filter.js | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/modules/filters/filter.js b/core/modules/filters/filter.js index 2e549672b..4be552cff 100644 --- a/core/modules/filters/filter.js +++ b/core/modules/filters/filter.js @@ -20,7 +20,7 @@ exports.filter = function(source,operator,options) { results = [], target = operator.prefix !== "!"; source(function(tiddler,title) { - var list = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title])); + var list = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]),options.widget); if((list.length > 0) === target) { results.push(title); } diff --git a/editions/test/tiddlers/tests/test-prefixes-filter.js b/editions/test/tiddlers/tests/test-prefixes-filter.js index fb8979a83..5546836e3 100644 --- a/editions/test/tiddlers/tests/test-prefixes-filter.js +++ b/editions/test/tiddlers/tests/test-prefixes-filter.js @@ -335,9 +335,12 @@ describe("'reduce' and 'intersection' filter prefix tests", function() { rootWidget.makeChildWidgets(); var anchorWidget = rootWidget.children[0]; rootWidget.setVariable("larger-than-18","[get[text]length[]compare:integer:gteq[18]]"); + rootWidget.setVariable("nr","18"); + rootWidget.setVariable("larger-than-18-with-var","[get[text]length[]compare:integer:gteq]"); expect(wiki.filterTiddlers("[tag[textexample]] :filter[get[text]length[]compare:integer:gteq[18]]",anchorWidget).join(",")).toBe("Red wine,Cheesecake,Chocolate Cake"); expect(wiki.filterTiddlers("[tag[textexample]]",anchorWidget).join(",")).toBe("Sparkling water,Red wine,Cheesecake,Chocolate Cake"); expect(wiki.filterTiddlers("[tag[textexample]filter]",anchorWidget).join(",")).toBe("Red wine,Cheesecake,Chocolate Cake"); + expect(wiki.filterTiddlers("[tag[textexample]filter]",anchorWidget).join(",")).toBe("Red wine,Cheesecake,Chocolate Cake"); }) });