fix: coverage

pull/325/head
Erick Zanardo 3 years ago
parent ab2897e06d
commit a91b132490

@ -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<PinballAudio, _Audio> _audios;
/// Registered audios on the Player
@visibleForTesting
late final Map<PinballAudio, _Audio> audios;
/// Loads the sounds effects into the memory
List<Future<void>> 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();
}
}

@ -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);
},
);
});
}

Loading…
Cancel
Save