const fs = require('fs'); const path = require('path'); const test = require('tap').test; const analysis = require('../../lib/index'); const sb2 = fs.readFileSync( path.resolve(__dirname, '../fixtures/sb2/cloud.sb2') ); const sb3 = fs.readFileSync( path.resolve(__dirname, '../fixtures/sb3/cloud.sb3') ); const sb2Complex = fs.readFileSync( path.resolve(__dirname, '../fixtures/sb2/cloud_complex.sb2') ); const sb3Complex = fs.readFileSync( path.resolve(__dirname, '../fixtures/sb3/cloud_complex.sb3') ); test('sb2', t => { analysis(sb2, (err, result) => { t.ok(typeof err === 'undefined' || err === null); t.type(result, 'object'); t.type(result.cloud, 'object'); t.equal(result.cloud.count, 1); t.same(result.cloud.id, ['☁ baz']); t.end(); }); }); test('sb3', t => { analysis(sb3, (err, result) => { t.ok(typeof err === 'undefined' || err === null); t.type(result, 'object'); t.type(result.cloud, 'object'); t.equal(result.cloud.count, 1); t.same(result.cloud.id, ['☁ baz']); t.end(); }); }); test('sb2 complex', t => { analysis(sb2Complex, (err, result) => { t.ok(typeof err === 'undefined' || err === null); t.type(result, 'object'); t.type(result.cloud, 'object'); t.equal(result.cloud.count, 8); t.same(result.cloud.id, [ '☁ Player_1', '☁ Player_2', '☁ Player_3', '☁ Player_4', '☁ Player_5', '☁ GameData', '☁ Player_6', '☁ SAVE_DATA2' ]); t.end(); }); }); test('sb3 complex', t => { analysis(sb3Complex, (err, result) => { t.ok(typeof err === 'undefined' || err === null); t.type(result, 'object'); t.type(result.cloud, 'object'); t.equal(result.cloud.count, 8); t.same(result.cloud.id, [ '☁ Player_1', '☁ Player_2', '☁ Player_3', '☁ Player_4', '☁ Player_5', '☁ GameData', '☁ Player_6', '☁ SAVE_DATA2' ]); t.end(); }); });