diff --git a/core/modules/wiki.js b/core/modules/wiki.js index 87d78344e..c3f272348 100755 --- a/core/modules/wiki.js +++ b/core/modules/wiki.js @@ -50,7 +50,7 @@ exports.getTextReference = function(textRef,defaultText,currTiddlerTitle) { if(tr.field) { var tiddler = this.getTiddler(title); if(tr.field === "title") { // Special case so we can return the title of a non-existent tiddler - return title; + return title || defaultText; } else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) { return tiddler.getFieldString(tr.field); } else { diff --git a/editions/test/tiddlers/tests/test-filters.js b/editions/test/tiddlers/tests/test-filters.js index 18545221b..3103af17a 100644 --- a/editions/test/tiddlers/tests/test-filters.js +++ b/editions/test/tiddlers/tests/test-filters.js @@ -621,6 +621,8 @@ Tests the filtering mechanism. }); it("should handle indirect operands", function() { + expect(wiki.filterTiddlers("[{!!missing}]").join(",")).toBe(""); + expect(wiki.filterTiddlers("[{!!title}]").join(",")).toBe(""); expect(wiki.filterTiddlers("[prefix{Tiddler8}] +[sort[title]]").join(",")).toBe("Tiddler Three,TiddlerOne"); expect(wiki.filterTiddlers("[modifier{Tiddler8!!test-field}] +[sort[title]]").join(",")).toBe("TiddlerOne"); var fakeWidget = {wiki: wiki, getVariable: function() {return "Tiddler Three";}};