Files
openlayers/tests/node.js/mockdom.js
crschmidt 9d5ab38fc0 Get rid of unneeded alert = print. If your app needs alert messages, deal with
them in your app. (No functional change; makes OpenLayers functional without
jsdom in node.js.)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@12071 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2011-06-08 03:05:02 +00:00

105 lines
2.7 KiB
JavaScript

XMLHttpRequest = function() {
return {
'open': function() { },
'send': function() { }
}
};
navigator = {
'appName': 'mockdom',
'userAgent': 'mockdom',
'appVersion': '0.1',
'language': 'en',
'userLanguage': 'en'
}
element = function(type) {
type = type || "";
return {
'childNodes': [],
'className': '',
'tagName': type.toUpperCase(),
'style': {},
'setAttribute': function(attr, value) {
this[attr] = value;
},
'appendChild': function(element) {
if (this.childNodes.length) {
this.childNodes[this.childNodes.length - 1].nextSibling = element;
} else {
this.firstChild = element;
}
element.parentNode = this;
this.childNodes.push(element);
},
'removeChild': function(element) {
var i = this.childNodes.indexOf(element);
this.childNodes.splice(i, 1);
},
'addEventListener': function() {
},
'removeEventListener': function() {
},
'getElementsByTagName': function(name, externalList) {
var uc = name.toUpperCase();
var list = externalList || [];
for(var i = 0; i < this.childNodes.length; i++) {
if (this.childNodes[i].tagName == uc) {
list.push(this.childNodes[i]);
}
this.childNodes[i].getElementsByTagName(name, list);
}
return list;
},
'getElementById': function(id) {
for(var i = 0; i < this.childNodes.length; i++) {
if (this.childNodes[i].id == id) {
return this.childNodes[i];
} else {
var elem = this.childNodes[i].getElementById(id);
if (elem) {
return elem
}
}
}
}
}
};
document = element();
document.createElement = function(type) {
return element(type);
};
document.createTextNode = function(text) {
var e = element("Text");
e.innerHTML = text;
}
document.appendChild(element("head"));
document.body = element("body");
document.appendChild(document.body);
window = {
'addEventListener': function() {
},
'getSelection': function() {
return {
collapseToStart: function() {}
}
},
document: document,
navigator: navigator,
location: {
href: '#',
port: '',
hostname: 'openlayers.org',
host: 'openlayers.org',
proto: 'https'
}
};
document.location = window.location;
window.Function = Function;