Removed all uses of @ in the benchmarker and added a couple :not() tests.
[jquery.git] / build / speed / benchmarker.js
index a04e5ac..707712e 100755 (executable)
@@ -4,14 +4,15 @@
                "div div div", "div div", ".dialog", "div.dialog", "div .dialog",
                "#speech5", "div#speech5", "div #speech5", "div > div", "div.scene div.dialog",
                "div#scene1.scene div.dialog div", "#scene1 #speech1", "body > div.dialog div#speech5",
+               "div:not(#speech5)", "div:not(.dialog)",
                "div:nth-child(even)", "div:nth-child(odd)",
                "div:nth-child(1)", "div:nth-child(2n)",
                "div:nth-child(2n+3)", "div:first-child",
                "div:last-child", "div:only-child",
                "div:contains(CELIA)",
                "div ~ div", "div + div",
-               "div[@class]", "div[@class=dialog]", "div[@class!=dialog]", 
-               "div[@class^=dialog]", "div[@class$=dialog]", "div[@class*=dialog]"
+               "div[class]", "div[class=dialog]", "div[class!=dialog]", 
+               "div[class^=dialog]", "div[class$=dialog]", "div[class*=dialog]"
                ]
 
   jQuery.fn.benchmark = function() {
@@ -20,8 +21,8 @@
         jQuery(this).parent().children("*:gt(1)").remove();
       } catch(e) { }
     })
-    var times = 5;
-    jQuery("#times").html(times);
+    // set # times to run the test in index.html
+    var times = parseInt(jQuery("#times").val());
     jQuery.benchmarker.startingList = this.get();
     benchmark(this.get(), times, jQuery.benchmarker.libraries);
   }
     jQuery("tbody tr:first-child").remove();
     jQuery("td.test").before("<td><input type='checkbox' checked='checked' /></td>");
     jQuery("button.runTests").bind("click", function() {
-      jQuery('td[input:checked] + td.test').benchmark();
+      jQuery('td:has(input:checked) + td.test').benchmark();
     });
 
-    jQuery("button.retryTies").bind("click", function() { jQuery("tr[td.tie] td.test").benchmark() })
+    jQuery("button.retryTies").bind("click", function() { jQuery("tr:has(td.tie) td.test").benchmark() })
 
-    jQuery("button.selectAll").bind("click", function() { jQuery("input[@type=checkbox]").each(function() { this.checked = true }) })
-    jQuery("button.deselectAll").bind("click", function() { jQuery("input[@type=checkbox]").each(function() { this.checked = false }) })
+    jQuery("button.selectAll").bind("click", function() { jQuery("input[type=checkbox]").each(function() { this.checked = true }) })
+    jQuery("button.deselectAll").bind("click", function() { jQuery("input[type=checkbox]").each(function() { this.checked = false }) })
 
     jQuery("#addTest").bind("click", function() {
       jQuery("table").append("<tr><td><input type='checkbox' /></td><td><input type='text' /><button>Add</button></td></tr>");
@@ -52,8 +53,9 @@
       })
     })
 
-    var headers = jQuery.map(jQuery.benchmarker.libraries, function(i) {
-      return "<th>" + i + "</th>"
+    var headers = jQuery.map(jQuery.benchmarker.libraries, function(i,n) {
+      var extra = n == 0 ? "basis - " : "";
+      return "<th>" + extra + i + "</th>"
     }).join("");
 
     jQuery("thead tr").append(headers);
@@ -76,9 +78,6 @@
        var times = times || 50;
        var el = list[0];
        var code = jQuery(el).text().replace(/^-/, "");
-         if(!libraries[0].match(/^jQ/)) {
-           code = code.replace(/@/, "");
-         }
          var timeArr = []
          for(i = 0; i < times + 2; i++) {
            var time = new Date()