|
(function(Platform) { |
|
|
|
describe("oboe performance (real http)", function(){ |
|
|
|
var oboe = Platform.isNode |
|
? require('../../dist/oboe-node.js') |
|
: (window.oboe) |
|
; |
|
|
|
|
|
function url( path ){ |
|
if( Platform.isNode ) { |
|
return 'localhost:4567/' + path; |
|
} else { |
|
return '/testServer/' + path; |
|
} |
|
} |
|
|
|
|
|
it('is benchmarked with a complex jsonpath', function() { |
|
var startTime = now(); |
|
var doneFn = jasmine.createSpy('done'); |
|
var callCount = 0; |
|
|
|
oboe(url('static/json/oneHundredRecords.json')) |
|
.node('!.$result..{age name company}', function(){callCount++}) |
|
.done( doneFn ); |
|
|
|
waitsFor( function(){ return doneFn.calls.length == 1 }, |
|
'the computation under test to be performed', |
|
5000 ) |
|
|
|
runs( function(){ |
|
expect(callCount).toBe(100); |
|
console.log('took ' + (now() - startTime) + 'ms to evaluate a complex ' + |
|
'expression many times, finding 100 matches'); |
|
}); |
|
}) |
|
|
|
it('is benchmarked with a simple jsonpath', function() { |
|
var startTime = now(); |
|
var doneFn = jasmine.createSpy('done'); |
|
var callCount = 0; |
|
|
|
oboe(url('static/json/oneHundredRecords.json')) |
|
.node('name', function(){callCount++}) |
|
.done( doneFn ); |
|
|
|
waitsFor( function(){ return doneFn.calls.length == 1 }, |
|
'the computation under test to be performed', |
|
5000 ) |
|
|
|
runs( function(){ |
|
expect(callCount).toBe(100); |
|
console.log('took ' + (now() - startTime) + 'ms to evaluate a simple ' + |
|
'expression many times, finding 100 matches'); |
|
}); |
|
}) |
|
|
|
|
|
|
|
function now() { |
|
return new Date().valueOf() |
|
} |
|
}); |
|
|
|
})(typeof Platform == 'undefined'? require('../libs/platform.js') : Platform) |
|
|
|
|