Fix tests for Safari 3. Composite styles like border have to be read through their component properties. Invalid styles, like filter, return null regardless of what is assigned to them.

git-svn-id: http://svn.openlayers.org/trunk/openlayers@5491 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Paul Spencer
2007-12-18 14:26:08 +00:00
parent f51315c26d
commit 32081348bf
2 changed files with 73 additions and 16 deletions

View File

@@ -134,7 +134,13 @@
} else { } else {
t.eq(popup.div.style.filter, "alpha(opacity=" + opacity*100 + ")", "good default popup.opacity"); t.eq(popup.div.style.filter, "alpha(opacity=" + opacity*100 + ")", "good default popup.opacity");
} }
t.ok(popup.div.style.border.indexOf(border) != -1, "good default popup.border"); //Safari 3 separates the border style into separate entities when reading it
if (OpenLayers.Util.getBrowserName() == 'safari') {
var s = border.split(' ');
t.ok(popup.div.style.borderTopWidth == s[0] && popup.div.style.borderTopStyle == s[1], "good default popup.border")
} else {
t.ok(popup.div.style.border.indexOf(border) != -1, "good default popup.border");
}
x += 50; x += 50;
popup.moveTo(new OpenLayers.Pixel(x, y)); popup.moveTo(new OpenLayers.Pixel(x, y));

View File

