--- /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