From 0815f3498ab47535d0fa4981b36bdce5b4d2a24b Mon Sep 17 00:00:00 2001 From: Prem Sichanugrist Date: Mon, 25 Jun 2012 14:59:25 -0400 Subject: [PATCH] Cleanup Video Logger, update logging message --- .../spec/modules/video/video_player_spec.coffee | 8 ++++---- lms/static/coffee/spec/modules/video_spec.coffee | 15 +++++++++++++++ lms/static/coffee/src/modules/video.coffee | 7 +++++++ .../coffee/src/modules/video/video_player.coffee | 4 ++-- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/lms/static/coffee/spec/modules/video/video_player_spec.coffee b/lms/static/coffee/spec/modules/video/video_player_spec.coffee index aa5d1f3187..0255e05f0a 100644 --- a/lms/static/coffee/spec/modules/video/video_player_spec.coffee +++ b/lms/static/coffee/spec/modules/video/video_player_spec.coffee @@ -144,7 +144,7 @@ describe 'VideoPlayer', -> beforeEach -> @anotherPlayer = jasmine.createSpyObj 'AnotherPlayer', ['pauseVideo'] window.player = @anotherPlayer - spyOn Logger, 'log' + spyOn @video, 'log' spyOn(window, 'setInterval').andReturn 100 spyOn @player.control, 'play' @player.caption.play = jasmine.createSpy('VideoCaption.play') @@ -153,7 +153,7 @@ describe 'VideoPlayer', -> @player.onStateChange data: YT.PlayerState.PLAYING it 'log the play_video event', -> - expect(Logger.log).toHaveBeenCalledWith 'play_video', id: @player.currentTime, code: 'embedCode' + expect(@video.log).toHaveBeenCalledWith 'play_video', id: @player.currentTime, code: 'embedCode' it 'pause other video player', -> expect(@anotherPlayer.pauseVideo).toHaveBeenCalled() @@ -178,7 +178,7 @@ describe 'VideoPlayer', -> beforeEach -> @player = new VideoPlayer video: @video window.player = @player.player - spyOn Logger, 'log' + spyOn @video, 'log' spyOn window, 'clearInterval' spyOn @player.control, 'pause' @player.caption.pause = jasmine.createSpy('VideoCaption.pause') @@ -187,7 +187,7 @@ describe 'VideoPlayer', -> @player.onStateChange data: YT.PlayerState.PAUSED it 'log the pause_video event', -> - expect(Logger.log).toHaveBeenCalledWith 'pause_video', id: @player.currentTime, code: 'embedCode' + expect(@video.log).toHaveBeenCalledWith 'pause_video' it 'set current video player as inactive', -> expect(window.player).toBeNull() diff --git a/lms/static/coffee/spec/modules/video_spec.coffee b/lms/static/coffee/spec/modules/video_spec.coffee index 6498cdfa76..6d781cb699 100644 --- a/lms/static/coffee/spec/modules/video_spec.coffee +++ b/lms/static/coffee/spec/modules/video_spec.coffee @@ -128,3 +128,18 @@ describe 'Video', -> it 'return duration for current video', -> expect(@video.getDuration()).toEqual 200 + + describe 'log', -> + beforeEach -> + @video = new Video 'example', '.75:abc123,1.0:def456' + @video.setSpeed '1.0' + spyOn Logger, 'log' + @video.player = { currentTime: 25 } + @video.log 'someEvent' + + it 'call the logger with valid parameters', -> + expect(Logger.log).toHaveBeenCalledWith 'someEvent', + id: 'example' + code: 'def456' + currentTime: 25 + speed: '1.0' diff --git a/lms/static/coffee/src/modules/video.coffee b/lms/static/coffee/src/modules/video.coffee index 8192f4c312..7062d2d7ce 100644 --- a/lms/static/coffee/src/modules/video.coffee +++ b/lms/static/coffee/src/modules/video.coffee @@ -45,3 +45,10 @@ class @Video getDuration: -> @metadata[@youtubeId()].duration + + log: (eventName) -> + Logger.log eventName, + id: @id + code: @youtubeId() + currentTime: @player.currentTime + speed: @speed diff --git a/lms/static/coffee/src/modules/video/video_player.coffee b/lms/static/coffee/src/modules/video/video_player.coffee index 24cb5fbc51..b697caace4 100644 --- a/lms/static/coffee/src/modules/video/video_player.coffee +++ b/lms/static/coffee/src/modules/video/video_player.coffee @@ -68,7 +68,7 @@ class @VideoPlayer extends Subview @caption.pause() onPlay: => - Logger.log 'play_video', id: @currentTime, code: @player.getVideoEmbedCode() + @video.log 'play_video' window.player.pauseVideo() if window.player && window.player != @player window.player = @player unless @player.interval @@ -78,7 +78,7 @@ class @VideoPlayer extends Subview @progressSlider.play() onPause: => - Logger.log 'pause_video', id: @currentTime, code: @player.getVideoEmbedCode() + @video.log 'pause_video' window.player = null if window.player == @player clearInterval(@player.interval) @player.interval = null