From b5507c33a77b6ed3500a740c9fa48f40d54fdf09 Mon Sep 17 00:00:00 2001 From: David Greenspan Date: Wed, 13 Aug 2014 15:02:11 -0700 Subject: [PATCH] Start view_tests for Blaze Want to test view.onRendered and view.onMaterialized while nailing down their API. --- packages/blaze/package.js | 5 +++-- packages/blaze/view_tests.js | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 packages/blaze/view_tests.js diff --git a/packages/blaze/package.js b/packages/blaze/package.js index 53dfa67679..a9c1e15d2f 100644 --- a/packages/blaze/package.js +++ b/packages/blaze/package.js @@ -39,7 +39,8 @@ Package.on_test(function (api) { api.use('tinytest'); api.use('jquery'); // strong dependency, for testing jQuery backend api.use('blaze'); - api.use(['test-helpers', 'underscore'], 'client'); + api.use('test-helpers'); + api.use('underscore'); - // ... + api.add_files('view_tests.js'); }); diff --git a/packages/blaze/view_tests.js b/packages/blaze/view_tests.js new file mode 100644 index 0000000000..4e6901220b --- /dev/null +++ b/packages/blaze/view_tests.js @@ -0,0 +1,31 @@ +if (Meteor.isClient) { + + Tinytest.add("blaze - view - callbacks", function (test) { + var R = Blaze._ReactiveVar('foo'); + + var buf = ''; + + var v = Blaze.View(function () { + return R.get(); + }); + + v.onViewCreated(function () { + buf += 'c'; + }); + v.onViewDestroyed(function () { + buf += 'd'; + }); + + test.equal(buf, ''); + + var div = document.createElement("DIV"); + Blaze.insert(Blaze.render(v), div); + test.equal(buf, 'c'); + test.equal(canonicalizeHtml(div.innerHTML), "foo"); + + Blaze.remove(v); + test.equal(buf, 'cd'); + test.equal(canonicalizeHtml(div.innerHTML), ""); + }); + +}