diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index 96e19095eb..04f3b09430 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -13,7 +13,7 @@ Package.on_use(function (api) { api.use('session'); - api.use(['spark', 'livedata', 'templating', 'deps'], 'client'); + api.use(['ui', 'livedata', 'deps'], 'client'); api.add_files([ 'driver.css', diff --git a/packages/ui/component.js b/packages/ui/component.js index ee2b0a82f1..45b1f1d381 100644 --- a/packages/ui/component.js +++ b/packages/ui/component.js @@ -565,6 +565,10 @@ _.extend(Component.prototype, { result = If; } else if (id === 'each') { result = Each; + } else if (id === 'unless') { + result = Unless; + } else if (id === 'with') { + result = Component; } else if (id in global) { result = global[id]; thisToBind = self.getData(); diff --git a/packages/ui/library.js b/packages/ui/library.js index eeb9e834bb..ffec3d572f 100644 --- a/packages/ui/library.js +++ b/packages/ui/library.js @@ -1,14 +1,24 @@ // @export If If = Component.extend({ - init: function () { - if (! this.getArg('content')) - throw new Error("If requires content"); - }, render: function (buf) { - if (this.getArg('data')) - buf.component(this.getArg('content').create()); - else if (this.getArg('elseContent')) - buf.component(this.getArg('elseContent')); + if (this.getArg('data')) { + if (this.getArg('content')) + buf.component(this.getArg('content').create()); + } else if (this.getArg('elseContent')) { + buf.component(this.getArg('elseContent').create()); + } + } +}); + +// @export Unless +Unless = Component.extend({ + render: function (buf) { + if (! this.getArg('data')) { + if (this.getArg('content')) + buf.component(this.getArg('content').create()); + } else if (this.getArg('elseContent')) { + buf.component(this.getArg('elseContent').create()); + } } });