diff --git a/core/modules/wiki.js b/core/modules/wiki.js index 2954454d5..5673c9e3b 100755 --- a/core/modules/wiki.js +++ b/core/modules/wiki.js @@ -560,18 +560,22 @@ exports.extractTranscludes = function(parseTreeRoot, title) { for(var t=0; t`) means self-referential transclusion. value = title; diff --git a/editions/test/tiddlers/tests/test-backtranscludes.js b/editions/test/tiddlers/tests/test-backtranscludes.js index cd089df94..afc09af4e 100644 --- a/editions/test/tiddlers/tests/test-backtranscludes.js +++ b/editions/test/tiddlers/tests/test-backtranscludes.js @@ -220,6 +220,22 @@ describe('Backtranscludes and transclude filter tests', function() { }); }); + describe('exclude self when target tiddler is not string', function() { + var wiki = new $tw.Wiki(); + + wiki.addTiddler({ + title: 'TestOutgoing', + text: "<$transclude $tiddler={{TestOutgoing!!title}} $field='created'/> and <$transclude tiddler={{TestOutgoing!!title}} field='created'/>"}); + + it('should have no transclude', function() { + expect(wiki.filterTiddlers('TestOutgoing +[transcludes[]]').join(',')).toBe(''); + }); + + it('should have no back transcludes', function() { + expect(wiki.filterTiddlers('TestOutgoing +[backtranscludes[]]').join(',')).toBe(''); + }); + }); + describe('recognize transclusion defined by widget', function() { var wiki = new $tw.Wiki();