var test = require('tap').test; var JSZip = require('jszip'); var data = require('../fixtures/data'); var parser = require('../../index'); test('sb', function (t) { parser(data.example.sb, false, function (err, res) { t.type(err, 'string'); t.type(res, 'undefined'); t.end(); }); }); test('sb2', function (t) { parser(data.example.sb2, false, function (err, result) { t.equal(err, null); t.equal(Array.isArray(result), true); var res = result[0]; var possibleZip = result[1]; t.type(res, 'object'); t.type(res.info, 'object'); t.equal(possibleZip instanceof JSZip, true); t.end(); }); }); test('json', function (t) { parser(data.example.json, false, function (err, result) { t.equal(err, null); t.equal(Array.isArray(result), true); var res = result[0]; var possibleZip = result[1]; t.type(res, 'object'); t.type(res.info, 'object'); t.equal(possibleZip, null); t.end(); }); }); test('json string', function (t) { parser(data.example.json.toString('utf-8'), false, function (err, result) { t.equal(err, null); t.equal(Array.isArray(result), true); var res = result[0]; var possibleZip = result[1]; t.type(res, 'object'); t.type(res.info, 'object'); t.equal(possibleZip, null); t.end(); }); }); test('invalid empty project archive', function (t) { var msg = 'Failed to unzip and extract project.json, with error: '; parser(data.example.invalidEmpty, false, function (err, result) { t.type(err, 'string'); t.equal(err.startsWith(msg), true); t.type(result, 'undefined'); t.end(); }); });