aboutsummaryrefslogtreecommitdiff
path: root/src/js/fiveui/injected/compute.js
diff options
context:
space:
mode:
authorGravatar Rogan Creswick <creswick@gmail.com>2013-06-13 12:06:09 -0700
committerGravatar Rogan Creswick <creswick@gmail.com>2013-06-13 12:06:09 -0700
commit0dcf39a7de6ddb09011e25ec5a1a6ebcff2f1fc5 (patch)
tree89bbccaba73c35bfec1f4c108d92d66d56a63ef9 /src/js/fiveui/injected/compute.js
parent9683b9b075ce96ba0477f7ee746246dba178c25e (diff)
added more semantically rich tests to headless test, and fixed the bugs that those revealed re: the new rule/ruleset formats
Diffstat (limited to 'src/js/fiveui/injected/compute.js')
-rw-r--r--src/js/fiveui/injected/compute.js41
1 files changed, 31 insertions, 10 deletions
diff --git a/src/js/fiveui/injected/compute.js b/src/js/fiveui/injected/compute.js
index 8efc8f7..4d76335 100644
--- a/src/js/fiveui/injected/compute.js
+++ b/src/js/fiveui/injected/compute.js
@@ -88,9 +88,10 @@
core.port.emit('ReportStats', stats);
};
- core.hash = function(rule, name, node) {
+ core.hash = function(rule, message, node) {
var prob = {
- name: name,
+ name: rule.name,
+ msg: message,
descr: rule.description,
url: window.location.href,
severity: 1,
@@ -195,7 +196,12 @@
/* END of BSD licensed code */
+ /**
+ * @param {!Array.<Rule>} rs A list of Rule objects.
+ */
core.evaluate = function(rs) {
+ console.log("in evaluate");
+ console.log(rs);
var theRule = null;
var date = new Date();
var stats =
@@ -206,8 +212,8 @@
};
fiveui.stats.numElts = 0; // reset stats element counter
- var report = function(name, node) {
- var prob = core.hash(theRule, name, node);
+ var report = function(message, node) {
+ var prob = core.hash(theRule, message, node);
var query = $(node);
if(!query.hasClass(prob.hash)) {
query.addClass(prob.hash);
@@ -225,6 +231,8 @@
report: report
};
+ console.log("theRule.rule");
+ console.log(theRule.rule);
if (theRule.rule) {
try {
// note: fiveui.stats.numElts is updated as a side effect here
@@ -289,25 +297,38 @@
};
var registerBackendListeners = function(port) {
- port.on('SetRules', function(payload) {
+ var assembleRules = function(ruleStrList) {
+ var ruleList = [];
- core.rules = [];
-
- for(var i=0; i<payload.length; ++i) {
+ for(var i=0; i<ruleStrList.length; ++i) {
var moduleStr =
[ '(function(){'
, 'var exports = {};'
- , payload[i]
+ , ruleStrList[i]
, 'return exports;'
, '})()'
].join('\n');
- core.rules.push(eval(moduleStr));
+ console.log("built module string for i="+i);
+ console.log(moduleStr);
+ var evaled = eval(moduleStr);
+ ruleList.push(evaled);
}
+ return ruleList;
+ };
+
+ port.on('SetRules', function(payload) {
+ core.rules = assembleRules(payload);
core.scheduleRules();
registerDomListeners(document);
});
+
+ port.on('ForceEval', function(ruleStrList){
+ var ruleList = assembleRules(ruleStrList);
+ console.log(ruleList);
+ core.evaluate(ruleList);
+ });
};
registerBackendListeners(core.port);