tenfourfox/dom/phonenumberutils/tests/test_phonenumberutils.xul
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

95 lines
2.9 KiB
XML

<?xml version="1.0"?>
<!-- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ -->
<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Mozilla Bug 781379">
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
<script type="application/javascript" src="head.js"/>
<!-- test results are displayed in the html:body -->
<body xmlns="http://www.w3.org/1999/xhtml">
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=809213"
target="_blank">Mozilla Bug 809213</a>
</body>
<script type="application/javascript;version=1.8">
"use strict";
Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/PhoneNumberUtils.jsm");
Services.prefs.setIntPref("dom.phonenumber.substringmatching.BR", 8);
Services.prefs.setCharPref("ril.lastKnownSimMcc", "724");
function CantParseWithMcc(dial, mcc) {
var result = PhoneNumberUtils.parseWithMCC(dial, mcc);
if (result) {
ok(false, "Shouldn't parse!\n");
dump("expected: does not parse");
dump("got: " + dial + " " + mcc);
} else {
ok(true, "Parses");
}
}
function ParseWithMcc(dial, mcc) {
var result = PhoneNumberUtils.parseWithMCC(dial, mcc);
if (result) {
ok(true, "Parses!\n");
} else {
ok(false, "Should Parse");
dump("expected: parses");
}
}
function ParseWithCountryName(dial, countryName) {
var result = PhoneNumberUtils.parseWithCountryName(dial, countryName);
if (result) {
ok(true, "Parses!\n");
} else {
ok(false, "Should Parse");
dump("expected: parses");
}
}
function CantParseWithCountryName(dial, countryName) {
var result = PhoneNumberUtils.parseWithCountryName(dial, countryName);
if (result) {
ok(false, "Should not Parse");
dump("expected: does not parse!\n");
} else {
ok(true, "Expected Parsing error!\n");
}
}
function FuzzyMatch(number1, number2, expect) {
var result = PhoneNumberUtils.fuzzyMatch(number1, number2);
is(result, expect, "FuzzyMatch OK!");
}
// Unknown mcc
CantParseWithMcc("1234", 123);
ParseWithMcc("4165555555", 302);
ParseWithCountryName("4155123456", "US");
CantParseWithCountryName("4155123456", "001");
CantParseWithCountryName("4155123456", "XXY");
ParseWithCountryName("4155123456", "US");
is(PhoneNumberUtils.normalize("123abc", true), "123", "NumbersOnly");
is(PhoneNumberUtils.normalize("123abc", false), "123222", "NumbersOnly");
FuzzyMatch("123abc", "123222", true);
FuzzyMatch("123456789", "123456789", true);
FuzzyMatch("111", null, false);
FuzzyMatch("+552155555555", "2155555555", true);
FuzzyMatch("aaa123456789", "zzzzz123456789", true);
</script>
</window>