From 92ff57de7d0d42f3b09045ba47fcb80d299e64b7 Mon Sep 17 00:00:00 2001 From: Andrew Sliwinski <andrewsliwinski@acm.org> Date: Fri, 3 Feb 2017 17:39:36 -0500 Subject: [PATCH] Add basic test coverage for the sound blocks --- src/blocks/scratch3_sound.js | 15 +++++++++++++++ test/fixtures/sound.sb2 | Bin 0 -> 54797 bytes test/integration/sound.js | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 test/fixtures/sound.sb2 create mode 100644 test/integration/sound.js diff --git a/src/blocks/scratch3_sound.js b/src/blocks/scratch3_sound.js index aa227c513..20d137580 100644 --- a/src/blocks/scratch3_sound.js +++ b/src/blocks/scratch3_sound.js @@ -79,6 +79,7 @@ Scratch3SoundBlocks.prototype.playSound = function (args, util) { var index = this._getSoundIndex(args.SOUND_MENU, util); if (index >= 0) { var md5 = util.target.sprite.sounds[index].md5; + if (util.target.audioPlayer === null) return; util.target.audioPlayer.playSound(md5); } }; @@ -87,6 +88,7 @@ Scratch3SoundBlocks.prototype.playSoundAndWait = function (args, util) { var index = this._getSoundIndex(args.SOUND_MENU, util); if (index >= 0) { var md5 = util.target.sprite.sounds[index].md5; + if (util.target.audioPlayer === null) return; return util.target.audioPlayer.playSound(md5); } }; @@ -124,6 +126,7 @@ Scratch3SoundBlocks.prototype.getSoundIndexByName = function (soundName, util) { }; Scratch3SoundBlocks.prototype.stopAllSounds = function (args, util) { + if (util.target.audioPlayer === null) return; util.target.audioPlayer.stopAllSounds(); }; @@ -132,19 +135,23 @@ Scratch3SoundBlocks.prototype.playNoteForBeats = function (args, util) { var beats = Cast.toNumber(args.BEATS); var soundState = this._getSoundState(util.target); var inst = soundState.currentInstrument; + if (typeof this.runtime.audioEngine === 'undefined') return; return this.runtime.audioEngine.playNoteForBeatsWithInst(note, beats, inst); }; Scratch3SoundBlocks.prototype.playDrumForBeats = function (args, util) { var drum = Cast.toNumber(args.DRUM); drum -= 1; // drums are one-indexed + if (typeof this.runtime.audioEngine === 'undefined') return; drum = MathUtil.wrapClamp(drum, 0, this.runtime.audioEngine.numDrums); var beats = Cast.toNumber(args.BEATS); + if (util.target.audioPlayer === null) return; return util.target.audioPlayer.playDrumForBeats(drum, beats); }; Scratch3SoundBlocks.prototype.restForBeats = function (args) { var beats = Cast.toNumber(args.BEATS); + if (typeof this.runtime.audioEngine === 'undefined') return; return this.runtime.audioEngine.waitForBeats(beats); }; @@ -152,6 +159,7 @@ Scratch3SoundBlocks.prototype.setInstrument = function (args, util) { var soundState = this._getSoundState(util.target); var instNum = Cast.toNumber(args.INSTRUMENT); instNum -= 1; // instruments are one-indexed + if (typeof this.runtime.audioEngine === 'undefined') return; instNum = MathUtil.wrapClamp(instNum, 0, this.runtime.audioEngine.numInstruments); soundState.currentInstrument = instNum; return this.runtime.audioEngine.instrumentPlayer.loadInstrument(soundState.currentInstrument); @@ -165,6 +173,7 @@ Scratch3SoundBlocks.prototype.setEffect = function (args, util) { if (!soundState.effects.hasOwnProperty(effect)) return; soundState.effects[effect] = value; + if (util.target.audioPlayer === null) return; util.target.audioPlayer.setEffect(effect, soundState.effects[effect]); }; @@ -176,6 +185,7 @@ Scratch3SoundBlocks.prototype.changeEffect = function (args, util) { if (!soundState.effects.hasOwnProperty(effect)) return; soundState.effects[effect] += value; + if (util.target.audioPlayer === null) return; util.target.audioPlayer.setEffect(effect, soundState.effects[effect]); }; @@ -184,6 +194,7 @@ Scratch3SoundBlocks.prototype.clearEffects = function (args, util) { for (var effect in soundState.effects) { soundState.effects[effect] = 0; } + if (util.target.audioPlayer === null) return; util.target.audioPlayer.clearEffects(); }; @@ -202,6 +213,7 @@ Scratch3SoundBlocks.prototype._updateVolume = function (volume, util) { var soundState = this._getSoundState(util.target); volume = MathUtil.clamp(volume, 0, 100); soundState.volume = volume; + if (util.target.audioPlayer === null) return; util.target.audioPlayer.setVolume(soundState.volume); }; @@ -212,15 +224,18 @@ Scratch3SoundBlocks.prototype.getVolume = function (args, util) { Scratch3SoundBlocks.prototype.setTempo = function (args) { var value = Cast.toNumber(args.TEMPO); + if (typeof this.runtime.audioEngine === 'undefined') return; this.runtime.audioEngine.setTempo(value); }; Scratch3SoundBlocks.prototype.changeTempo = function (args) { var value = Cast.toNumber(args.TEMPO); + if (typeof this.runtime.audioEngine === 'undefined') return; this.runtime.audioEngine.changeTempo(value); }; Scratch3SoundBlocks.prototype.getTempo = function () { + if (typeof this.runtime.audioEngine === 'undefined') return; return this.runtime.audioEngine.currentTempo; }; diff --git a/test/fixtures/sound.sb2 b/test/fixtures/sound.sb2 new file mode 100644 index 0000000000000000000000000000000000000000..dce594b371b6ddb4f47ecdb5d24edc363a120999 GIT binary patch literal 54797 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 literal 0 HcmV?d00001 diff --git a/test/integration/sound.js b/test/integration/sound.js new file mode 100644 index 000000000..dc1a58eee --- /dev/null +++ b/test/integration/sound.js @@ -0,0 +1,35 @@ +var path = require('path'); +var test = require('tap').test; +var extract = require('../fixtures/extract'); +var VirtualMachine = require('../../src/index'); + +var uri = path.resolve(__dirname, '../fixtures/sound.sb2'); +var project = extract(uri); + +test('sound', function (t) { + var vm = new VirtualMachine(); + + // Evaluate playground data and exit + vm.on('playgroundData', function (e) { + var threads = JSON.parse(e.threads); + t.ok(threads.length > 0); + t.end(); + process.nextTick(process.exit); + }); + + // Start VM, load project, and run + t.doesNotThrow(function () { + vm.start(); + vm.clear(); + vm.setCompatibilityMode(false); + vm.setTurboMode(false); + vm.loadProject(project); + vm.greenFlag(); + }); + + // After two seconds, get playground data and stop + setTimeout(function () { + vm.getPlaygroundData(); + vm.stopAll(); + }, 2000); +});