Merge pull request #268 from tschaub/has

Fixing the extend method to work on IE.
This commit is contained in:
Tim Schaub
2012-03-03 07:12:56 -08:00
2 changed files with 26 additions and 2 deletions

View File

@@ -91,7 +91,7 @@ OpenLayers.Util.extend = function(destination, source) {
destination = destination || {};
if (source) {
for (var property in source) {
if (source.hasOwnProperty(property)) {
if (Object.prototype.hasOwnProperty.call(source, property)) {
var value = source[property];
if (value !== undefined) {
destination[property] = value;

View File

@@ -1120,7 +1120,31 @@
t.eq(OpenLayers.Util.getFormattedLonLat(-181, "lon"), "179°00'00\"E", "crossing dateline from the west results in correct east coordinate");
t.eq(OpenLayers.Util.getFormattedLonLat(181, "lon"), "179°00'00\"W", "crossing dateline from the east results in correct west coordinate");
}
/**
* To test that we can safely call OpenLayers.Util.extend with an Event
* instance, we need to capture a real event.
*/
var loadEvent;
window.onload = function(evt) {
loadEvent = evt || window.event;
}
function test_extend_event(t) {
t.plan(2);
t.ok(loadEvent, "loadEvent recorded");
var extended, err;
try {
extended = OpenLayers.Util.extend({foo: "bar"}, loadEvent);
} catch (e) {
err = e;
}
if (err) {
t.fail("Failed to extend with an event: " + err.message);
} else {
t.eq(extended && extended.foo, "bar", "extended with event");
}
}
</script>
</head>
<body>