summaryrefslogtreecommitdiffstats
path: root/tests/zdle.js
blob: 9fc49b71ca63804e6c1e003a5defd4f6c7b5d268 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env node

"use strict";

var tape = require('blue-tape');

global.Zmodem = require('./lib/zmodem');
const helper = require('./lib/testhelp');

var zmlib = Zmodem.ZMLIB;
var ZDLE = Zmodem.ZDLE;

tape('round-trip', function(t) {
    var zdle = new ZDLE( { escape_ctrl_chars: true } );

    var times = 1000;

    t.doesNotThrow(
        () => {
            for (let a of Array(times)) {
                var orig = helper.get_random_octets(38);
                var enc = zdle.encode( orig.slice(0) );
                var dec = ZDLE.decode( enc.slice(0) );

                var orig_j = orig.join();
                var dec_j = dec.join();

                if (orig_j !== dec_j) {
                    console.error("Original", orig.join());
                    console.error("Encoded", enc.join());
                    console.error("Decoded", dec.join());

                    throw 'mismatch';
                }
            }
        },
        `round-trip`
    );

    t.end();
} );