'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
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
var testCase = require('nodeunit').testCase;
var exif = require('../lib/exif.js');
var BufferStream = require('../lib/bufferstream.js');
var buf = require('fs').readFileSync(__dirname + '/starfish.jpg');
 
module.exports = testCase({
    "test parseTags": function(test) {
        var expectedTags = require('./expected-exif-tags.json');
        var index = 0;
        exif.parseTags(new BufferStream(buf, 24, 23960), function(ifdSection, tagType, value, format) {
            var t = expectedTags[index];
            test.strictEqual(t.ifdSection, ifdSection);
            test.strictEqual(t.tagType, tagType);
            test.strictEqual(t.format, format);
            if(typeof t.value === 'string' && t.value.indexOf('b:') === 0) {
                test.ok(Buffer.isBuffer(value));
                test.strictEqual(parseInt(t.value.substr(2), 10), value.length);
            } else {
                test.deepEqual(t.value, value);
            }
            ++index;
        });
        test.strictEqual(index, expectedTags.length, 'all tags should be passed to the iterator');
        test.done();    
    }
});