$(document).ready(function() { var tests = {}; $("#runit").click(function() { for (var k in tests) { var obj = JSON.parse($("." + k + "_document").text()); for (var i = 0; i < tests[k].length; i++) { var n = tests[k][i]; var cl = k + "_" + n; var b = $("." + cl + "_output.before"); var a = $("." + cl + "_output.after"); var s = $("." + cl + "_selector.selector"); try { a.text(""); JSONSelect.forEach(s.text(), obj, function(m) { a.text($.trim(a.text() + "\n" + JSON.stringify(m, null, " "))); }); } catch(e) { a.text("Error: " + e); } if (a.text() === b.text()) s.addClass("success").removeClass("failure"); else s.addClass("failure").removeClass("success"); } } }); function fetchFile(p, c) { $.get(p, function (data) { $("." + c).text($.trim(data)); }); } function renderTests() { function setClickToggle(cTarget, node) { cTarget.click(function() { node.toggle("medium"); }); } var c = $("
"); for (var k in tests) { c.append($("").text("document: " + k)); var cl = k + "_document"; c.append($("").addClass(cl).addClass("document").text("loading document...")); fetchFile("tests/" + k + ".json", cl); for (var i = 0; i < tests[k].length; i++) { var n = tests[k][i]; var cl = k + "_" + n + "_selector"; var s = $("").addClass(cl).addClass("selector").text("loading selector..."); c.append(s); fetchFile("tests/" + k + "_" + n + ".selector", cl); cl = k + "_" + n + "_output"; var t = $("