| Index: third_party/WebKit/LayoutTests/dom/xhtml/level3/core/selfxhtml.js
|
| diff --git a/third_party/WebKit/LayoutTests/dom/xhtml/level3/core/selfxhtml.js b/third_party/WebKit/LayoutTests/dom/xhtml/level3/core/selfxhtml.js
|
| deleted file mode 100644
|
| index 3ebff62ff2aa7040d5b16702da93a661b0ef2c99..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/LayoutTests/dom/xhtml/level3/core/selfxhtml.js
|
| +++ /dev/null
|
| @@ -1,716 +0,0 @@
|
| -/*
|
| -Copyright (c) 2001-2005 World Wide Web Consortium,
|
| -(Massachusetts Institute of Technology, European Research Consortium
|
| -for Informatics and Mathematics, Keio University). All
|
| -Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
|
| -hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
| -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
| -
|
| -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
| -*/
|
| -
|
| - function assertSize(descr, expected, actual) {
|
| - var actualSize;
|
| - assertNotNull(descr, actual);
|
| - actualSize = actual.length;
|
| - assertEquals(descr, expected, actualSize);
|
| - }
|
| -
|
| - function assertEqualsAutoCase(context, descr, expected, actual) {
|
| - if (builder.contentType == "text/html") {
|
| - if(context == "attribute") {
|
| - assertEquals(descr, expected.toLowerCase(), actual.toLowerCase());
|
| - } else {
|
| - assertEquals(descr, expected.toUpperCase(), actual);
|
| - }
|
| - } else {
|
| - assertEquals(descr, expected, actual);
|
| - }
|
| - }
|
| -
|
| - function assertEqualsCollectionAutoCase(context, descr, expected, actual) {
|
| - //
|
| - // if they aren't the same size, they aren't equal
|
| - assertEquals(descr, expected.length, actual.length);
|
| -
|
| - //
|
| - // if there length is the same, then every entry in the expected list
|
| - // must appear once and only once in the actual list
|
| - var expectedLen = expected.length;
|
| - var expectedValue;
|
| - var actualLen = actual.length;
|
| - var i;
|
| - var j;
|
| - var matches;
|
| - for(i = 0; i < expectedLen; i++) {
|
| - matches = 0;
|
| - expectedValue = expected[i];
|
| - for(j = 0; j < actualLen; j++) {
|
| - if (builder.contentType == "text/html") {
|
| - if (context == "attribute") {
|
| - if (expectedValue.toLowerCase() == actual[j].toLowerCase()) {
|
| - matches++;
|
| - }
|
| - } else {
|
| - if (expectedValue.toUpperCase() == actual[j]) {
|
| - matches++;
|
| - }
|
| - }
|
| - } else {
|
| - if(expectedValue == actual[j]) {
|
| - matches++;
|
| - }
|
| - }
|
| - }
|
| - if(matches == 0) {
|
| - assert(descr + ": No match found for " + expectedValue,false);
|
| - }
|
| - if(matches > 1) {
|
| - assert(descr + ": Multiple matches found for " + expectedValue, false);
|
| - }
|
| - }
|
| - }
|
| -
|
| - function assertEqualsCollection(descr, expected, actual) {
|
| - //
|
| - // if they aren't the same size, they aren't equal
|
| - assertEquals(descr, expected.length, actual.length);
|
| - //
|
| - // if there length is the same, then every entry in the expected list
|
| - // must appear once and only once in the actual list
|
| - var expectedLen = expected.length;
|
| - var expectedValue;
|
| - var actualLen = actual.length;
|
| - var i;
|
| - var j;
|
| - var matches;
|
| - for(i = 0; i < expectedLen; i++) {
|
| - matches = 0;
|
| - expectedValue = expected[i];
|
| - for(j = 0; j < actualLen; j++) {
|
| - if(expectedValue == actual[j]) {
|
| - matches++;
|
| - }
|
| - }
|
| - if(matches == 0) {
|
| - assert(descr + ": No match found for " + expectedValue,false);
|
| - }
|
| - if(matches > 1) {
|
| - assert(descr + ": Multiple matches found for " + expectedValue, false);
|
| - }
|
| - }
|
| - }
|
| -
|
| - function assertEqualsListAutoCase(context, descr, expected, actual) {
|
| - var minLength = expected.length;
|
| - if (actual.length < minLength) {
|
| - minLength = actual.length;
|
| - }
|
| - //
|
| - for(var i = 0; i < minLength; i++) {
|
| - assertEqualsAutoCase(context, descr, expected[i], actual[i]);
|
| - }
|
| - //
|
| - // if they aren't the same size, they aren't equal
|
| - assertEquals(descr, expected.length, actual.length);
|
| - }
|
| -
|
| - function assertEqualsList(descr, expected, actual) {
|
| - var minLength = expected.length;
|
| - if (actual.length < minLength) {
|
| - minLength = actual.length;
|
| - }
|
| - //
|
| - for(var i = 0; i < minLength; i++) {
|
| - if(expected[i] != actual[i]) {
|
| - assertEquals(descr, expected[i], actual[i]);
|
| - }
|
| - }
|
| - //
|
| - // if they aren't the same size, they aren't equal
|
| - assertEquals(descr, expected.length, actual.length);
|
| - }
|
| -
|
| - function assertInstanceOf(descr, type, obj) {
|
| - if(type == "Attr") {
|
| - assertEquals(descr,2,obj.nodeType);
|
| - var specd = obj.specified;
|
| - }
|
| - }
|
| -
|
| - function assertSame(descr, expected, actual) {
|
| - if(expected != actual) {
|
| - assertEquals(descr, expected.nodeType, actual.nodeType);
|
| - assertEquals(descr, expected.nodeValue, actual.nodeValue);
|
| - }
|
| - }
|
| -
|
| - function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) {
|
| - //
|
| - // URI must be non-null
|
| - assertNotNull(assertID, actual);
|
| -
|
| - var uri = actual;
|
| -
|
| - var lastPound = actual.lastIndexOf("#");
|
| - var actualFragment = "";
|
| - if(lastPound != -1) {
|
| - //
|
| - // substring before pound
|
| - //
|
| - uri = actual.substring(0,lastPound);
|
| - actualFragment = actual.substring(lastPound+1);
|
| - }
|
| - if(fragment != null) assertEquals(assertID,fragment, actualFragment);
|
| -
|
| - var lastQuestion = uri.lastIndexOf("?");
|
| - var actualQuery = "";
|
| - if(lastQuestion != -1) {
|
| - //
|
| - // substring before pound
|
| - //
|
| - uri = actual.substring(0,lastQuestion);
|
| - actualQuery = actual.substring(lastQuestion+1);
|
| - }
|
| - if(query != null) assertEquals(assertID, query, actualQuery);
|
| -
|
| - var firstColon = uri.indexOf(":");
|
| - var firstSlash = uri.indexOf("/");
|
| - var actualPath = uri;
|
| - var actualScheme = "";
|
| - if(firstColon != -1 && firstColon < firstSlash) {
|
| - actualScheme = uri.substring(0,firstColon);
|
| - actualPath = uri.substring(firstColon + 1);
|
| - }
|
| -
|
| - if(scheme != null) {
|
| - assertEquals(assertID, scheme, actualScheme);
|
| - }
|
| -
|
| - if(path != null) {
|
| - assertEquals(assertID, path, actualPath);
|
| - }
|
| -
|
| - if(host != null) {
|
| - var actualHost = "";
|
| - if(actualPath.substring(0,2) == "//") {
|
| - var termSlash = actualPath.substring(2).indexOf("/") + 2;
|
| - actualHost = actualPath.substring(0,termSlash);
|
| - }
|
| - assertEquals(assertID, host, actualHost);
|
| - }
|
| -
|
| - if(file != null || name != null) {
|
| - var actualFile = actualPath;
|
| - var finalSlash = actualPath.lastIndexOf("/");
|
| - if(finalSlash != -1) {
|
| - actualFile = actualPath.substring(finalSlash+1);
|
| - }
|
| - if (file != null) {
|
| - assertEquals(assertID, file, actualFile);
|
| - }
|
| - if (name != null) {
|
| - var actualName = actualFile;
|
| - var finalDot = actualFile.lastIndexOf(".");
|
| - if (finalDot != -1) {
|
| - actualName = actualName.substring(0, finalDot);
|
| - }
|
| - assertEquals(assertID, name, actualName);
|
| - }
|
| - }
|
| -
|
| - if(isAbsolute != null) {
|
| - assertEquals(assertID, isAbsolute, actualPath.substring(0,1) == "/");
|
| - }
|
| - }
|
| -
|
| -// size() used by assertSize element
|
| -function size(collection)
|
| -{
|
| - return collection.length;
|
| -}
|
| -
|
| -function same(expected, actual)
|
| -{
|
| - return expected === actual;
|
| -}
|
| -
|
| -function equalsAutoCase(context, expected, actual) {
|
| - if (builder.contentType == "text/html") {
|
| - if (context == "attribute") {
|
| - return expected.toLowerCase() == actual;
|
| - }
|
| - return expected.toUpperCase() == actual;
|
| - }
|
| - return expected == actual;
|
| -}
|
| -
|
| -function toLowerArray(src) {
|
| - var newArray = new Array();
|
| - var i;
|
| - for (i = 0; i < src.length; i++) {
|
| - newArray[i] = src[i].toLowerCase();
|
| - }
|
| - return newArray;
|
| -}
|
| -
|
| -function createTempURI(scheme) {
|
| - if (scheme == "http") {
|
| - return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml";
|
| - }
|
| - return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml";
|
| -}
|
| -
|
| -function EventMonitor() {
|
| - this.atEvents = new Array();
|
| - this.bubbledEvents = new Array();
|
| - this.capturedEvents = new Array();
|
| - this.allEvents = new Array();
|
| -}
|
| -
|
| -EventMonitor.prototype.handleEvent = function(evt) {
|
| - switch(evt.eventPhase) {
|
| - case 1:
|
| - monitor.capturedEvents[monitor.capturedEvents.length] = evt;
|
| - break;
|
| -
|
| - case 2:
|
| - monitor.atEvents[monitor.atEvents.length] = evt;
|
| - break;
|
| -
|
| - case 3:
|
| - monitor.bubbledEvents[monitor.bubbledEvents.length] = evt;
|
| - break;
|
| - }
|
| - monitor.allEvents[monitor.allEvents.length] = evt;
|
| -}
|
| -
|
| -function DOMErrorImpl(err) {
|
| - this.severity = err.severity;
|
| - this.message = err.message;
|
| - this.type = err.type;
|
| - this.relatedException = err.relatedException;
|
| - this.relatedData = err.relatedData;
|
| - this.location = err.location;
|
| -}
|
| -
|
| -function DOMErrorMonitor() {
|
| - this.allErrors = new Array();
|
| -}
|
| -
|
| -DOMErrorMonitor.prototype.handleError = function(err) {
|
| - errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err);
|
| -}
|
| -
|
| -DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) {
|
| - var i;
|
| - for (i = 0; i < this.allErrors.length; i++) {
|
| - if (this.allErrors[i].severity >= severity) {
|
| - assertEquals(id, severity - 1, this.allErrors[i].severity);
|
| - }
|
| - }
|
| -}
|
| -
|
| -function UserDataNotification(operation, key, data, src, dst) {
|
| - this.operation = operation;
|
| - this.key = key;
|
| - this.data = data;
|
| - this.src = src;
|
| - this.dst = dst;
|
| -}
|
| -
|
| -function UserDataMonitor() {
|
| - this.allNotifications = new Array();
|
| -}
|
| -
|
| -UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) {
|
| - userDataMonitor.allNotifications[userDataMonitor.allNotifications.length] =
|
| - new UserDataNotification(operation, key, data, src, dst);
|
| -}
|
| -
|
| -function HTMLBuilder() {
|
| - this.contentType = "application/xhtml+xml";
|
| - this.supportedContentTypes = [ "application/xhtml+xml" ];
|
| -
|
| - this.supportsAsyncChange = false;
|
| - this.async = false;
|
| - this.fixedAttributeNames = [
|
| - "validating", "expandEntityReferences", "coalescing",
|
| - "signed", "hasNullString", "ignoringElementContentWhitespace", "namespaceAware", "ignoringComments", "schemaValidating"];
|
| -
|
| - this.fixedAttributeValues = [false, true, false, true, true , false, true, false, false ];
|
| - this.configurableAttributeNames = [ ];
|
| - this.configurableAttributeValues = [ ];
|
| - this.initializationError = null;
|
| - this.initializationFatalError = null;
|
| - this.skipIncompatibleTests = true;
|
| - this.documentURLs = new Array();
|
| - this.documentVarnames = new Array();
|
| -}
|
| -
|
| -HTMLBuilder.prototype.hasFeature = function(feature, version) {
|
| - return document.implementation.hasFeature(feature, version);
|
| -}
|
| -
|
| -HTMLBuilder.prototype.getImplementation = function() {
|
| - return document.implementation;
|
| -}
|
| -
|
| -HTMLBuilder.prototype.preload = function(frame, varname, url) {
|
| - var i;
|
| - this.documentVarnames[this.documentVarnames.length] = varname;
|
| - this.documentURLs[this.documentURLs.length] = url;
|
| - if (this.documentURLs.length > 1) {
|
| - //
|
| - // if all the urls are not the same
|
| - //
|
| - for (i = 1; i < this.documentURLs.length; i++) {
|
| - if (this.documentURLs[i] != this.documentURLs[0]) {
|
| - throw "Tests with multiple loads of different documents are not currently supported";
|
| - }
|
| - }
|
| - }
|
| - return 1;
|
| -}
|
| -
|
| -HTMLBuilder.prototype.cloneNode = function(srcNode, doc) {
|
| - var clone = null;
|
| - switch(srcNode.nodeType) {
|
| - //
|
| - // element
|
| - case 1:
|
| - clone = doc.createElementNS(srcNode.namespaceURI, srcNode.nodeName);
|
| - var attrs = srcNode.attributes;
|
| - for(var i = 0; i < attrs.length; i++) {
|
| - var srcAttr = attrs.item(i);
|
| - clone.setAttributeNS(srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
|
| - }
|
| - var srcChild = srcNode.firstChild;
|
| - while(srcChild != null) {
|
| - var cloneChild = this.cloneNode(srcChild, doc);
|
| - if (cloneChild != null) {
|
| - clone.appendChild(cloneChild);
|
| - }
|
| - srcChild = srcChild.nextSibling;
|
| - }
|
| - break;
|
| -
|
| - case 3:
|
| - clone = doc.createTextNode(srcNode.nodeValue);
|
| - break;
|
| -
|
| - case 4:
|
| - clone = doc.createCDATASection(srcNode.nodeValue);
|
| - break;
|
| -
|
| - case 5:
|
| - clone = doc.createEntityReference(srcNode.nodeName);
|
| - break;
|
| -
|
| - case 7:
|
| - clone = doc.createProcessingInstruction(srcNode.target, srcNode.data);
|
| - break;
|
| -
|
| - case 8:
|
| - clone = doc.createComment(srcNode.nodeValue);
|
| - break;
|
| - }
|
| - return clone;
|
| -
|
| -}
|
| -
|
| -HTMLBuilder.prototype.load = function(frame, varname, url) {
|
| - if (this.documentVarnames[0] == varname) {
|
| - return document;
|
| - }
|
| - //
|
| - //
|
| - // not a perfect way to do this
|
| - // Document.cloneNode is implementation dependent but exists in L1
|
| - // and implemented in IE. The alternative brute force copy
|
| - // only works in L2 or higher implementations and can't copy
|
| - // entity and notation definitions, etc.
|
| - var clone = null;
|
| - try {
|
| - clone = document.cloneNode(true);
|
| - } catch(ex) {
|
| - }
|
| - if (clone == null) {
|
| - clone = document.implementation.createDocument(
|
| - document.documentElement.namespaceURI,
|
| - document.documentElement.nodeName,
|
| - null);
|
| - //
|
| - // Work-around since
|
| - // Safari does not create document element
|
| - // create document.
|
| - if (clone.documentElement == null) {
|
| - clone.appendChild(clone.createElementNS(
|
| - document.documentElement.namespaceURI,
|
| - document.documentElement.nodeName));
|
| - }
|
| - var attrs = document.documentElement.attributes;
|
| - for(var i = 0; i < attrs.length; i++) {
|
| - var srcAttr = attrs.item(i);
|
| - clone.documentElement.setAttributeNS(
|
| - srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
|
| - }
|
| -
|
| - var srcNode = document.firstChild;
|
| - while(srcNode != null && srcNode.nodeType != 1) {
|
| - if (srcNode.nodeType != 10) {
|
| - var cloneNode = this.cloneNode(srcNode, clone);
|
| - clone.insertBefore(cloneNode, clone.documentElement);
|
| - }
|
| - srcNode = srcNode.nextSibling;
|
| - }
|
| - srcNode = document.documentElement.nextSibling;
|
| - while(srcNode != null) {
|
| - var cloneNode = this.cloneNode(srcNode, clone);
|
| - clone.appendChild(cloneNode);
|
| - srcNode = srcNode.nextSibling;
|
| - }
|
| - srcNode = document.documentElement.firstChild;
|
| - while(srcNode != null) {
|
| - var cloneNode = this.cloneNode(srcNode, clone);
|
| - if (cloneNode != null) {
|
| - clone.documentElement.appendChild(cloneNode);
|
| - }
|
| - srcNode = srcNode.nextSibling;
|
| - }
|
| - }
|
| - return clone;
|
| -}
|
| -
|
| -HTMLBuilder.prototype.getImplementationAttribute = function(attr) {
|
| - for (var i = 0; i < this.fixedAttributeNames.length; i++) {
|
| - if (this.fixedAttributeNames[i] == attr) {
|
| - return this.fixedAttributeValues[i];
|
| - }
|
| - }
|
| - throw "Unrecognized implementation attribute: " + attr;
|
| -}
|
| -
|
| -HTMLBuilder.prototype.setImplementationAttribute = function(attribute, value) {
|
| - var supported = this.getImplementationAttribute(attribute);
|
| - if (supported != value) {
|
| - this.initializationError = "HTML loader does not support " + attribute + "=" + value;
|
| - }
|
| -}
|
| -
|
| -HTMLBuilder.prototype.canSetImplementationAttribute = function(attribute, value) {
|
| - var supported = this.getImplementationAttribute(attribute);
|
| - return (supported == value);
|
| -}
|
| -
|
| -function createConfiguredBuilder() {
|
| - return new HTMLBuilder();
|
| -}
|
| -
|
| -function catchInitializationError(buildr, ex) {
|
| - buildr.initializationError = ex;
|
| - buildr.initializationFatalError = ex;
|
| -}
|
| -
|
| -function checkFeature(feature, version)
|
| -{
|
| - if (!builder.hasFeature(feature, version))
|
| - {
|
| - //
|
| - // don't throw exception so that users can select to ignore the precondition
|
| - //
|
| - builder.initializationError = "builder does not support feature " + feature + " version " + version;
|
| - }
|
| -}
|
| -
|
| -function setResult(resultType, message) {
|
| - var testName = getTargetURI();
|
| - document.title = testName + ":" + resultType;
|
| - var xhtmlNS = "http://www.w3.org/1999/xhtml";
|
| - var newBody = document.createElementNS(xhtmlNS, "body");
|
| - var newTable = document.createElementNS(xhtmlNS, "table");
|
| - newTable.width = "100%";
|
| - newTable.border = "1";
|
| - newBody.appendChild(newTable);
|
| - var testRow = newTable.insertRow(-1);
|
| - var testDiv1 = testRow.insertCell(-1);
|
| - testDiv1.appendChild(document.createTextNode("Test"));
|
| - var testDiv2 = testRow.insertCell(-1);
|
| - testDiv2.appendChild(document.createTextNode(testName));
|
| - var statusRow = newTable.insertRow(-1);
|
| - var statusDiv1 = statusRow.insertCell(-1);
|
| - statusDiv1.appendChild(document.createTextNode("Status"));
|
| - var statusDiv2 = statusRow.insertCell(-1);
|
| - var style = "color:green";
|
| - if (resultType == null) {
|
| - statusDiv2.appendChild(document.createTextNode("Success"));
|
| - } else {
|
| - statusDiv2.appendChild(document.createTextNode(resultType));
|
| - if (resultType == "skip") {
|
| - style = "color:blue";
|
| - } else {
|
| - style = "color:red";
|
| - }
|
| - }
|
| - newTable.setAttributeNS(null, "style", style);
|
| - if (message != null) {
|
| - var messageRow = newTable.insertRow(-1);
|
| - var messageDiv1 = messageRow.insertCell(-1);
|
| - messageDiv1.appendChild(document.createTextNode("Message"));
|
| - var messageDiv2 = messageRow.insertCell(-1);
|
| - messageDiv2.appendChild(document.createTextNode((message instanceof Error) ? ("Line " + message.line + ": " + message.name) : message));
|
| - }
|
| - var oldBody = document.getElementsByTagName("body")[0];
|
| - oldBody.parentNode.replaceChild(newBody, oldBody);
|
| - if (parent != window && typeof(parent.setResult) != 'undefined') {
|
| - parent.setResult(testName, resultType, message);
|
| - }
|
| -}
|
| -
|
| -function checkInitialization(buildr, testname) {
|
| - return buildr.initializationError;
|
| -}
|
| -
|
| -function preload(docRef, varname, href) {
|
| - return builder.preload(docRef, varname, href);
|
| -}
|
| -
|
| -function load(docRef, varname, href) {
|
| - return builder.load(docRef, varname, href);
|
| -}
|
| -
|
| -function getImplementationAttribute(attr) {
|
| - return builder.getImplementationAttribute(attr);
|
| -}
|
| -
|
| -function setImplementationAttribute(attribute, value) {
|
| - builder.setImplementationAttribute(attribute, value);
|
| -}
|
| -
|
| -function createXPathEvaluator(doc) {
|
| - try {
|
| - return doc.getFeature("XPath", null);
|
| - }
|
| - catch(ex) {
|
| - }
|
| - return doc;
|
| -}
|
| -
|
| -function getImplementation() {
|
| - return builder.getImplementation();
|
| -}
|
| -
|
| -function assertEquals(id, expected, actual) {
|
| - var myActual;
|
| - if (expected != actual) {
|
| - myActual = actual;
|
| - if (actual == null) {
|
| - myActual = "null";
|
| - }
|
| - throw "failure:" + id + ": assertEquals failed, actual " + myActual + ", expected " + expected + ".";
|
| - }
|
| -}
|
| -
|
| -function assertNull(id, actual) {
|
| - if (actual != null) {
|
| - throw "failure:" + id + ": assertNull failed, actual " + actual;
|
| - }
|
| -}
|
| -
|
| -function assertTrue(id, actual) {
|
| - if (!actual) {
|
| - throw "failure:" + id + ": assertTrue failed";
|
| - }
|
| -}
|
| -
|
| -function assertFalse(id, actual) {
|
| - if (actual) {
|
| - throw "failure:" + id + ": assertTrue failed";
|
| - }
|
| -}
|
| -
|
| -function assertNotNull(id, actual) {
|
| - if (actual == null) {
|
| - throw "failure:" + id + ": assertNotNull failed";
|
| - }
|
| -}
|
| -
|
| -function fail(id) {
|
| - throw "failure:" + id + ": fail";
|
| -}
|
| -
|
| -function getSuffix(contentType) {
|
| - switch(contentType) {
|
| - case "text/html":
|
| - return ".html";
|
| -
|
| - case "text/xml":
|
| - return ".xml";
|
| -
|
| - case "image/svg+xml":
|
| - return ".svg";
|
| -
|
| - case "text/mathml":
|
| - return ".mml";
|
| - }
|
| - return ".xhtml";
|
| -}
|
| -
|
| -function getResourceURI(name, scheme, contentType) {
|
| - var base = document.documentURI;
|
| - if (base == null) {
|
| - base = "";
|
| - } else {
|
| - base = base.substring(0, base.lastIndexOf('/') + 1) + "files/";
|
| - }
|
| - return base + name + getSuffix(contentType);
|
| -}
|
| -
|
| -function startTest() {
|
| -
|
| -//
|
| -// WebKit modification: 18-August-2005
|
| -//
|
| -// Inform the test controller that this test has a text-format result and so should
|
| -// be dumped as text, and also that the dump should not occur automatically.
|
| -//
|
| -if (window.testRunner) {
|
| - testRunner.dumpAsText();
|
| - testRunner.waitUntilDone();
|
| -}
|
| -//
|
| -// End WebKit modification
|
| -//
|
| -
|
| - //
|
| - // invoke test setup
|
| - //
|
| - setUpPage();
|
| - try {
|
| - runTest();
|
| - if (builder.initializationError == null) {
|
| - setResult(null, null);
|
| - } else {
|
| - setResult("skip", builder.initializationError);
|
| - }
|
| - } catch(ex) {
|
| - if (typeof(ex.substring) != 'undefined' && ex.substring(0, 8) == "failure:") {
|
| - setResult("failure", ex.substring(8));
|
| - } else {
|
| - setResult("error", ex);
|
| - }
|
| - }
|
| -
|
| -//
|
| -// WebKit modification: 18-August-2005
|
| -//
|
| -// Inform the test controller that this test is complete, so it's time to dump.
|
| -//
|
| - if (window.testRunner) {
|
| - testRunner.notifyDone();
|
| - }
|
| -//
|
| -// End WebKit modification
|
| -//
|
| -
|
| -}
|
|
|