summaryrefslogtreecommitdiff
path: root/javascript/videojs/test/unit/tracks/track-baseline.js
diff options
context:
space:
mode:
Diffstat (limited to 'javascript/videojs/test/unit/tracks/track-baseline.js')
-rw-r--r--javascript/videojs/test/unit/tracks/track-baseline.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/javascript/videojs/test/unit/tracks/track-baseline.js b/javascript/videojs/test/unit/tracks/track-baseline.js
new file mode 100644
index 0000000..4d24873
--- /dev/null
+++ b/javascript/videojs/test/unit/tracks/track-baseline.js
@@ -0,0 +1,49 @@
+/* eslint-env qunit */
+import TechFaker from '../tech/tech-faker';
+
+/**
+ * Tests baseline functionality for all tracks
+ *
+ # @param {Track} TrackClass the track class object to use for testing
+ # @param {Object} options the options to setup a track with
+ */
+const TrackBaseline = function(TrackClass, options) {
+
+ QUnit.test('is setup with id, kind, label, and language', function(assert) {
+ const tech = new TechFaker();
+ const track = new TrackClass(Object.assign({tech}, options));
+
+ assert.equal(track.kind, options.kind, 'we have a kind');
+ assert.equal(track.label, options.label, 'we have a label');
+ assert.equal(track.language, options.language, 'we have a language');
+ assert.equal(track.id, options.id, 'we have a id');
+
+ tech.dispose();
+ });
+
+ QUnit.test('kind, language, id, are read only', function(assert) {
+ const tech = new TechFaker();
+ const track = new TrackClass(Object.assign({tech}, options));
+
+ track.kind = 'subtitles';
+ track.language = 'es';
+ track.id = '2';
+
+ assert.equal(track.kind, options.kind, 'we have a kind');
+ assert.equal(track.language, options.language, 'we have a language');
+ assert.equal(track.id, options.id, 'we have an id');
+
+ tech.dispose();
+ });
+
+ QUnit.test('returns an instance of itself on non ie8 browsers', function(assert) {
+ const tech = new TechFaker();
+ const track = new TrackClass(Object.assign({tech}, options));
+
+ assert.ok(track instanceof TrackClass, 'returns an instance');
+
+ tech.dispose();
+ });
+};
+
+export default TrackBaseline;