blob: bcf843e5e128308a1327ed1aba282e6c4e13007e [file] [log] [blame]
/*
* Copyright (C) 2011 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
(function () {
module("checkout");
test("subversionURLForTest", 1, function() {
equals(checkout.subversionURLForTest("path/to/test.html"), "https://svn.webkit.org/repository/webkit/trunk/LayoutTests/path/to/test.html");
});
test("rebaseline", 3, function() {
var simulator = new NetworkSimulator();
var requests = [];
simulator.post = function(url, body, callback)
{
requests.push([url, body]);
simulator.scheduleCallback(callback);
};
simulator.ajax = function(options)
{
if (options.url.indexOf('/ping') == -1)
ok(false, 'Received non-ping ajax request: ' + options.url);
simulator.scheduleCallback(options.success);
};
var kExpectedTestNameProgressStack = [
'fast/test.html',
'another/test.svg',
'another/test.svg', // This is the first one.
];
simulator.runTest(function() {
checkout.rebaseline([{
'builderName': 'WebKit Linux',
'testName': 'another/test.svg',
'failureTypeList': ['IMAGE'],
}, {
'builderName': 'WebKit Mac10.6',
'testName': 'another/test.svg',
'failureTypeList': ['IMAGE', 'TEXT', 'IMAGE+TEXT'],
}, {
'builderName': 'Webkit Win7',
'testName': 'fast/test.html',
'failureTypeList': ['IMAGE+TEXT'],
}], function() {
ok(true);
}, function(failureInfo) {
equals(failureInfo.testName, kExpectedTestNameProgressStack.pop());
}, function() {
ok(false, 'Checkout should be available.');
});
});
deepEqual(requests, [
["/rebaselineall",
JSON.stringify({
"another/test.svg": {
"WebKit Linux": ["png"],
"WebKit Mac10.6": ["png","txt"]},
"fast/test.html": {
"Webkit Win7": ["txt","png"]
}})]
]);
});
})();