Commit 9b8801f0 authored by hirono@chromium.org's avatar hirono@chromium.org

Add gallery browser tests to delete an image in the slide mode.

BUG=383732
TEST=run the test

Review URL: https://codereview.chromium.org/334623002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276627 0039d316-1c4b-4281-b951-d872f2087c98
parent 02c84017
......@@ -1319,7 +1319,6 @@ IN_PROC_BROWSER_TEST_F(GalleryBrowserTest, TraverseSlideImagesOnDrive) {
}
IN_PROC_BROWSER_TEST_F(GalleryBrowserTest, RenameImageOnDownloads) {
AddScript("gallery/test_util.js");
AddScript("gallery/slide_mode.js");
set_test_case_name("renameImageOnDownloads");
StartTest();
......@@ -1327,18 +1326,35 @@ IN_PROC_BROWSER_TEST_F(GalleryBrowserTest, RenameImageOnDownloads) {
IN_PROC_BROWSER_TEST_F(GalleryBrowserTestInGuestMode,
RenameImageOnDownloads) {
AddScript("gallery/test_util.js");
AddScript("gallery/slide_mode.js");
set_test_case_name("renameImageOnDownloads");
StartTest();
}
IN_PROC_BROWSER_TEST_F(GalleryBrowserTest, RenameImageOnDrive) {
AddScript("gallery/test_util.js");
AddScript("gallery/slide_mode.js");
set_test_case_name("renameImageOnDrive");
StartTest();
}
IN_PROC_BROWSER_TEST_F(GalleryBrowserTest, DeleteImageOnDownloads) {
AddScript("gallery/slide_mode.js");
set_test_case_name("deleteImageOnDownloads");
StartTest();
}
IN_PROC_BROWSER_TEST_F(GalleryBrowserTestInGuestMode,
DeleteImageOnDownloads) {
AddScript("gallery/slide_mode.js");
set_test_case_name("deleteImageOnDownloads");
StartTest();
}
IN_PROC_BROWSER_TEST_F(GalleryBrowserTest, DeleteImageOnDrive) {
AddScript("gallery/slide_mode.js");
set_test_case_name("deleteImageOnDrive");
StartTest();
}
} // namespace
} // namespace file_manager
......@@ -32,6 +32,19 @@ function waitForSlideImage(document, width, height, name) {
});
}
/**
* Shorthand for clicking an element.
* @param {AppWindow} appWindow application window.
* @param {string} query Query for the element.
* @param {Promise} Promise to be fulfilled with the clicked element.
*/
function waitAndClickElement(appWindow, query) {
return waitForElement(appWindow, query).then(function(element) {
element.click();
return element;
});
}
/**
* Runs a test to traverse images in the slide mode.
*
......@@ -45,23 +58,22 @@ function traverseSlideImages(testVolumeName, volumeType) {
var launchedPromise = launchWithTestEntries(
testVolumeName, volumeType, testEntries, testEntries.slice(0, 1));
var appWindow;
var clickElement = function(element) { element.click(); };
return launchedPromise.then(function(args) {
appWindow = args.appWindow;
return waitForSlideImage(appWindow.contentWindow.document,
800, 600, 'My Desktop Background');
}).then(function() {
return waitForElement(appWindow, '.arrow.right').then(clickElement);
return waitAndClickElement(appWindow, '.arrow.right');
}).then(function() {
return waitForSlideImage(appWindow.contentWindow.document,
1024, 768, 'image2');
}).then(function() {
return waitForElement(appWindow, '.arrow.right').then(clickElement);
return waitAndClickElement(appWindow, '.arrow.right');
}).then(function() {
return waitForSlideImage(appWindow.contentWindow.document,
640, 480, 'image3');
}).then(function() {
return waitForElement(appWindow, '.arrow.right').then(clickElement);
return waitAndClickElement(appWindow, '.arrow.right');
}).then(function() {
return waitForSlideImage(appWindow.contentWindow.document,
800, 600, 'My Desktop Background');
......@@ -100,6 +112,36 @@ function renameImage(testVolumeName, volumeType) {
});
}
/**
* Runs a test to delete an image.
*
* @param {string} testVolumeName Test volume name passed to the addEntries
* function. Either 'drive' or 'local'.
* @param {VolumeManagerCommon.VolumeType} volumeType Volume type.
* @return {Promise} Promise to be fulfilled with on success.
*/
function deleteImage(testVolumeName, volumeType) {
var launchedPromise = launchWithTestEntries(
testVolumeName, volumeType, [ENTRIES.desktop]);
var appWindow;
return launchedPromise.then(function(args) {
appWindow = args.appWindow;
return waitForSlideImage(appWindow.contentWindow.document,
800, 600, 'My Desktop Background');
}).then(function() {
return waitAndClickElement(appWindow, 'button.delete').
then(waitAndClickElement.bind(null, appWindow, '.cr-dialog-ok'));
}).then(function() {
return repeatUntil(function() {
return getFilesUnderVolume(volumeType, ['New Image Name.png']).then(
function() {
return pending('"New Image Name.png" is still there.');
},
function() { return true; });
});
});
}
/**
* The traverseSlideImages test for Downloads.
* @return {Promise} Promise to be fulfilled with on success.
......@@ -131,3 +173,19 @@ function renameImageOnDownloads() {
function renameImageOnDrive() {
return renameImage('drive', VolumeManagerCommon.VolumeType.DRIVE);
}
/**
* The deleteImage test for Downloads.
* @return {Promise} Promise to be fulfilled with on success.
*/
function deleteImageOnDownloads() {
return deleteImage('local', VolumeManagerCommon.VolumeType.DOWNLOADS);
}
/**
* The deleteImage test for Google Drive.
* @return {Promise} Promise to be fulfilled with on success.
*/
function deleteImageOnDrive() {
return deleteImage('drive', VolumeManagerCommon.VolumeType.DRIVE);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment