12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- // Copyright 2011 The Closure Library Authors. All Rights Reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS-IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- goog.provide('goog.ui.media.MediaModelTest');
- goog.setTestOnly('goog.ui.media.MediaModelTest');
- goog.require('goog.testing.jsunit');
- goog.require('goog.ui.media.MediaModel');
- /**
- * 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);
- }
|