// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- const GLib = imports.gi.GLib; const Shell = imports.gi.Shell; const JsUnit = imports.jsUnit; const ModemManager = imports.misc.modemManager; const Environment = imports.ui.environment; Environment.init(); // Load test providers table let countrycodesPath = GLib.getenv("GNOME_SHELL_TESTSDIR") + "/testcommon/iso3166-test.tab"; let serviceprovidersPath = GLib.getenv("GNOME_SHELL_TESTSDIR") + "/testcommon/serviceproviders-test.xml"; let providersTable = Shell.mobile_providers_parse(countrycodesPath, serviceprovidersPath); function assertCountryFound(country_code, expected_country_name) { let country = providersTable[country_code]; JsUnit.assertNotUndefined(country); JsUnit.assertEquals(country.get_country_name(), expected_country_name); } function assertCountryNotFound(country_code) { let country = providersTable[country_code]; JsUnit.assertUndefined(country); } function assertProviderFoundForMCCMNC(mccmnc, expected_provider_name) { let provider_name = ModemManager.findProviderForMCCMNC(providersTable, mccmnc); JsUnit.assertEquals(provider_name, expected_provider_name); } function assertProviderNotFoundForMCCMNC(mccmnc) { let provider_name = ModemManager.findProviderForMCCMNC(providersTable, mccmnc); JsUnit.assertNull(provider_name); } function assertProviderFoundForSid(sid, expected_provider_name) { let provider_name = ModemManager.findProviderForSid(providersTable, sid); JsUnit.assertEquals(provider_name, expected_provider_name); } function assertProviderNotFoundForSid(sid) { let provider_name = ModemManager.findProviderForSid(providersTable, sid); JsUnit.assertNull(provider_name); } // TEST: // * Both 'US' and 'ES' country info should be loaded assertCountryFound("ES", "Spain"); assertCountryFound("US", "United States"); // TEST: // * Country info for 'FR' not given assertCountryNotFound("FR"); // TEST: // * Ensure operator names are found for the given MCC/MNC codes assertProviderFoundForMCCMNC("21405", "Movistar (Telefónica)"); assertProviderFoundForMCCMNC("21407", "Movistar (Telefónica)"); assertProviderFoundForMCCMNC("310038", "AT&T"); assertProviderFoundForMCCMNC("310090", "AT&T"); assertProviderFoundForMCCMNC("310150", "AT&T"); assertProviderFoundForMCCMNC("310995", "Verizon"); assertProviderFoundForMCCMNC("311480", "Verizon"); // TEST: // * Ensure NULL is given for unexpected MCC/MNC codes assertProviderNotFoundForMCCMNC("12345"); // TEST: // * Ensure operator names are found for the given SID codes assertProviderFoundForSid(2, "Verizon"); assertProviderFoundForSid(4, "Verizon"); assertProviderFoundForSid(5, "Verizon"); // TEST: // * Ensure NULL is given for unexpected SID codes assertProviderNotFoundForSid(1);