From 1e80e59614a748d35607dd63ac994ae99eb061e2 Mon Sep 17 00:00:00 2001 From: Alex Barstow Date: Fri, 14 Jul 2017 14:20:37 -0400 Subject: [PATCH] test: add unit tests for player.duration() (#4459) Unit tests for https://github.com/videojs/video.js/pull/4443 --- test/unit/player.test.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/unit/player.test.js b/test/unit/player.test.js index 328637ad44..4723378054 100644 --- a/test/unit/player.test.js +++ b/test/unit/player.test.js @@ -1655,3 +1655,31 @@ QUnit.test('should add a class with major version', function(assert) { player.dispose(); }); + +QUnit.test('player.duration() returns NaN if player.cache_.duration is undefined', function(assert) { + const player = TestHelpers.makePlayer(); + + player.cache_.duration = undefined; + assert.ok(Number.isNaN(player.duration()), 'returned NaN for unkown duration'); +}); + +QUnit.test('player.duration() returns player.cache_.duration if it is defined', function(assert) { + const player = TestHelpers.makePlayer(); + + player.cache_.duration = 200; + assert.equal(player.duration(), 200, 'returned correct integer duration'); + player.cache_.duration = 942; + assert.equal(player.duration(), 942, 'returned correct integer duration'); +}); + +QUnit.test('player.duration() sets the value of player.cache_.duration', function(assert) { + const player = TestHelpers.makePlayer(); + + // set an arbitrary initial cached duration value for testing the setter functionality + player.cache_.duration = 1; + + player.duration(NaN); + assert.ok(Number.isNaN(player.duration()), 'duration() set and get NaN duration value'); + player.duration(200); + assert.equal(player.duration(), 200, 'duration() set and get integer duration value'); +});