diff --git a/lib/OpenLayers/Vendor.js b/lib/OpenLayers/Vendor.js index 47a477e910..b0e271009c 100644 --- a/lib/OpenLayers/Vendor.js +++ b/lib/OpenLayers/Vendor.js @@ -124,10 +124,8 @@ OpenLayers.Vendor = (function() { stylePrefix: stylePrefix, // used for testing - _clearCache: function() { - cssCache = {}; - jsCache = {}; - }, + cssCache: cssCache, + jsCache: jsCache, _mockStyle: function(mock) { divStyle = mock; } diff --git a/tests/Vendor.html b/tests/Vendor.html index 2979d8d1aa..1e7b205d00 100644 --- a/tests/Vendor.html +++ b/tests/Vendor.html @@ -35,11 +35,18 @@ return el; };*/ + function clearCache(type) { + var cache = OpenLayers.Vendor[type.replace("style", "js") + "Cache"]; + for (var key in cache) { + delete cache[key]; + } + } + function curryTestPrefix(type) { return function(standardProp, expectedPrefix, msg) { var prefixedProp, err, method = type + "Prefix"; try { - OpenLayers.Vendor._clearCache(); + clearCache(type); var fakeStyle = { cssText: "" }; if (o.prop != null) { fakeStyle[o.prop] = o.val; @@ -90,22 +97,22 @@ testCssPrefix("multi-word", "-ms-multi-word", "CSS vendor prefix - multiple words for Internet Explorer"); // test vendor prefix on object - OpenLayers.Vendor._clearCache(); + clearCache("js"); t.eq( OpenLayers.Vendor.jsPrefix( {}, "unsupported" ), null, "Standard object property - unsupported"); - OpenLayers.Vendor._clearCache(); + clearCache("js"); t.eq( OpenLayers.Vendor.jsPrefix( { "test": true }, "test" ), "test", "Standard object property"); - OpenLayers.Vendor._clearCache(); + clearCache("js"); t.eq( OpenLayers.Vendor.jsPrefix( { "oTest": true }, "test" ), "oTest", "Standard object property"); - OpenLayers.Vendor._clearCache(); + clearCache("js"); t.eq( OpenLayers.Vendor.jsPrefix( { "msTest": true }, "test" ), "msTest", "Standard object property"); - OpenLayers.Vendor._clearCache(); + clearCache("js"); t.eq( OpenLayers.Vendor.jsPrefix( { "mozTest": true }, "test" ), "mozTest", "Standard object property"); - OpenLayers.Vendor._clearCache(); + clearCache("js"); t.eq( OpenLayers.Vendor.jsPrefix( { "webkitTest": true }, "test" ), "webkitTest", "Standard object property"); // unwrap document.createElement