diff -r b3ee7d1b472a -r 64c2eaafe5e2 unittests/tests/widgets/playerWidget.js --- a/unittests/tests/widgets/playerWidget.js Fri Jun 29 16:22:52 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ -/* test module for the player widget */ - -function test_player_widget() { - module("player widget testing", - {setup : function() { - this.Popcorn = Popcorn("#popcorn-div"); - - this.dt = new IriSP.DataLoader(); - this.ser = new IriSP.MockSerializer(this.dt, "/url"); /* dummy serializer */ - this.lay = new IriSP.LayoutManager('widget-div'); - - this.config = { - width:650, - height:1, - mode:'radio', - container:'widget-div', - debug:true, - css:'../src/css/LdtPlayer.css'} - }, - teardown: function() { - /* free the popcorn object because it has signal handlers attached to it */ - this.Popcorn = Popcorn("#popcorn-div"); - } - - }); - - test("test player initialisation", function() { - var player = new IriSP.PlayerWidget(this.Popcorn, this.config, this.ser); - player.draw(); - - equal(IriSP.jQuery("#widget-div").length, 1, "test if the 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); - sinon.spy(player, "playHandler"); - - player.draw(); - - player.selector.find(".ldt-CtrlPlay").trigger("click"); - player.selector.find(".ldt-CtrlPlay").trigger("click"); - ok(player.playHandler.calledTwice, "play handler called"); - }); - - test("test mute button event handler", function() { - var player = new IriSP.PlayerWidget(this.Popcorn, this.config, this.ser); - - var spy_callback = this.spy(); - var spy_handler = sinon.spy(player, "muteHandler"); - this.Popcorn.listen("volumechange", spy_callback); - - player.draw(); - - player.selector.find(".ldt-CtrlSound").trigger("click"); - ok(this.Popcorn.muted(), "the player is muted"); - - player.selector.find(".ldt-CtrlSound").trigger("click"); - ok(!this.Popcorn.muted(), "the player is un muted"); - ok(spy_handler.called, "handling function has been called"); - }); - - test("test search button event handler", function() { - var player = new IriSP.PlayerWidget(this.Popcorn, this.config, this.ser); - - var searchTerm = "blah"; - - var spy_callback = this.spy(); - var spy_open = this.spy(); - var spy_closed = this.spy(); - var spy_cleared = this.spy(); - var spy_handler = sinon.spy(player, "searchButtonHandler"); - - player._Popcorn.listen("IriSP.search", spy_callback); - player._Popcorn.listen("IriSP.search.open", spy_open); - player._Popcorn.listen("IriSP.search.closed", spy_closed); - player._Popcorn.listen("IriSP.search.cleared", spy_cleared); - - player.draw(); - - player.selector.find(".ldt-CtrlSearch").trigger("click"); - player.selector.find(".LdtSearchInput").attr('value', searchTerm); - player.selector.find(".LdtSearchInput").trigger('keyup'); - - ok(spy_handler.called, "search button handling function has been called"); - ok(spy_open.called, "open signal has been sent"); - ok(spy_callback.called, "search typeahead function has been called"); - ok(spy_callback.calledWith(searchTerm), "popcorn message sent with the right parameters"); - - player.selector.find(".LdtSearchInput").attr('value', ""); - player.selector.find(".LdtSearchInput").trigger('keyup'); - ok(spy_cleared.called, "clear message has been sent"); - - player.selector.find(".ldt-CtrlSearch").trigger("click"); - ok(spy_closed.called, "closed signal has been sent"); - - }); - - test("test mouseover handler", function() { - var player = new IriSP.PlayerWidget(this.Popcorn, this.config, this.ser); - - var spy_callback = this.spy(); - this.Popcorn.listen("IriSP.PlayerWidget.MouseOver", spy_callback); - this.Popcorn.listen("IriSP.PlayerWidget.MouseOut", spy_callback); - - player.draw(); - var elem = player.selector.get(0); - - if( document.createEvent ) { - var evObj = document.createEvent('MouseEvents'); - evObj.initEvent( 'mouseover', true, false ); - elem.dispatchEvent(evObj); - } else if( document.createEventObject ) { - elem.fireEvent('onmouseover'); - } - - ok(spy_callback.called, "the MouseOver event has been fired"); - - if( document.createEvent ) { - var evObj = document.createEvent('MouseEvents'); - evObj.initEvent( 'mouseout', true, false ); - elem.dispatchEvent(evObj); - } else if( document.createEventObject ) { - elem.fireEvent('onmouseout'); - } - - ok(spy_callback.calledTwice, "the MouseOver event has been fired"); - }); - -};