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
105 lines
2.7 KiB
JavaScript
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;
|