diff --git a/dynamic_template_test.html b/dynamic_template_test.html
index a9c3475..47c09a2 100644
--- a/dynamic_template_test.html
+++ b/dynamic_template_test.html
@@ -20,6 +20,15 @@
{{/with}}
+
+ {{! rename to Template.dynamic in 0.9.4}}
+ {{> UI.dynamic template='_DynamicParentDataOnTemplateDynamic' data=getData}}
+
+
+
+ {{> DynamicTemplate template="WithData"}}
+
+
{{#with 'outer'}}
{{#with 'inner'}}
diff --git a/dynamic_template_test.js b/dynamic_template_test.js
index 506c5b3..484d27d 100644
--- a/dynamic_template_test.js
+++ b/dynamic_template_test.js
@@ -76,6 +76,14 @@ Template.DynamicParentData.helpers({
}
});
+
+Template.DynamicParentDataOnTemplateDynamic.helpers({
+ getData: function () {
+ var res = reactiveData.get();
+ return res;
+ }
+});
+
Template.DynamicWithBlock.helpers({
getTemplate: function () {
// like session.get
@@ -196,6 +204,47 @@ Tinytest.add('DynamicTemplate - Rendering with dynamic parent data', function (t
});
});
+
+Tinytest.add('DynamicTemplate - Rendering with dynamic parent data from Template.dynamic', function (test) {
+ var renderCount = 0;
+ Template.WithData.rendered = function () {
+ renderCount++;
+ };
+
+ // star the data value off as an empty string so the template still renders
+ reactiveData._value = 'init';
+
+ withRenderedTemplate('DynamicParentDataOnTemplateDynamic', function (el) {
+ // we've rendered the template to the page
+ test.equal(renderCount, 1);
+
+ // but no data yet
+ test.equal(el.innerHTML.compact(), 'WithData-init');
+
+ // now set the data
+ reactiveData.set('1');
+ Deps.flush();
+
+ // should not re-render
+ test.equal(renderCount, 1);
+
+ // but data should be updated
+ test.equal(el.innerHTML.compact(), 'WithData-1');
+
+ // now set the data again
+ reactiveData.set('2');
+ Deps.flush();
+
+ // should not re-render
+ test.equal(renderCount, 1);
+
+ // but data should be updated
+ test.equal(el.innerHTML.compact(), 'WithData-2');
+
+ reactiveData.clear();
+ });
+});
+
/*
Tinytest.add('DynamicTemplate - Rendering inherits data correctly', function (test) {
withRenderedTemplate('InheritedParentData', function (el) {