UNPKG

express-yui

Version:

Express extension for YUI Applications

124 lines (102 loc) 3.63 kB
/* * Copyright (c) 2013, Yahoo! Inc. All rights reserved. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ /*jslint node:true, nomen:true*/ "use strict"; var YUITest = require('yuitest'), A = YUITest.Assert, OA = YUITest.ObjectAssert, mockery = require('mockery'), mockYUI, mockExpress, suite, ExpressYUI, configFn; mockYUI = { path: function () { return "/foo/bar"; }, YUI: { version: '1.0' } }; mockExpress = { application: { defaultConfiguration: function () {} } }; suite = new YUITest.TestSuite("yui-test suite"); suite.add(new YUITest.TestCase({ name: "yui-test", setUp: function () { mockery.registerMock('yui', mockYUI); mockery.registerMock('yui/debug', mockYUI); mockery.registerMock('express', mockExpress); mockery.enable({ warnOnReplace: false, warnOnUnregistered: false }); ExpressYUI = require('../../lib/yui.js'); }, tearDown: function () { mockery.deregisterMock('yui'); mockery.deregisterMock('yui/debug'); mockery.deregisterMock('express'); mockery.disable(); }, "test constructor": function () { var obj = new ExpressYUI({}); A.areEqual('/foo/bar', obj.path, 'wrong path of YUI'); A.areEqual('1.0', obj.version, 'wrong version of YUI'); }, "test config": function () { var out, obj = new ExpressYUI({}); out = obj.config({ root: '/myroot', base: '/mybase', comboBase: '/mycombobase', comboSep: '$' }); A.areEqual('/myroot', out.root, 'wrong root'); A.areEqual('/mybase', out.base, 'wrong base'); A.areEqual('/mycombobase', out.comboBase, 'wrong comboBase'); A.areEqual('$', out.comboSep, 'wrong comboSep'); // just get out = obj.config(); A.areEqual('/myroot', out.root, 'wrong root, should be preserved'); A.areEqual('/mybase', out.base, 'wrong base, should be preserved'); A.areEqual('/mycombobase', out.comboBase, 'wrong comboBase, should be preserved'); A.areEqual('$', out.comboSep, 'wrong comboSep, should be preserved'); // customizing values out = obj.config({ root: '/anotherroot' }); A.areEqual('/anotherroot', out.root, 'wrong root, should be overruled'); A.areEqual('/mybase', out.base, 'wrong base, should not be overruled'); A.areEqual('/mycombobase', out.comboBase, 'wrong comboBase, should not be overruled'); A.areEqual('$', out.comboSep, 'wrong comboSep, should not be overruled'); }, "test debugMode": function () { var obj = new ExpressYUI({}), out; A.areSame(obj, obj.debugMode(), 'debugMode should be chainable'); out = obj.config(); A.isTrue(out.debug); A.areEqual('debug', out.filter); A.areEqual('debug', out.logLevel); A.isTrue(out.useBrowserConsole); obj.debugMode({debug: false, filter: 'raw'}); out = obj.config(); A.isFalse(out.debug, 'debug should be overrulled'); A.areEqual('raw', out.filter, 'filter should be overrulled'); }, "test applyConfig": function () { var obj = new ExpressYUI({}); A.areSame(obj, obj.applyConfig({foo: 'bar'}), 'applyConfig should be chainable'); A.areEqual('bar', obj.config().foo, 'applyConfig should set config.foo'); } })); YUITest.TestRunner.add(suite);