From a91b132490ffe2901c474db5d6a69b3d3428ea98 Mon Sep 17 00:00:00 2001 From: Erick Zanardo Date: Thu, 5 May 2022 10:54:52 -0300 Subject: [PATCH] fix: coverage --- packages/pinball_audio/lib/src/pinball_audio.dart | 13 ++++++++----- .../pinball_audio/test/src/pinball_audio_test.dart | 10 ++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/packages/pinball_audio/lib/src/pinball_audio.dart b/packages/pinball_audio/lib/src/pinball_audio.dart index a6bbb749..e0821a7c 100644 --- a/packages/pinball_audio/lib/src/pinball_audio.dart +++ b/packages/pinball_audio/lib/src/pinball_audio.dart @@ -3,6 +3,7 @@ import 'dart:math'; import 'package:audioplayers/audioplayers.dart'; import 'package:flame_audio/audio_pool.dart'; import 'package:flame_audio/flame_audio.dart'; +import 'package:flutter/material.dart'; import 'package:pinball_audio/gen/assets.gen.dart'; /// Sounds available for play @@ -152,7 +153,7 @@ class PinballPlayer { a.prefix = ''; }), _seed = seed ?? Random() { - _audios = { + audios = { PinballAudio.google: _SimplePlayAudio( preCacheSingleAudio: _preCacheSingleAudio, playSingleAudio: _playSingleAudio, @@ -187,21 +188,23 @@ class PinballPlayer { final Random _seed; - late final Map _audios; + /// Registered audios on the Player + @visibleForTesting + late final Map audios; /// Loads the sounds effects into the memory List> load() { _configureAudioCache(FlameAudio.audioCache); - return _audios.values.map((a) => a.load()).toList(); + return audios.values.map((a) => a.load()).toList(); } /// Plays the received auido void play(PinballAudio audio) { assert( - _audios.containsKey(audio), + audios.containsKey(audio), 'Tried to play unregistered audio $audio', ); - _audios[audio]?.play(); + audios[audio]?.play(); } } diff --git a/packages/pinball_audio/test/src/pinball_audio_test.dart b/packages/pinball_audio/test/src/pinball_audio_test.dart index f29474be..8740cda0 100644 --- a/packages/pinball_audio/test/src/pinball_audio_test.dart +++ b/packages/pinball_audio/test/src/pinball_audio_test.dart @@ -238,5 +238,15 @@ void main() { ).called(1); }); }); + + test( + 'throws assertions error when playing an unregistered audio', + () async { + player.audios.remove(PinballAudio.google); + await Future.wait(player.load()); + + expect(() => player.play(PinballAudio.google), throwsAssertionError); + }, + ); }); }