From a6fe56385a46486406527c3efb026f55d0c9d5c6 Mon Sep 17 00:00:00 2001 From: Andy Chu Date: Mon, 18 Jan 2010 01:07:34 -0500 Subject: [PATCH] jslint --- lib/recipe.js | 4 ++-- lib/recipe/plugins.js | 36 +++++++++++++++++++----------------- test/plugins-test.js | 5 +++++ 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/lib/recipe.js b/lib/recipe.js index 7212b5f..b7cd644 100644 --- a/lib/recipe.js +++ b/lib/recipe.js @@ -152,7 +152,7 @@ var Templates = function(templatesDir) { var FileHandler = function( docStack, sourceTree, buildDoc, indexBuilder, copy, options) { - var pm = plugins.PluginManager(sourceTree); + var pm = new plugins.PluginManager(sourceTree); var that = { numGenerated: 0, @@ -492,7 +492,7 @@ exports.recipeApp = recipeApp = function(options) { // .template // .hidden // .keep-going? - var docStack = util.VarStack(defaultDoc, options.get('vars')); + var docStack = new util.VarStack(defaultDoc, options.get('vars')); docStack.useFileSystem(sourceTree); var indexBuilder = doc.IndexBuilder(sourceTree, docStack, buildDoc); diff --git a/lib/recipe/plugins.js b/lib/recipe/plugins.js index 653f016..92f88cc 100644 --- a/lib/recipe/plugins.js +++ b/lib/recipe/plugins.js @@ -45,23 +45,26 @@ var readPlugins = exports.readPlugins = function(sourceTree, dir) { pluginModule(PLUGINS); log.info('module: %s', module); return PLUGINS; -} +}; // Manages a stack of plugins var PluginManager = exports.PluginManager = function(sourceTree) { - var that = {}, - pluginStack = []; + this.sourceTree = sourceTree; + this.pluginStack = []; +}; - that.empty = function() { - return pluginStack.length === 0; - } +PluginManager.prototype = { + + empty: function() { + return this.pluginStack.length === 0; + }, // Mutates the docStack - that.onDoc = function(docStack) { + onDoc: function(docStack) { // Now push all __plugins.js functions var numPushed = 0; - for (var i = 0; i < pluginStack.length; i++) { - var entry = pluginStack[i]; + for (var i = 0; i < this.pluginStack.length; i++) { + var entry = this.pluginStack[i]; if (entry.onDocPush) { //log.info('Running onDocPush %s', i); try { @@ -85,15 +88,14 @@ var PluginManager = exports.PluginManager = function(sourceTree) { } } return numPushed; - } + }, - that.enterDir = function(dirName) { - pluginStack.push(readPlugins(sourceTree, dirName)); - } + enterDir: function(dirName) { + this.pluginStack.push(readPlugins(this.sourceTree, dirName)); + }, - that.exitDir = function() { - pluginStack.pop(); + exitDir: function() { + this.pluginStack.pop(); } - return that; -} +}; diff --git a/test/plugins-test.js b/test/plugins-test.js index 0132fd5..0b10e1c 100644 --- a/test/plugins-test.js +++ b/test/plugins-test.js @@ -52,5 +52,10 @@ exports.testPluginsDontLeakGlobals = function() { assert.eq(3, result.a); } +exports.testPluginManager = function() { + var fs = {contentsOf: function() return 'yo'}; + var pm = new plugins.PluginManager(fs); +} + if (require.main === module.id) require("test/runner").run(exports);