Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
test('XVIZJSONProvider#default-ctor init', async t => {
// Ensure no parameter ctor
const provider = new XVIZJSONProvider({source});
await provider.init();
t.ok(provider.valid(), 'Provider is valid');
t.end();
});
test('XVIZJSONProvider#getMessageIterator()', async t => {
const provider = new XVIZJSONProvider({source});
await provider.init();
t.ok(provider.valid(), 'Provider is valid');
// Default to start/end of index file
let iterator = provider.getMessageIterator();
t.equals(iterator.start, 0, 'iterator w/o time starts is 0');
t.equals(iterator.end, 1, 'iterator w/o time is 1');
t.equals(iterator.current, 0, 'iterator w/o time current is 0');
// Clamp to start/end of data
iterator = provider.getMessageIterator({startTime: 1000, endTime: 1012});
t.equals(iterator.start, 0, 'iterator start clamped to beginning');
t.equals(iterator.end, 1, 'iterator end clamped to end');
t.equals(iterator.current, 0, 'iterator current is 0');
// Exact start/end of data
test('XVIZJSONProvider#message iteration', async t => {
const provider = new XVIZJSONProvider({source});
await provider.init();
t.ok(provider.valid(), 'Provider is valid');
const iterator = provider.getMessageIterator({startTime: 1000.5, endTime: 1010.5});
const testMessage = async timestamp => {
t.ok(iterator.valid());
const message = await provider.xvizMessage(iterator);
t.ok(message, 'message data is present');
const messageData = message.message().data;
t.equals(messageData.updates[0].timestamp, timestamp, 'First message matches expected value');
};
testMessage(1000.5);