Skip to content

Commit

Permalink
Rewrite to JS
Browse files Browse the repository at this point in the history
  • Loading branch information
mdevils committed Aug 26, 2015
1 parent c33c7cd commit aaf89ca
Show file tree
Hide file tree
Showing 9 changed files with 881 additions and 1,248 deletions.
14 changes: 0 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,16 +1,2 @@
lib-cov
*.seed
*.log
*.csv
*.dat
*.out
*.pid
*.gz

pids
logs
results

npm-debug.log

node_modules
2 changes: 0 additions & 2 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
src
test
benchmark
Makefile
32 changes: 0 additions & 32 deletions benchmark/benchmark.coffee

This file was deleted.

56 changes: 56 additions & 0 deletions benchmark/benchmark.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
var CssSelectorParser = require('../index').CssSelectorParser;
var parser = new CssSelectorParser;

parser.registerAttrEqualityMods('^', '$', '*', '~');
parser.registerNestingOperators('>', '+', '~');
parser.enableSubstitutes();
parser.registerSelectorPseudos('has');

function benchmark(name, tests) {
var c;
c = 10000;
console.log(name + ' ' + c + ' times.');
Object.keys(tests).forEach(function(testName) {
var cb, i, start, time;
cb = tests[testName];
i = 0;
start = new Date();
while (i < c) {
cb();
i++;
}
time = (new Date()) - start;
return console.log(' "' + testName + '": ' + time + 'ms, ' + (Math.round(c / time)) + 'op/msec');
});
return console.log('');
}

benchmark('Parse test', {
'a': (function() {
return parser.parse('a');
}),
'a,b,c': (function() {
return parser.parse('a,b,c');
}),
'.x.y.z': (function() {
return parser.parse('.x.y.z');
}),
':has(a)': (function() {
return parser.parse(':has(a)');
}),
':lte(a)': (function() {
return parser.parse(':lte(a)');
}),
'[attr=value]': (function() {
return parser.parse('[attr=value]');
}),
'[attr="value"]': (function() {
return parser.parse('[attr="value"]');
}),
'[attr=\'value\']': (function() {
return parser.parse('[attr=\'value\']');
}),
'a[href^=/], .container:has(nav) > a[href]:lt($var)': (function() {
return parser.parse('a[href^=/], .container:has(nav) > a[href]:lt($var)');
})
});
Loading

0 comments on commit aaf89ca

Please sign in to comment.