1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
6 var testFiles = ['Test1', 'Test2', 'Conflicting'];
10 chrome.syncFileSystem.requestFileSystem(testStep.shift());
12 // Create empty files.
15 createFiles(fileSystem, testFiles.slice(0), testStep.shift());
17 // Read entries in root directory.
19 var reader = fileSystem.root.createReader();
20 reader.readEntries(testStep.shift(), errorHandler);
22 // Query file statuses for the returned entries.
24 chrome.test.assertEq(testFiles.length, entries.length);
25 chrome.syncFileSystem.getFileStatuses(
26 entries, chrome.test.callbackPass(testStep.shift()));
28 // Verify the returned statuses.
29 function(fileStatuses) {
30 // Sort the input and results array so that their orders match.
32 fileStatuses.sort(sortByFilePath);
34 chrome.test.assertEq(testFiles.length, fileStatuses.length);
35 for (var i = 0; i < testFiles.length; ++i) {
36 chrome.test.assertEq(testFiles[i], fileStatuses[i].fileEntry.name);
37 chrome.test.assertEq('/' + testFiles[i],
38 fileStatuses[i].fileEntry.fullPath);
39 chrome.test.assertTrue(fileStatuses[i].fileEntry.isFile);
40 chrome.test.assertTrue(!fileStatuses[i].error);
42 (testFiles[i] == 'Conflicting') ? 'conflicting' : 'pending';
43 chrome.test.assertEq(expectedStatus, fileStatuses[i].status);
45 chrome.test.succeed();
49 function createFiles(fileSystem, fileNames, callback) {
50 if (!fileNames.length) {
54 fileSystem.root.getFile(
55 fileNames.shift(), {create:true},
56 createFiles.bind(null, fileSystem, fileNames, callback),
60 function sortByFilePath(a, b) {
61 if (a.fileEntry.fullPath < b.fileEntry.fullPath)
63 if (a.fileEntry.fullPath > b.fileEntry.fullPath)
68 function errorHandler(e) {
69 console.log("Failed test with error" + e);
73 chrome.test.runTests([