Mercurial > hg > dml-open-vis
annotate src/DML/VendorAssetsBundle/Resources/assets/jasmine/2.1.3/spec/PlayerSpec.js @ 0:493bcb69166c
added public content
author | Daniel Wolff |
---|---|
date | Tue, 09 Feb 2016 20:54:02 +0100 |
parents | |
children |
rev | line source |
---|---|
Daniel@0 | 1 describe("Player", function() { |
Daniel@0 | 2 var player; |
Daniel@0 | 3 var song; |
Daniel@0 | 4 |
Daniel@0 | 5 beforeEach(function() { |
Daniel@0 | 6 player = new Player(); |
Daniel@0 | 7 song = new Song(); |
Daniel@0 | 8 }); |
Daniel@0 | 9 |
Daniel@0 | 10 it("should be able to play a Song", function() { |
Daniel@0 | 11 player.play(song); |
Daniel@0 | 12 expect(player.currentlyPlayingSong).toEqual(song); |
Daniel@0 | 13 |
Daniel@0 | 14 //demonstrates use of custom matcher |
Daniel@0 | 15 expect(player).toBePlaying(song); |
Daniel@0 | 16 }); |
Daniel@0 | 17 |
Daniel@0 | 18 describe("when song has been paused", function() { |
Daniel@0 | 19 beforeEach(function() { |
Daniel@0 | 20 player.play(song); |
Daniel@0 | 21 player.pause(); |
Daniel@0 | 22 }); |
Daniel@0 | 23 |
Daniel@0 | 24 it("should indicate that the song is currently paused", function() { |
Daniel@0 | 25 expect(player.isPlaying).toBeFalsy(); |
Daniel@0 | 26 |
Daniel@0 | 27 // demonstrates use of 'not' with a custom matcher |
Daniel@0 | 28 expect(player).not.toBePlaying(song); |
Daniel@0 | 29 }); |
Daniel@0 | 30 |
Daniel@0 | 31 it("should be possible to resume", function() { |
Daniel@0 | 32 player.resume(); |
Daniel@0 | 33 expect(player.isPlaying).toBeTruthy(); |
Daniel@0 | 34 expect(player.currentlyPlayingSong).toEqual(song); |
Daniel@0 | 35 }); |
Daniel@0 | 36 }); |
Daniel@0 | 37 |
Daniel@0 | 38 // demonstrates use of spies to intercept and test method calls |
Daniel@0 | 39 it("tells the current song if the user has made it a favorite", function() { |
Daniel@0 | 40 spyOn(song, 'persistFavoriteStatus'); |
Daniel@0 | 41 |
Daniel@0 | 42 player.play(song); |
Daniel@0 | 43 player.makeFavorite(); |
Daniel@0 | 44 |
Daniel@0 | 45 expect(song.persistFavoriteStatus).toHaveBeenCalledWith(true); |
Daniel@0 | 46 }); |
Daniel@0 | 47 |
Daniel@0 | 48 //demonstrates use of expected exceptions |
Daniel@0 | 49 describe("#resume", function() { |
Daniel@0 | 50 it("should throw an exception if song is already playing", function() { |
Daniel@0 | 51 player.play(song); |
Daniel@0 | 52 |
Daniel@0 | 53 expect(function() { |
Daniel@0 | 54 player.resume(); |
Daniel@0 | 55 }).toThrowError("song is already playing"); |
Daniel@0 | 56 }); |
Daniel@0 | 57 }); |
Daniel@0 | 58 }); |