summaryrefslogtreecommitdiff
path: root/misc/openlayers/tests/BaseTypes.html
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/tests/BaseTypes.html')
-rw-r--r--misc/openlayers/tests/BaseTypes.html387
1 files changed, 0 insertions, 387 deletions
diff --git a/misc/openlayers/tests/BaseTypes.html b/misc/openlayers/tests/BaseTypes.html
deleted file mode 100644
index 38878dc..0000000
--- a/misc/openlayers/tests/BaseTypes.html
+++ /dev/null
@@ -1,387 +0,0 @@
-<html>
-<head>
- <script src="OLLoader.js"></script>
- <script type="text/javascript">
-
- function test_String_startsWith(t) {
- t.plan(3);
-
- var str = "chickenHead";
-
- var test1 = "chicken";
- var test2 = "beet";
-
- t.ok(OpenLayers.String.startsWith(str, "chicken"),
- "'chickenHead' starts with 'chicken'");
- t.ok(!OpenLayers.String.startsWith(str, "Head"),
- "'chickenHead' does not start with 'Head'");
- t.ok(!OpenLayers.String.startsWith(str, "beet"),
- "'chickenHead' doesnt start with 'beet'");
- }
-
- function test_String_contains(t) {
- t.plan(4);
-
- var str = "chickenHead";
-
- t.ok(OpenLayers.String.contains(str, "chicken"),
- "(beginning) 'chickenHead' contains with 'chicken'");
- t.ok(OpenLayers.String.contains(str, "ick"),
- "(middle) 'chickenHead' contains with 'ick'");
- t.ok(OpenLayers.String.contains(str, "Head"),
- "(end) 'chickenHead' contains with 'Head'");
- t.ok(!OpenLayers.String.startsWith(str, "beet"),
- "'chickenHead' doesnt start with 'beet'");
- }
-
- function test_String_trim(t) {
- t.plan(6);
-
- var str = "chickenHead";
- t.eq(OpenLayers.String.trim(str),
- "chickenHead", "string with no extra whitespace is left alone");
-
- str = " chickenHead";
- t.eq(OpenLayers.String.trim(str),
- "chickenHead", "string with extra whitespace at beginning is trimmed correctly");
-
- str = "chickenHead ";
- t.eq(OpenLayers.String.trim(str),
- "chickenHead", "string with extra whitespace at end is trimmed correctly");
-
- str = " chickenHead ";
- t.eq(OpenLayers.String.trim(str),
- "chickenHead", "string with extra whitespace at beginning and end is trimmed correctly");
-
- str = "chicken\nHead ";
- t.eq(OpenLayers.String.trim(str),
- "chicken\nHead", "multi-line string with extra whitespace at end is trimmed correctly");
- str = " ";
- t.eq(OpenLayers.String.trim(str), "", "whitespace string is trimmed correctly");
- }
-
- function test_String_camelize(t) {
- t.plan(7);
-
- var str = "chickenhead";
- t.eq(OpenLayers.String.camelize(str), "chickenhead", "string with no hyphens is left alone");
-
- str = "chicken-head";
- t.eq(OpenLayers.String.camelize(str), "chickenHead", "string with one middle hyphen is camelized correctly");
-
- str = "chicken-head-man";
- t.eq(OpenLayers.String.camelize(str), "chickenHeadMan", "string with multiple middle hyphens is camelized correctly");
-
- str = "-chickenhead";
- t.eq(OpenLayers.String.camelize(str), "Chickenhead", "string with starting hyphen is camelized correctly (capitalized)");
-
- str = "-chicken-head-man";
- t.eq(OpenLayers.String.camelize(str), "ChickenHeadMan", "string with starting hypen and multiple middle hyphens is camelized correctly");
-
- str = "chicken-";
- t.eq(OpenLayers.String.camelize(str), "chicken", "string ending in hyphen is camelized correctly (hyphen dropped)");
-
- str = "chicken-head-man-";
- t.eq(OpenLayers.String.camelize(str), "chickenHeadMan", "string with multiple middle hyphens and end hyphen is camelized correctly (end hyphen dropped)");
-
-
- }
-
- function test_String_format(t) {
- var unchanged = [
- "", "${ ", "${", " ${", "${${", "${}", "${${}}", " ${ ${",
- "}", "${${} }"
- ]
- t.plan(7 + unchanged.length);
-
- var format = OpenLayers.String.format;
-
- var expected;
- for(var i=0; i<unchanged.length; ++i) {
- expected = unchanged[i];
- t.eq(format(expected), expected,
- "'" + expected + "' left unchanged");
- }
-
- t.eq(format("${foo} none"),
- "undefined none", "undefined properties don't bomb");
-
- window.foo = "bar";
- t.eq(format("${foo} none"),
- "bar none", "window context used if none passed");
-
- var context = {bar: "foo"};
- t.eq(format("${bar} foo", context), "foo foo",
- "properties accessed from context");
-
- var context = {bar: "foo", foo: "bar"};
- t.eq(format("a ${bar} is a ${foo}", context), "a foo is a bar",
- "multiple properties replaced correctly");
-
- // test context with properties that are functions
- var context = {
- bar: "church",
- getDrunk: function() {
- return arguments[0];
- }
- };
- t.eq(
- format("I go to the ${bar} to ${getDrunk}.", context, ["eat pretzels"]),
- "I go to the church to eat pretzels.",
- "function correctly called in context with arguments"
- );
-
- // test that things don't break
- var context = {
- meaning: function(truth) {
- return truth;
- }
- };
- t.eq(
- format("In life, truth is ${meaning}.", context),
- "In life, truth is undefined.",
- "still works if arguments are not supplied"
- );
-
- // test contexts where attribute values can be objects
- var context = {
- a: {
- b: {
- c: 'd',
- e: function() {
- return 'f';
- }
- }
- }
- };
- t.eq(
- format("${a.b.c} ${a.b.e} ${a.b.q} ${a} ${a...b...c} ${aa.b} ${a.bb.c}", context),
- "d f undefined [object Object] d undefined undefined",
- "attribute values that are objects are supported"
- );
-
- }
-
- function test_String_isNumeric(t) {
- var cases = [
- {value: "3", expect: true},
- {value: "+3", expect: true},
- {value: "-3", expect: true},
- {value: "3.0", expect: true},
- {value: "+3.0", expect: true},
- {value: "-3.0", expect: true},
- {value: "6.02e23", expect: true},
- {value: "+1.0e-100", expect: true},
- {value: "-1.0e+100", expect: true},
- {value: "1E100", expect: true},
- {value: null, expect: false},
- {value: true, expect: false},
- {value: false, expect: false},
- {value: undefined, expect: false},
- {value: "", expect: false},
- {value: "3 ", expect: false},
- {value: " 3", expect: false},
- {value: "1e", expect: false},
- {value: "1+e", expect: false},
- {value: "1-e", expect: false}
- ];
- t.plan(cases.length);
-
- var func = OpenLayers.String.isNumeric;
- var obj, val, got, exp;
- for(var i=0; i<cases.length; ++i) {
- obj = cases[i];
- val = obj.value;
- exp = obj.expect;
- got = func(val);
- t.eq(got, exp, "'" + val + "' returns " + exp);
- }
-
- }
-
- function test_Number_numericIf(t) {
- var cases = [
- {value: "3", expect: 3, expectWithTrim: 3},
- {value: "+3", expect: 3, expectWithTrim: 3},
- {value: "-3", expect: -3, expectWithTrim: -3},
- {value: "3.0", expect: 3, expectWithTrim: 3},
- {value: "+3.0", expect: 3, expectWithTrim: 3},
- {value: "-3.0", expect: -3, expectWithTrim: -3},
- {value: "6.02e23", expect: 6.02e23, expectWithTrim: 6.02e23},
- {value: "+1.0e-100", expect: 1e-100, expectWithTrim: 1e-100},
- {value: "-1.0e+100", expect: -1e100, expectWithTrim: -1e100},
- {value: "1E100", expect: 1e100, expectWithTrim: 1e100},
- {value: null, expect: null, expectWithTrim: null},
- {value: true, expect: true, expectWithTrim: true},
- {value: false, expect: false, expectWithTrim: false},
- {value: undefined, expect: undefined, expectWithTrim: undefined},
- {value: "", expect: "", expectWithTrim: ""},
- {value: "3 ", expect: "3 ", expectWithTrim: 3},
- {value: " 3", expect: " 3", expectWithTrim: 3},
- {value: "1e", expect: "1e", expectWithTrim: "1e"},
- {value: "1+e", expect: "1+e", expectWithTrim: "1+e"},
- {value: "1-e", expect: "1-e", expectWithTrim: "1-e"},
- {value: " 27 ", expect: " 27 ", expectWithTrim: 27},
- {value: " abc ", expect: " abc ", expectWithTrim: " abc "}
- ];
- t.plan(cases.length*2);
-
- var func = OpenLayers.String.numericIf;
- var obj, val, got, exp;
- for(var i=0; i<cases.length; ++i) {
- obj = cases[i];
- val = obj.value;
- exp = obj.expect;
- got = func(val);
- t.eq(got, exp, "'" + val + "' returns " + exp);
- got = func(val, true);
- exp = obj.expectWithTrim;
- t.eq(got, exp, "'" + val + "' returns " + exp + " with trimWhitespace true");
- }
- }
-
-
- function test_Number_limitSigDigs(t) {
- t.plan(9);
-
- var num = 123456789;
- t.eq(OpenLayers.Number.limitSigDigs(num), 0, "passing 'null' as sig returns 0");
- t.eq(OpenLayers.Number.limitSigDigs(num, -1), 0, "passing -1 as sig returns 0");
- t.eq(OpenLayers.Number.limitSigDigs(num, 0), 0, "passing 0 as sig returns 0");
-
- t.eq(OpenLayers.Number.limitSigDigs(num, 15), 123456789, "passing sig greater than num digits in number returns number unmodified");
-
- t.eq(OpenLayers.Number.limitSigDigs(num, 1), 100000000, "passing sig 1 works");
- t.eq(OpenLayers.Number.limitSigDigs(num, 3), 123000000, "passing middle sig works (rounds down)");
- t.eq(OpenLayers.Number.limitSigDigs(num, 5), 123460000, "passing middle sig works (rounds up)");
- t.eq(OpenLayers.Number.limitSigDigs(num, 9), 123456789, "passing sig equal to num digits in number works");
-
- num = 1234.56789;
- t.eq(OpenLayers.Number.limitSigDigs(num, 5), 1234.6, "running limSigDig() on a floating point number works fine");
-
- }
-
- function test_Number_format(t) {
- t.plan(9);
- var format = OpenLayers.Number.format;
- t.eq(format(12345), "12,345", "formatting an integer number works");
- t.eq(format(12345, 3), "12,345.000", "zero padding an integer works");
- t.eq(format(12345, null, ","), "12,345", "adding thousands separator to an integer works");
- t.eq(format(12345, 0, ","), "12,345", "adding thousands separator to an integer with defined 0 decimal places works");
-
- var num = 12345.6789
- t.eq(format(num, null, "", ","), "12345,6789", "only changing decimal separator and leaving everything else untouched works");
- t.eq(format(num, 5), "12,345.67890", "filling up decimals with trailing zeroes works");
- t.eq(format(num, 3, ".", ","), "12.345,679", "rounding and changing decimal/thousands separator in function call works");
- t.eq(format(num, 0, ""), "12346", "empty thousands separator in function call works");
- OpenLayers.Number.thousandsSeparator = ".";
- OpenLayers.Number.decimalSeparator = ",";
- t.eq(format(num, 3), "12.345,679", "changing thousands/decimal separator globally works");
- }
-
- function test_Number_zeroPad(t) {
- t.plan(6);
- var pad = OpenLayers.Number.zeroPad;
- t.eq(pad(15, 4), "0015", "left padding works");
- t.eq(pad(15, 2), "15", "no left padding when equal to number of digits");
- t.eq(pad(15, 1), "15", "no left padding when less than number of digits");
- t.eq(pad(10, 5, 2), "01010", "radix modified and padding works");
- t.eq(pad(10, 5, 8), "00012", "radix modified and padding works");
- t.eq(pad(10, 5, 36), "0000a", "radix modified and padding works");
- }
-
- function test_Function_bind(t) {
- t.plan(12);
-
- g_obj = {};
- g_Arg1 = {};
- g_Arg2 = {};
- g_Arg3 = {};
- g_Arg4 = {};
- var foo = function(x,y,z,a) {
- t.ok(this == g_obj, "context correctly set");
- t.ok(x == g_Arg1, "arg1 passed correctly");
- t.ok(y == g_Arg2, "arg2 passed correctly");
- t.ok(z == g_Arg3, "arg3 passed correctly");
- t.ok(a == g_Arg4, "arg4 passed correctly");
- t.eq(arguments.length, 4, "correct number of arguments ((regression test for #876))");
- };
-
- var newFoo = OpenLayers.Function.bind(foo, g_obj, g_Arg1, g_Arg2);
-
- newFoo(g_Arg3, g_Arg4);
-
- //run again to make sure the arguments are handled correctly
- newFoo(g_Arg3, g_Arg4);
- }
-
- function test_Function_Void(t) {
-
- t.plan(1);
- t.eq(OpenLayers.Function.Void(), undefined, "returns undefined");
-
- }
-
- function test_Function_bindAsEventListener(t) {
- t.plan(4);
-
- g_obj = {};
- g_Event = {};
- g_WindowEvent = {};
-
- var foo = function(x) {
- t.ok(this == g_obj, "context correctly set");
- g_X = x;
- };
-
- var newFoo = OpenLayers.Function.bindAsEventListener(foo, g_obj);
-
-
- g_X = null;
- newFoo(g_Event);
- t.ok(g_X == g_Event, "event properly passed as first argument when event specified");
-
- g_X = null;
- newFoo();
- t.ok(g_X == window.event, "window.event properly passed as first argument when nothing specified");
- }
-
- function test_Array_filter(t) {
-
- t.plan(8);
-
- OpenLayers.Array.filter(["foo"], function(item, index, array) {
- t.eq(item, "foo", "callback called with proper item");
- t.eq(index, 0, "callback called with proper index");
- t.eq(array, ["foo"], "callback called with proper array");
- t.eq(this, {"foo": "bar"}, "callback called with this set properly");
- }, {"foo": "bar"});
-
- var array = [0, 1, 2, 3];
- var select = OpenLayers.Array.filter(array, function(value) {
- return value > 1;
- });
- t.eq(select, [2, 3], "filter works for basic callback");
- t.eq(array, [0, 1, 2, 3], "filter doesn't modify original");
-
- var obj = {
- test: function(value) {
- if(value > 1) {
- return true;
- }
- }
- };
- var select = OpenLayers.Array.filter(array, function(value) {
- return this.test(value);
- }, obj);
- t.eq(select, [2, 3], "filter works for callback and caller");
- t.eq(array, [0, 1, 2, 3], "filter doesn't modify original");
-
-
- }
-
- </script>
-</head>
-<body>
-</body>
-</html>