From af32f0772e75f8321636920604976c22373d60db Mon Sep 17 00:00:00 2001 From: Karishma Chadha <kchadha@scratch.mit.edu> Date: Thu, 5 Apr 2018 10:51:15 -0400 Subject: [PATCH] Add integration test for offline sb2 project with custom assets not on the server. --- test/fixtures/offline-custom-assets.sb2 | Bin 0 -> 54551 bytes test/integration/offline-custom-assets.js | 76 ++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 test/fixtures/offline-custom-assets.sb2 create mode 100644 test/integration/offline-custom-assets.js diff --git a/test/fixtures/offline-custom-assets.sb2 b/test/fixtures/offline-custom-assets.sb2 new file mode 100644 index 0000000000000000000000000000000000000000..b375d9b5d0be8f8a2b87cc6b81ffcc359b6b71f1 GIT binary patch literal 54551 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%0AUcF<~25 zZI9Sl9$}oSO#{BMnO~Asy+hQ$An_xqK_ge}e~SGlJYHwwKsvk7K;3|!U3RL{3e6Pk zw^7vd9#tQ)T^PB_c|9j;<|v<wb(J}GUZ~4(v8nG9f_kPF&nI!XIt@L?%VAHy5CwLn z*Ap;R6mhBYN>82?S;}ASVJy-!t+Q-e<H?`WQBS?3X#(=qi>MBYYkC`h*>#}<X<<fd zY=l`<**dtQOqU(9K+zz-*w02(VR~DWCplf>5z9LI@$)ym*7TS6hCqAT6;neC9-F!F zwh80L4dlWdW2fCP>!FfNKVK+t6Y?!9YnsB}Z{0hyWTuOI4p~m;$Gsnk3nky4J}Ud= zoF6mGQXX|rZJKfPo-dY{Kd@od`cv<Z-#s?i;yBa4V*JFJPtMDpA2ajo>+93=TH^Q3 zdAn<6?()Vp#amAw`_cQ#i0ki}zi{iKH|{@j!|c?FH4knrU3L7~xl0zjwqoxUoj(qF z^6nFhYM#D&!G@c+_1#c=>xau$JC{DN^49kvKiuWDMopd(nwR>(v|D0w7Bt_vd-j{# zUVQwe_RaSneKUH+RdeqcH0zBSJH|ya_BK2BN8bJVjf}FwFPiE<4U`oRoYFLH*o0g1 zovy)EpKNbf@7qwZW7)AC?okELObXmN;I_MqHzxJ1U$Fb#cL%+_y*%yPO|9$tm5$jv zW&f19W1h^Y?KoKZ>?ax9rhc;V(2hvnWzQ8w#xA~g@Ri=AJDOiRRQ`EnXUTzoRF^tR zGnZbqWXyNhjL7-iy{b0t>m@rqpC*4ZrEae0socyFp0Qi6S)F~m`^wYPzRBBFziWC$ zRQ-hBf6F>N{M%6t!zX4>j~?HccI2@GaR+8q&Z~dlvFh@oyvK*UlRqjw?76pPXYj+r zt(6;3_(Nay8kBTb#`^3VGs=?w<-DzB{!iOaRGloU`*&-OyDF)<@5GG7efGsa(W|C; zcx_y8NwD<v?C?JwgZ(r5_%oKJ|1o8BY)N-*^ZxqPwTtUchC156cX(na`d20V;JZ5d za>t_cue7cXAB!CB$mm(&`nxAJ<^|7G*Uaw8lX^MSE{o6=RO|OtKh!{MJWR*s<?5wB z^B<Wv=e|Fc6wG;a-ow9)w8L>zMPhXb=Fo1p=NHGOunHJbF#qA%zaA2OOZ?isxt68< z(jfzRFgLW|(S`pr<njFZ@0?`@?UxQoDzL1=|2NCdWh=4=ziL_9FCEgqNQ#j)zgFzm esddp3%ldQ0g+!Y?DN0Q#neDcUN$b4__31wpwNyC( literal 0 HcmV?d00001 diff --git a/test/integration/offline-custom-assets.js b/test/integration/offline-custom-assets.js new file mode 100644 index 000000000..fe276fbfa --- /dev/null +++ b/test/integration/offline-custom-assets.js @@ -0,0 +1,76 @@ +const path = require('path'); +const fs = require('fs'); +const test = require('tap').test; +const AdmZip = require('adm-zip'); +const makeTestStorage = require('../fixtures/make-test-storage'); +const VirtualMachine = require('../../src/index'); +const StringUtil = require('../../src/util/string-util'); + +const projectUri = path.resolve(__dirname, '../fixtures/offline-custom-assets.sb2'); +const projectZip = AdmZip(projectUri); +const project = new Buffer(fs.readFileSync(projectUri)); +// Custom costume from sb2 file (which was downloaded from offline editor) +// This sound should not be available on our servers +const costume = projectZip.readFile('1.svg'); +const costumeData = new Uint8Array(costume); +// Custom sound recording from sb2 file (which was downloaded from offline editor) +// This sound should not be available on our servers +const sound = projectZip.readFile('0.wav'); +const soundData = new Uint8Array(sound); + +test('offline-custom-assets', t => { + const vm = new VirtualMachine(); + vm.attachStorage(makeTestStorage()); + + // Evaluate playground data and exit + vm.on('playgroundData', e => { + const threads = JSON.parse(e.threads); + t.ok(threads.length === 0); + t.end(); + process.nextTick(process.exit); + }); + + // Start VM, load project, and run + t.doesNotThrow(() => { + vm.start(); + vm.clear(); + vm.setCompatibilityMode(false); + vm.setTurboMode(false); + vm.loadProject(project).then(() => { + + // Verify initial state + t.equals(vm.runtime.targets.length, 2); + const costumes = vm.runtime.targets[1].getCostumes(); + t.equals(costumes.length, 1); + const customCostume = costumes[0]; + t.equals(customCostume.name, 'A_Test_Costume'); + const costumeMd5Ext = customCostume.md5; + const costumeIdParts = StringUtil.splitFirst(costumeMd5Ext, '.'); + const costumeMd5 = costumeIdParts[0]; + + const storedCostume = vm.runtime.storage.get(costumeMd5); + t.type(storedCostume, 'object'); + t.deepEquals(storedCostume.data, costumeData); + + const sounds = vm.runtime.targets[1].sprite.sounds; + t.equals(sounds.length, 1); + const customSound = sounds[0]; + t.equals(customSound.name, 'A_Test_Recording'); + const soundMd5Ext = customSound.md5; + const soundIdParts = StringUtil.splitFirst(soundMd5Ext, '.'); + const soundMd5 = soundIdParts[0]; + const storedSound = vm.runtime.storage.get(soundMd5); + t.type(storedSound, 'object'); + t.deepEquals(storedSound.data, soundData); + + vm.greenFlag(); + + // After two seconds, get playground data and stop + setTimeout(() => { + vm.getPlaygroundData(); + vm.stopAll(); + }, 2000); + }); + }); + +});