82 lines
1.7 KiB
JavaScript
82 lines
1.7 KiB
JavaScript
|
#!/usr/bin/env node
|
||
|
|
||
|
"use strict";
|
||
|
|
||
|
var tape = require('blue-tape');
|
||
|
|
||
|
global.Zmodem = require('./lib/zmodem');
|
||
|
|
||
|
var zmlib = Zmodem.ZMLIB;
|
||
|
|
||
|
tape('constants', function(t) {
|
||
|
t.equal(typeof zmlib.ZDLE, "number", 'ZDLE');
|
||
|
t.equal(typeof zmlib.XON, "number", 'XON');
|
||
|
t.equal(typeof zmlib.XOFF, "number", 'XOFF');
|
||
|
t.end();
|
||
|
} );
|
||
|
|
||
|
tape('strip_ignored_bytes', function(t) {
|
||
|
var input = [ zmlib.XOFF, 12, 45, 76, zmlib.XON, 22, zmlib.XOFF, 32, zmlib.XON | 0x80, 0, zmlib.XOFF | 0x80, 255, zmlib.XON ];
|
||
|
var should_be = [ 12, 45, 76, 22, 32, 0, 255 ];
|
||
|
|
||
|
var input_copy = input.slice(0);
|
||
|
|
||
|
var out = zmlib.strip_ignored_bytes(input_copy);
|
||
|
|
||
|
t.deepEqual( out, should_be, 'intended bytes are stripped' );
|
||
|
t.equal( out, input_copy, 'output is the mutated input' );
|
||
|
|
||
|
t.end();
|
||
|
} );
|
||
|
|
||
|
/*
|
||
|
tape('get_random_octets', function(t) {
|
||
|
t.equal(
|
||
|
zmlib.get_random_octets(42).length,
|
||
|
42,
|
||
|
'length is correct'
|
||
|
);
|
||
|
|
||
|
t.equal(
|
||
|
typeof zmlib.get_random_octets(42)[0],
|
||
|
"number",
|
||
|
'type is correct'
|
||
|
);
|
||
|
|
||
|
t.ok(
|
||
|
zmlib.get_random_octets(999999).every( (i) => i>=0 && i<=255 ),
|
||
|
'values are all octet values'
|
||
|
);
|
||
|
|
||
|
t.end();
|
||
|
} );
|
||
|
*/
|
||
|
|
||
|
tape('find_subarray', function(t) {
|
||
|
t.equal(
|
||
|
zmlib.find_subarray([12, 56, 43, 77], [43, 77]),
|
||
|
2,
|
||
|
'finds at end'
|
||
|
);
|
||
|
|
||
|
t.equal(
|
||
|
zmlib.find_subarray([12, 56, 43, 77], [12, 56]),
|
||
|
0,
|
||
|
'finds at begin'
|
||
|
);
|
||
|
|
||
|
t.equal(
|
||
|
zmlib.find_subarray([12, 56, 43, 77], [56, 43]),
|
||
|
1,
|
||
|
'finds in the middle'
|
||
|
);
|
||
|
|
||
|
t.equal(
|
||
|
zmlib.find_subarray([12, 56, 43, 77], [56, 43, 43]),
|
||
|
-1,
|
||
|
'non-find'
|
||
|
);
|
||
|
|
||
|
t.end();
|
||
|
} );
|