summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwycats <wycats@gmail.com>2010-12-21 09:45:59 -0800
committerwycats <wycats@gmail.com>2010-12-21 09:45:59 -0800
commitfc0d721b96faca5e7af52110acaa68094ea31d26 (patch)
tree38f42872f47d295847de94447f87b933ed5cd1f6
parent355565bb04bced0976dcfdc98bc57007750ed73a (diff)
downloadhandlebars.js-fc0d721b96faca5e7af52110acaa68094ea31d26.zip
handlebars.js-fc0d721b96faca5e7af52110acaa68094ea31d26.tar.gz
handlebars.js-fc0d721b96faca5e7af52110acaa68094ea31d26.tar.bz2
Use pluggable logger rather the puts
-rw-r--r--lib/handlebars/compiler.js9
-rw-r--r--lib/handlebars/vm.js6
-rw-r--r--spec/spec_helper.rb10
3 files changed, 21 insertions, 4 deletions
diff --git a/lib/handlebars/compiler.js b/lib/handlebars/compiler.js
index 2ffd829..d22a0d4 100644
--- a/lib/handlebars/compiler.js
+++ b/lib/handlebars/compiler.js
@@ -99,6 +99,15 @@ Handlebars.registerHelper('if', function(context, fn, inverse) {
}
});
+Handlebars.logger = {
+ DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3, level: 3,
+
+ // override in the host environment
+ log: function(level, str) {},
+}
+
+Handlebars.log = function(level, str) { Handlebars.logger.log(level, str); };
+
// END(BROWSER)
exports.Handlebars = Handlebars;
diff --git a/lib/handlebars/vm.js b/lib/handlebars/vm.js
index ecb67a4..b21bad9 100644
--- a/lib/handlebars/vm.js
+++ b/lib/handlebars/vm.js
@@ -250,8 +250,7 @@ Handlebars.JavaScriptCompiler = function() {};
this.compileChildren(environment);
- //puts(environment.disassemble());
- //puts("")
+ Handlebars.log(Handlebars.logger.DEBUG, environment.disassemble() + "\n\n");
var opcodes = environment.opcodes;
var opcode, name;
@@ -315,8 +314,7 @@ Handlebars.JavaScriptCompiler = function() {};
var fn = Function.apply(this, params);
fn.displayName = "Handlebars.js"
- //puts(fn.toString())
- //puts("")
+ Handlebars.log(Handlebars.logger.DEBUG, fn.toString() + "\n\n");
container.render = fn;
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 289912c..d79f1ae 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -82,6 +82,16 @@ module Handlebars
Handlebars::Spec.js_load('lib/handlebars/utils.js')
Handlebars::Spec.js_load('lib/Handlebars/vm.js')
Handlebars::Spec.js_load('lib/handlebars.js')
+
+ context["Handlebars"]["logger"]["level"] = ENV["DEBUG_JS"] ? context["Handlebars"]["logger"][ENV["DEBUG_JS"]] : 4
+
+ context["Handlebars"]["logger"]["log"] = proc do |level, str|
+ logger_level = context["Handlebars"]["logger"]["level"]
+
+ if logger_level <= level
+ puts str
+ end
+ end
end
end
end