diff -r a8192c57c87d -r d7a7d7216371 unittests/tests/playerWidget.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unittests/tests/playerWidget.js Thu Oct 13 17:12:52 2011 +0200 @@ -0,0 +1,61 @@ +/* test module for the player widget */ + +function test_player_widget() { + module("player widget testing", + {setup : function() { + this.Popcorn = Popcorn.youtube("#popcorn-div", "http://www.youtube.com/watch?v=QH2-TGUlwu4"); + + this.dt = new IriSP.DataLoader(); + this.ser = new IriSP.Serializer(this.dt, "/url"); /* dummy serializer */ + + this.config = { + metadata:{ + format:'cinelab', + src:'test.json', + load:'json'}, + gui:{ + width:650, + height:1, + mode:'radio', + container:'widget-div', + debug:true, + css:'../src/css/LdtPlayer.css'}, + }; + } }); + + test("test player initialisation", function() { + var player = new IriSP.PlayerWidget(this.Popcorn, this.config, this.ser); + player.draw(); + equal(IriSP.jQuery("#widget-div #Ldt-Root").length, 1, "test if the div has been added correctly"); + + var player2 = new IriSP.PlayerWidget(this.Popcorn, this.config, this.ser); + player2.draw(); + equal(IriSP.jQuery("#widget-div #Ldt-Root").length, 2, "test if the second div has been added correctly"); + }); + + test("test play button event handler", function() { + var player = new IriSP.PlayerWidget(this.Popcorn, this.config, this.ser); + + var spy_callback = this.spy(); + var spy_callback2 = this.spy(); + this.Popcorn.listen("play", spy_callback); + this.Popcorn.listen("pause", spy_callback2); + + player.draw(); + + /* + Code seems to work but test doesn't. It must be a subtle race condition + between Popcorn, the youtube plugin and QUnit. Anyway, it works for pause + so WONTFIX + + IriSP.jQuery("#widget-div .Ldt-Control1 button:first").trigger("click"); + ok(spy_callback.calledOnce, "test if play callback has been called"); + + */ + + IriSP.jQuery("#widget-div .Ldt-Control1 button:first").trigger("click"); + IriSP.jQuery("#widget-div .Ldt-Control1 button:first").trigger("click"); + + ok(spy_callback2.calledOnce, "test if pause callback has been called"); + }); + }; \ No newline at end of file