1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 | 'use strict';
|
23 |
|
24 | var _stream = require('../../core/stream');
|
25 |
|
26 | var _primitives = require('../../core/primitives');
|
27 |
|
28 | describe('stream', function () {
|
29 | beforeEach(function () {
|
30 | jasmine.addMatchers({
|
31 | toMatchTypedArray: function toMatchTypedArray(util, customEqualityTesters) {
|
32 | return {
|
33 | compare: function compare(actual, expected) {
|
34 | var result = {};
|
35 | if (actual.length !== expected.length) {
|
36 | result.pass = false;
|
37 | result.message = 'Array length: ' + actual.length + ', expected: ' + expected.length;
|
38 | return result;
|
39 | }
|
40 | result.pass = true;
|
41 | for (var i = 0, ii = expected.length; i < ii; i++) {
|
42 | var a = actual[i],
|
43 | b = expected[i];
|
44 | if (a !== b) {
|
45 | result.pass = false;
|
46 | break;
|
47 | }
|
48 | }
|
49 | return result;
|
50 | }
|
51 | };
|
52 | }
|
53 | });
|
54 | });
|
55 | describe('PredictorStream', function () {
|
56 | it('should decode simple predictor data', function () {
|
57 | var dict = new _primitives.Dict();
|
58 | dict.set('Predictor', 12);
|
59 | dict.set('Colors', 1);
|
60 | dict.set('BitsPerComponent', 8);
|
61 | dict.set('Columns', 2);
|
62 | var input = new _stream.Stream(new Uint8Array([2, 100, 3, 2, 1, 255, 2, 1, 255]), 0, 9, dict);
|
63 | var predictor = new _stream.PredictorStream(input, 9, dict);
|
64 | var result = predictor.getBytes(6);
|
65 | expect(result).toMatchTypedArray(new Uint8Array([100, 3, 101, 2, 102, 1]));
|
66 | });
|
67 | });
|
68 | }); |
\ | No newline at end of file |