added a function to convert a number of seconds to an hour, minutes, seconds. popcorn-port
authorhamidouk
Wed, 16 Nov 2011 11:20:52 +0100
branchpopcorn-port
changeset 252 fd84e0fb26d8
parent 251 116c86db7e17
child 253 95c6b77f005e
added a function to convert a number of seconds to an hour, minutes, seconds.
src/js/utils.js
unittests/index.html
unittests/tests/utils.js
--- a/src/js/utils.js	Wed Nov 16 10:54:13 2011 +0100
+++ b/src/js/utils.js	Wed Nov 16 11:20:52 2011 +0100
@@ -29,6 +29,16 @@
 	return Math.floor((time/timetotal) * 100);
 };
 
+/* convert a number of seconds to a tuple of the form 
+   [hours, minutes, seconds]
+*/
+IriSP.secondsToTime = function(secs) {
+  var hours = Math.abs(parseInt( secs / 3600 ) % 24);
+  var minutes = Math.abs(parseInt( secs / 60 ) % 60);
+  var seconds = Math.abs(secs % 60);
+  
+  return [hours, minutes, seconds];
+}
 /* for ie compatibility
 if (Object.prototype.__defineGetter__&&!Object.defineProperty) {
    Object.defineProperty=function(obj,prop,desc) {
--- a/unittests/index.html	Wed Nov 16 10:54:13 2011 +0100
+++ b/unittests/index.html	Wed Nov 16 11:20:52 2011 +0100
@@ -27,11 +27,12 @@
 	<script src="tests/serializers/JSONSerializer.js" type="text/javascript"></script>
 	<script src="tests/serializerFactory.js" type="text/javascript"></script>
 	<script src="tests/widget.js" type="text/javascript"></script>
-	<script src="tests/widgets/playerWidget.js" type="text/javascript"></script>
+	<script src="tests/utils.js" type="text/javascript"></script>	
+	<script src="tests/layout.js" type="text/javascript"></script>
+	<script src="tests/init.js" type="text/javascript"></script>
+  <script src="tests/widgets/playerWidget.js" type="text/javascript"></script>
 	<script src="tests/widgets/annotationsWidget.js" type="text/javascript"></script>
 	<script src="tests/widgets/segmentsWidget.js" type="text/javascript"></script>
-	<script src="tests/layout.js" type="text/javascript"></script>
-	<script src="tests/init.js" type="text/javascript"></script>
 	<script src="tests/widgets/tooltipWidget.js" type="text/javascript"></script>
 	<script src="tests/widgets/polemicWidget.js" type="text/javascript"></script>
 	<script src="tests/widgets/sliderWidget.js" type="text/javascript"></script>
@@ -42,11 +43,12 @@
 		IriSP.jQuery = jQuery;
 		
 		test_dataloader();
-		test_serializer();
+		test_serializer();    
 		test_mockSerializer();
 		test_mockTweetSerializer();
 		test_JSONSerializer();
 		test_serializerFactory();
+    test_utils();
 		test_widget();
 		test_player_widget();
 		test_annotations_widget();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/unittests/tests/utils.js	Wed Nov 16 11:20:52 2011 +0100
@@ -0,0 +1,12 @@
+function test_utils() {
+  module("Utility function tests");
+  
+  test("test function to convert from seconds to a time", function() {
+    var h = 13, m = 7, s = 41;
+    var t = 13 * 3600 + 7* 60 + 41;
+    deepEqual(IriSP.secondsToTime(t), [h, m, s], "the converted time is correct");
+    
+    t = -t;
+    deepEqual(IriSP.secondsToTime(t), [h, m, s], "the function is immune to negative numbers.");
+  });
+}
\ No newline at end of file