tenfourfox/dom/tv/test/xpcshell/test_tv_tuner_data.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

66 lines
1.6 KiB
JavaScript

"use strict";
const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
function run_test() {
run_next_test();
}
add_test(function test_valid_id() {
var id = "id";
var data = Cc["@mozilla.org/tv/tvtunerdata;1"].
createInstance(Ci.nsITVTunerData);
data.id = id;
equal(data.id, id);
run_next_test();
});
add_test(function test_empty_id() {
var data = Cc["@mozilla.org/tv/tvtunerdata;1"].
createInstance(Ci.nsITVTunerData);
Assert.throws(function() {
data.id = "";
}, /NS_ERROR_ILLEGAL_VALUE/i);
run_next_test();
});
add_test(function test_valid_supported_source_types() {
var sourceTypes = ["dvb-t", "dvb-s"];
var data = Cc["@mozilla.org/tv/tvtunerdata;1"].
createInstance(Ci.nsITVTunerData);
data.setSupportedSourceTypes(sourceTypes.length, sourceTypes);
var types = data.getSupportedSourceTypes();
equal(types.length, sourceTypes.length);
for (var i = 0; i < types.length; i++) {
equal(types[i], sourceTypes[i]);
}
run_next_test();
});
add_test(function test_empty_supported_source_types() {
var data = Cc["@mozilla.org/tv/tvtunerdata;1"].
createInstance(Ci.nsITVTunerData);
Assert.throws(function() {
data.setSupportedSourceTypes(0, []);
}, /NS_ERROR_ILLEGAL_VALUE/i);
run_next_test();
});
add_test(function test_mismatched_supported_source_types() {
var data = Cc["@mozilla.org/tv/tvtunerdata;1"].
createInstance(Ci.nsITVTunerData);
Assert.throws(function() {
data.setSupportedSourceTypes(1, []);
}, /NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY/i);
run_next_test();
});