@@ -58,12 +58,20 @@
t.ok(imgCorrect, "div.style.backgroundImage correctly"); t.ok(imgCorrect, "div.style.backgroundImage correctly");
t.eq( div.style.position, position, "div.style.positionset correctly"); t.eq( div.style.position, position, "div.style.positionset correctly");
t.ok( (div.style.border.indexOf(border) != -1), "div.style.border set correctly"); //Safari 3 separates the border style into separate entities when reading it
if (OpenLayers.Util.getBrowserName() == 'safari') {
var s = border.split(' ');
t.ok(div.style.borderTopWidth == s[0] && div.style.borderTopStyle == s[1], "good default popup.border")
} else {
t.ok( (div.style.border.indexOf(border) != -1), "div.style.border set correctly");
}
//Safari 3 separates style overflow into overflow-x and overflow-y //Safari 3 separates style overflow into overflow-x and overflow-y
var prop = (OpenLayers.Util.getBrowserName() == 'safari') ? 'overflowX' : 'overflow'; var prop = (OpenLayers.Util.getBrowserName() == 'safari') ? 'overflowX' : 'overflow';
t.eq( div.style[prop], overflow, "div.style.overflow set correctly"); t.eq( div.style[prop], overflow, "div.style.overflow set correctly");
t.eq( parseFloat(div.style.opacity), opacity, "element.style.opacity set correctly"); t.eq( parseFloat(div.style.opacity), opacity, "element.style.opacity set correctly");
var filterString = 'alpha(opacity=' + (opacity * 100) + ')'; //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
t.eq( div.style.filter, filterString, "element.style.filter set correctly"); t.eq( div.style.filter, filterString, "element.style.filter set correctly");
//test defaults //test defaults
@@ -83,7 +91,12 @@
t.eq(div.style.backgroundImage, "", "div.style.backgroundImage correctly"); t.eq(div.style.backgroundImage, "", "div.style.backgroundImage correctly");
t.eq( div.style.position, "absolute", "div.style.positionset correctly"); t.eq( div.style.position, "absolute", "div.style.positionset correctly");
t.eq( div.style.border, "", "div.style.border set correctly"); //Safari 3 separates the border style into separate entities when reading it
if (OpenLayers.Util.getBrowserName() == 'safari') {
t.ok(div.style.borderTopWidth == '' && div.style.borderTopStyle == '', "good default popup.border")
} else {
t.eq( div.style.border, "", "div.style.border set correctly");
}
//Safari 3 separates style overflow into overflow-x and overflow-y //Safari 3 separates style overflow into overflow-x and overflow-y
var prop = (OpenLayers.Util.getBrowserName() == 'safari') ? 'overflowX' : 'overflow'; var prop = (OpenLayers.Util.getBrowserName() == 'safari') ? 'overflowX' : 'overflow';
t.eq(div.style[prop], "", "div.style.overflow set correctly"); t.eq(div.style[prop], "", "div.style.overflow set correctly");
@@ -116,11 +129,18 @@
t.eq( image.style.width, sz.w + "px", "image.style.width set correctly"); t.eq( image.style.width, sz.w + "px", "image.style.width set correctly");
t.eq( image.style.height, sz.h + "px", "image.style.height set correctly"); t.eq( image.style.height, sz.h + "px", "image.style.height set correctly");
t.ok( (image.style.border.indexOf(border) != -1), "image.style.border set correctly"); //Safari 3 separates the border style into separate entities when reading it
if (OpenLayers.Util.getBrowserName() == 'safari') {
var s = border.split(' ');
t.ok(image.style.borderTopWidth == s[0] && image.style.borderTopStyle == s[1], "good default popup.border")
} else {
t.ok( (image.style.border.indexOf(border) != -1), "image.style.border set correctly");
}
t.eq( image.src, img, "image.style.backgroundImage correctly"); t.eq( image.src, img, "image.style.backgroundImage correctly");
t.eq( image.style.position, position, "image.style.position set correctly"); t.eq( image.style.position, position, "image.style.position set correctly");
t.eq( parseFloat(image.style.opacity), opacity, "image.style.opacity set correctly"); t.eq( parseFloat(image.style.opacity), opacity, "image.style.opacity set correctly");
var filterString = 'alpha(opacity=' + (opacity * 100) + ')'; //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
t.eq( image.style.filter, filterString, "element.style.filter set correctly"); t.eq( image.style.filter, filterString, "element.style.filter set correctly");
//test defaults //test defaults
@@ -232,7 +252,8 @@
if (OpenLayers.Util.alphaHack()) { if (OpenLayers.Util.alphaHack()) {
filterString = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.openlayers.org/images/OpenLayers.trac.png', sizingMethod='crop') alpha(opacity=50)"; filterString = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.openlayers.org/images/OpenLayers.trac.png', sizingMethod='crop') alpha(opacity=50)";
} else { } else {
filterString = 'alpha(opacity=' + (opacity * 100) + ')'; //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
} }
t.eq( imageDiv.style.filter, filterString, "element.style.filter set correctly"); t.eq( imageDiv.style.filter, filterString, "element.style.filter set correctly");
@@ -247,7 +268,14 @@
t.eq( image.style.width, sz.w + "px", "image.style.width set correctly"); t.eq( image.style.width, sz.w + "px", "image.style.width set correctly");
t.eq( image.style.height, sz.h + "px", "image.style.height set correctly"); t.eq( image.style.height, sz.h + "px", "image.style.height set correctly");
t.ok( (image.style.border.indexOf(border) != -1), "image.style.border set correctly"); //Safari 3 separates the border style into separate entities when reading it
if (OpenLayers.Util.getBrowserName() == 'safari') {
var s = border.split(' ');
t.ok(image.style.borderTopWidth == s[0] && image.style.borderTopStyle == s[1], "good default popup.border")
} else {
t.ok( (image.style.border.indexOf(border) != -1), "image.style.border set correctly");
}
t.eq( image.style.position, "relative", "image.style.positionset correctly"); t.eq( image.style.position, "relative", "image.style.positionset correctly");
if (OpenLayers.Util.alphaHack()) { if (OpenLayers.Util.alphaHack()) {
@@ -292,7 +320,9 @@
t.eq(parseFloat(element.style.opacity), opacity, t.eq(parseFloat(element.style.opacity), opacity,
"element.style.opacity set correctly when opacity = " + opacity); "element.style.opacity set correctly when opacity = " + opacity);
t.eq(element.style.filter, 'alpha(opacity=' + (opacity * 100) + ')', //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
t.eq(element.style.filter, filterString,
"element.style.filter set correctly when opacity = " + opacity); "element.style.filter set correctly when opacity = " + opacity);
OpenLayers.Util.modifyDOMElement(element, null, null, null, null, OpenLayers.Util.modifyDOMElement(element, null, null, null, null,
@@ -300,7 +330,9 @@
t.eq(parseFloat(element.style.opacity), opacity, t.eq(parseFloat(element.style.opacity), opacity,
"element.style.opacity not changed if the value is incorrect"); "element.style.opacity not changed if the value is incorrect");
t.eq(element.style.filter, 'alpha(opacity=' + (opacity * 100) + ')', //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
t.eq(element.style.filter, filterString,
"element.style.filter not changed if the value is incorrect"); "element.style.filter not changed if the value is incorrect");
OpenLayers.Util.modifyDOMElement(element, null, null, null, null, OpenLayers.Util.modifyDOMElement(element, null, null, null, null,
@@ -308,7 +340,9 @@
t.eq(parseFloat(element.style.opacity), opacity, t.eq(parseFloat(element.style.opacity), opacity,
"element.style.opacity not changed if the value is incorrect"); "element.style.opacity not changed if the value is incorrect");
t.eq(element.style.filter, 'alpha(opacity=' + (opacity * 100) + ')', //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
t.eq(element.style.filter, filterString,
"element.style.filter not changed if the value is incorrect"); "element.style.filter not changed if the value is incorrect");
opacity = 1.00; opacity = 1.00;
@@ -317,7 +351,9 @@
t.eq(element.style.opacity, '', t.eq(element.style.opacity, '',
"element.style.opacity is removed when opacity = " + opacity); "element.style.opacity is removed when opacity = " + opacity);
t.eq(element.style.filter, '', //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : '';
t.eq(element.style.filter, filterString,
"element.style.filter is removed when opacity = " + opacity); "element.style.filter is removed when opacity = " + opacity);
} }
@@ -345,12 +381,19 @@
t.eq( element.style.height, sz.h + "px", "element.style.height set correctly"); t.eq( element.style.height, sz.h + "px", "element.style.height set correctly");
t.eq( element.style.position, position, "element.style.position set correctly"); t.eq( element.style.position, position, "element.style.position set correctly");
t.ok( (element.style.border.indexOf(border) != -1), "element.style.border set correctly"); //Safari 3 separates the border style into separate entities when reading it
if (OpenLayers.Util.getBrowserName() == 'safari') {
var s = border.split(' ');
t.ok(element.style.borderTopWidth == s[0] && element.style.borderTopStyle == s[1], "good default popup.border")
} else {
t.ok( (element.style.border.indexOf(border) != -1), "element.style.border set correctly");
}
//Safari 3 separates style overflow into overflow-x and overflow-y //Safari 3 separates style overflow into overflow-x and overflow-y
var prop = (OpenLayers.Util.getBrowserName() == 'safari') ? 'overflowX' : 'overflow'; var prop = (OpenLayers.Util.getBrowserName() == 'safari') ? 'overflowX' : 'overflow';
t.eq( element.style[prop], overflow, "element.style.overflow set correctly"); t.eq( element.style[prop], overflow, "element.style.overflow set correctly");
t.eq( parseFloat(element.style.opacity), opacity, "element.style.opacity set correctly"); t.eq( parseFloat(element.style.opacity), opacity, "element.style.opacity set correctly");
var filterString = 'alpha(opacity=' + (opacity * 100) + ')'; //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
t.eq( element.style.filter, filterString, "element.style.filter set correctly"); t.eq( element.style.filter, filterString, "element.style.filter set correctly");
} }
@@ -393,7 +436,8 @@
filterString = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.openlayers.org/images/OpenLayers.trac.png', sizingMethod='crop') alpha(opacity=50)"; filterString = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.openlayers.org/images/OpenLayers.trac.png', sizingMethod='crop') alpha(opacity=50)";
t.ok( true, "skipping element test outside of Mozilla"); t.ok( true, "skipping element test outside of Mozilla");
} else { } else {
var filterString = 'alpha(opacity=' + (opacity * 100) + ')'; //Safari 3 returns null for this value, which is okay
var filterString = (OpenLayers.Util.getBrowserName() == 'safari') ? null : 'alpha(opacity=' + (opacity * 100) + ')';
t.ok( image.nodeName == "IMG", "createImage creates a valid HTMLImageElement" ); t.ok( image.nodeName == "IMG", "createImage creates a valid HTMLImageElement" );
} }
t.eq( imageDiv.style.filter, filterString, "element.style.filter set correctly"); t.eq( imageDiv.style.filter, filterString, "element.style.filter set correctly");
@@ -402,7 +446,14 @@
t.eq( image.style.width, sz.w + "px", "image.style.width set correctly"); t.eq( image.style.width, sz.w + "px", "image.style.width set correctly");
t.eq( image.style.height, sz.h + "px", "image.style.height set correctly"); t.eq( image.style.height, sz.h + "px", "image.style.height set correctly");
t.ok( (image.style.border.indexOf(border) != -1), "image.style.border set correctly"); //Safari 3 separates the border style into separate entities when reading it
if (OpenLayers.Util.getBrowserName() == 'safari') {
var s = border.split(' ');
t.ok(image.style.borderTopWidth == s[0] && image.style.borderTopStyle == s[1], "good default popup.border")
} else {
t.ok( (image.style.border.indexOf(border) != -1), "image.style.border set correctly");
}
t.eq( image.style.position, "relative", "image.style.positionset correctly"); t.eq( image.style.position, "relative", "image.style.positionset correctly");
if (OpenLayers.Util.alphaHack()) { if (OpenLayers.Util.alphaHack()) {