2016-03-18 19:51:40 -04:00
|
|
|
var test = require('tap').test;
|
2018-03-15 21:39:05 -04:00
|
|
|
var JSZip = require('jszip');
|
2016-03-18 19:51:40 -04:00
|
|
|
var data = require('../fixtures/data');
|
|
|
|
var parser = require('../../index');
|
|
|
|
|
|
|
|
test('sb', function (t) {
|
2018-05-02 18:17:32 -04:00
|
|
|
parser(data.example.sb, false, function (err, res) {
|
2016-03-18 19:51:40 -04:00
|
|
|
t.type(err, 'string');
|
|
|
|
t.type(res, 'undefined');
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
test('sb2', function (t) {
|
2018-05-02 18:17:32 -04:00
|
|
|
parser(data.example.sb2, false, function (err, result) {
|
2016-03-18 19:51:40 -04:00
|
|
|
t.equal(err, null);
|
2018-03-15 21:39:05 -04:00
|
|
|
t.equal(Array.isArray(result), true);
|
|
|
|
var res = result[0];
|
|
|
|
var possibleZip = result[1];
|
2016-03-18 19:51:40 -04:00
|
|
|
t.type(res, 'object');
|
|
|
|
t.type(res.info, 'object');
|
2018-03-15 21:39:05 -04:00
|
|
|
t.equal(possibleZip instanceof JSZip, true);
|
2016-03-18 19:51:40 -04:00
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
test('json', function (t) {
|
2018-05-02 18:17:32 -04:00
|
|
|
parser(data.example.json, false, function (err, result) {
|
2016-03-18 19:51:40 -04:00
|
|
|
t.equal(err, null);
|
2018-03-15 21:39:05 -04:00
|
|
|
t.equal(Array.isArray(result), true);
|
|
|
|
var res = result[0];
|
|
|
|
var possibleZip = result[1];
|
2016-03-18 19:51:40 -04:00
|
|
|
t.type(res, 'object');
|
|
|
|
t.type(res.info, 'object');
|
2018-03-15 21:39:05 -04:00
|
|
|
t.equal(possibleZip, null);
|
2016-03-18 19:51:40 -04:00
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
});
|
2018-02-26 15:42:12 -05:00
|
|
|
|
|
|
|
test('json string', function (t) {
|
2018-05-02 18:17:32 -04:00
|
|
|
parser(data.example.json.toString('utf-8'), false, function (err, result) {
|
2018-02-26 15:42:12 -05:00
|
|
|
t.equal(err, null);
|
2018-03-15 21:39:05 -04:00
|
|
|
t.equal(Array.isArray(result), true);
|
|
|
|
var res = result[0];
|
|
|
|
var possibleZip = result[1];
|
2018-02-26 15:42:12 -05:00
|
|
|
t.type(res, 'object');
|
|
|
|
t.type(res.info, 'object');
|
2018-03-15 21:39:05 -04:00
|
|
|
t.equal(possibleZip, null);
|
2018-02-26 15:42:12 -05:00
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
});
|
2018-04-05 13:34:56 -04:00
|
|
|
|
2019-02-01 11:33:40 +01:00
|
|
|
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();
|
|
|
|
});
|
|
|
|
});
|