X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=build%2Fruntest%2Fenv.js;h=564b02207754035687ca19f2bb0caa5332a21cd5;hb=b5bf00a37368baf69595434c0329f869b9ca18e9;hp=23b413640f2d2c16e764d624b279b217c0ec71b8;hpb=6f0c9a5fd751d590be07e890758b8229e630413d;p=jquery.git
diff --git a/build/runtest/env.js b/build/runtest/env.js
index 23b4136..564b022 100644
--- a/build/runtest/env.js
+++ b/build/runtest/env.js
@@ -1,3 +1,9 @@
+/*
+ * Simulated browser environment for Rhino
+ * By John Resig
+ * Copyright 2007 John Resig, under the MIT License
+ */
+
// The window Object
var window = this;
@@ -12,7 +18,9 @@ var window = this;
};
window.__defineSetter__("location", function(url){
- window.document = new DOMDocument(url);
+ window.document = new DOMDocument(
+ new Packages.org.xml.sax.InputSource(
new java.io.InputStreamReader(
+ new java.io.FileInputStream(url))));
});
window.__defineGetter__("location", function(url){
@@ -97,16 +105,11 @@ var window = this;
get body(){
return this.getElementsByTagName("body")[0];
},
- defaultView: {
- getComputedStyle: {
- getPropertyValue: function(){ }
- }
- },
get documentElement(){
return makeNode( this._dom.getDocumentElement() );
},
get ownerDocument(){
- return this;
+ return null;
},
addEventListener: function(){},
removeEventListener: function(){},
@@ -123,12 +126,20 @@ var window = this;
get defaultView(){
return {
- getComputedStyle: function(){
+ getComputedStyle: function(elem){
return {
- getPropertyValue: function(){
- return "";
+ getPropertyValue: function(prop){
+ prop = prop.replace(/\-(\w)/g,function(m,c){
+ return c.toUpperCase();
+ });
+ var val = elem.style[prop];
+
+ if ( prop == "opacity" && val == "" )
+ val = "1";
+
+ return val;
}
- }
+ };
}
};
}
@@ -206,8 +217,7 @@ var window = this;
this.style = {};
// Load CSS info
- var styles = (new String(this.getAttribute("style") || ""))
- .split(/\s*;\s*/);
+ var styles = (this.getAttribute("style") || "").split(/\s*;\s*/);
for ( var i = 0; i < styles.length; i++ ) {
var style = styles[i].split(/\s*:\s*/);
@@ -257,7 +267,7 @@ var window = this;
var nodes = this.ownerDocument.importNode(
new DOMDocument( new java.io.ByteArrayInputStream(
(new java.lang.String("" + html + ""))
- .getBytes())).documentElement, true).childNodes;
+ .getBytes("UTF8"))).documentElement, true).childNodes;
while (this.firstChild)
this.removeChild( this.firstChild );
@@ -348,7 +358,7 @@ var window = this;
getAttribute: function(name){
return this._dom.hasAttribute(name) ?
- this._dom.getAttribute(name) :
+ new String( this._dom.getAttribute(name) ) :
null;
},
setAttribute: function(name,value){