UNPKG

sku-pg

Version:

Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!

109 lines (94 loc) 3.5 kB
<!DOCTYPE html> <html> <!-- Copyright 2011 The Closure Library Authors. All Rights Reserved. Use of this source code is governed by the Apache License, Version 2.0. See the COPYING file for details. --> <!-- deboer@google.com (James deBoer) --> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Closure Unit Tests - goog.ui.media.MediaModel</title> <script src="../../base.js"></script> <script> goog.require('goog.dom'); goog.require('goog.events'); goog.require('goog.log'); goog.require('goog.math.Size'); goog.require('goog.testing.LooseMock'); goog.require('goog.testing.jsunit'); goog.require('goog.ui.media.MediaModel'); goog.require('goog.ui.media.MediaModel.Player'); goog.require('goog.ui.media.MediaModel.Thumbnail'); </script> </head> <body> <script> /** * A simple model used in many tests. */ var model; function setUp() { model = new goog.ui.media.MediaModel( 'http://url.com', 'a caption', 'a description'); } function testMediaModel() { assertEquals('http://url.com', model.getUrl()); assertEquals('a caption', model.getCaption()); assertEquals('a description', model.getDescription()); var incompleteModel = new goog.ui.media.MediaModel( 'http://foo.bar', undefined, 'This media has no caption but has a description and a URL'); assertEquals('http://foo.bar', incompleteModel.getUrl()); assertUndefined(incompleteModel.getCaption()); assertEquals('This media has no caption but has a description and a URL', incompleteModel.getDescription()); assertArrayEquals([], incompleteModel.getThumbnails()); } function testMediaModelFindCategoryWithScheme() { assertNull(model.findCategoryWithScheme('no such scheme')); model.setCategories([ new goog.ui.media.MediaModel.Category('scheme-a', 'value-a'), new goog.ui.media.MediaModel.Category('scheme-b', 'value-b') ]); assertNull(model.findCategoryWithScheme('no such scheme')); assertEquals('value-a', model.findCategoryWithScheme('scheme-a').getValue()); assertEquals('value-b', model.findCategoryWithScheme('scheme-b').getValue()); } function testMediaModelFindCreditsWithRole() { assertEquals(0, model.findCreditsWithRole('no such role').length); model.setCredits([ new goog.ui.media.MediaModel.Credit('value-a', 'role-a'), new goog.ui.media.MediaModel.Credit('value-a2', 'role-a'), new goog.ui.media.MediaModel.Credit('value-b', 'role-b') ]); assertEquals(0, model.findCreditsWithRole('no such role').length); assertEquals(2, model.findCreditsWithRole('role-a').length); assertEquals('value-a', model.findCreditsWithRole('role-a')[0].getValue()); assertEquals('value-a2', model.findCreditsWithRole('role-a')[1].getValue()); assertEquals('value-b', model.findCreditsWithRole('role-b')[0].getValue()); } function testMediaModelSubtitles() { model.setSubTitles([ new goog.ui.media.MediaModel.SubTitle( 'uri', '*', 'application/tts+xml') ]); assertEquals(1, model.getSubTitles().length); assertEquals('uri', model.getSubTitles()[0].getHref()); assertEquals('*', model.getSubTitles()[0].getLang()); assertEquals('application/tts+xml', model.getSubTitles()[0].getType()); } function testMediaModelNoSubtitles() { assertEquals(0, model.getSubTitles().length); } </script> </body> </html>