From 6ca89304a18bf4a9c6674ceaf27836e40373469f Mon Sep 17 00:00:00 2001 From: Cameron Fischer Date: Thu, 10 Dec 2020 13:25:53 -0500 Subject: [PATCH] Fix for LinkedLists when using bad filter prefix (#5251) --- core/modules/filters.js | 2 +- editions/test/tiddlers/tests/test-prefixes-filter.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/core/modules/filters.js b/core/modules/filters.js index 4fec05964..2925c515e 100644 --- a/core/modules/filters.js +++ b/core/modules/filters.js @@ -297,7 +297,7 @@ exports.compileFilter = function(filterString) { return filterRunPrefixes[operation.namedPrefix](operationSubFunction, options); } else { return function(results,source,widget) { - results.splice(0,results.length); + results.clear(); results.push($tw.language.getString("Error/FilterRunPrefix")); }; } diff --git a/editions/test/tiddlers/tests/test-prefixes-filter.js b/editions/test/tiddlers/tests/test-prefixes-filter.js index 7c88aeaf2..e84e86cf4 100644 --- a/editions/test/tiddlers/tests/test-prefixes-filter.js +++ b/editions/test/tiddlers/tests/test-prefixes-filter.js @@ -12,6 +12,14 @@ Tests the reduce prefix and filter. /* global $tw, require */ "use strict"; +describe("general filter prefix tests", function() { + it("should handle nonexistent prefixes gracefully", function() { + var wiki = new $tw.Wiki(); + var results = wiki.filterTiddlers("[tag[A]] :nonexistent[tag[B]]"); + expect(results).toEqual(["Filter Error: Unknown prefix for filter run"]); + }); +}); + describe("'reduce' and 'intersection' filter prefix tests", function() { var wiki = new $tw.Wiki();