blob: 43f9b1c39d2e61bed78723e0942fbb5154fc4490 [file] [log] [blame]
//
// @TODO Update to Latest HTML5 Audio Element Spec
// @see http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#audio
//
Tests.prototype.MediaTests = function() {
module('Media (Audio)');
test("should exist", function() {
expect(1);
ok(typeof Audio === "function" || typeof Audio === "object", "'Audio' should be defined as a function in global scope.");
});
test("should define constants for Media errors", function() {
expect(5);
ok(MediaError != null && typeof MediaError != 'undefined', "MediaError object exists in global scope.");
equals(MediaError.MEDIA_ERR_ABORTED, 1, "MediaError.MEDIA_ERR_ABORTED is equal to 1.");
equals(MediaError.MEDIA_ERR_NETWORK, 2, "MediaError.MEDIA_ERR_NETWORK is equal to 2.");
equals(MediaError.MEDIA_ERR_DECODE, 3, "MediaError.MEDIA_ERR_DECODE is equal to 3.");
equals(MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED, 4, "MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED is equal to 4.");
});
test("should contain 'src', 'loop' and 'error' properties", function() {
expect(7);
var audioSrc = '/test.mp3';
var audio = new Audio(audioSrc);
ok(typeof audio == "object", "Instantiated 'Audio' object instance should be of type 'object.'");
ok(audio.src != null && typeof audio.src != 'undefined', "Instantiated 'Audio' object's 'src' property should not be null or undefined.");
ok(audio.src.indexOf(audioSrc) >= 0, "Instantiated 'Audio' object's 'src' property should match constructor parameter.");
ok(audio.loop != null && typeof audio.loop != 'undefined', "Instantiated 'Audio' object's 'loop' property should not be null or undefined.");
ok(audio.loop == false, "Instantiated 'Audio' object's 'loop' property should initially be false.");
ok(typeof audio.error != 'undefined', "Instantiated 'Audio' object's 'error' property should not undefined.");
ok(audio.error == null, "Instantiated 'Audio' object's 'error' should initially be null.");
});
};