Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(481)

Unified Diff: chrome/test/data/extensions/api_test/systeminfo/storage/test_storage_api.js

Issue 12084017: [SystemInfo API] Implement systemInfo.storage.onAvailableCapacityChanged event (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Add a stub file to pass building on Android Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/systeminfo/storage/test_storage_api.js
diff --git a/chrome/test/data/extensions/api_test/systeminfo/storage/test_storage_api.js b/chrome/test/data/extensions/api_test/systeminfo/storage/test_storage_api.js
index 06c9c658cb5d50d7db2e313597479bca57cfd3ec..a679dd88812f958c6f0f2f251d7788a84713bf51 100644
--- a/chrome/test/data/extensions/api_test/systeminfo/storage/test_storage_api.js
+++ b/chrome/test/data/extensions/api_test/systeminfo/storage/test_storage_api.js
@@ -3,34 +3,57 @@
// found in the LICENSE file.
// systemInfo.storage api test
-// browser_tests.exe --gtest_filter=SystemInfoStorageApiTest.Storage
+// browser_tests --gtest_filter=SystemInfoStorageApiTest.Storage
chrome.systemInfo = chrome.experimental.systemInfo;
+// Testing data should be the same as that in system_info_storage_apitest.cc
+var testData = [
+ { id: "0xbeaf", type: "unknown", capacity: 4098,
+ availableCapacity: 1000, step: 0 },
+ { id: "/home", type: "harddisk", capacity: 4098,
+ availableCapacity: 1000, step: 10 },
+ { id: "/data", type: "harddisk", capacity: 10000,
+ availableCapacity: 1000, step: 4097 }
+];
+
chrome.test.runTests([
function testGet() {
chrome.systemInfo.storage.get(chrome.test.callbackPass(function(units) {
- chrome.test.assertTrue(units.length == 1);
- var unit = units[0];
- chrome.test.assertTrue(unit.id == "0xbeaf");
- chrome.test.assertTrue(unit.type == "unknown");
- chrome.test.assertTrue(unit.capacity == 4098);
- chrome.test.assertTrue(unit.availableCapacity == 1024);
+ chrome.test.assertTrue(units.length == 3);
+ for (var i = 0; i < units.length; ++i) {
+ chrome.test.assertEq(testData[i].id, units[i].id);
+ chrome.test.assertEq(testData[i].type, units[i].type);
+ chrome.test.assertEq(testData[i].capacity, units[i].capacity);
+ chrome.test.assertEq(testData[i].availableCapacity,
+ units[i].availableCapacity);
+ testData[i].availableCapacity += testData[i].step;
+ }
}));
},
function testChangedEvent() {
- chrome.test.sendMessage("ready", function() {
- var numOfChangedEvent = 0;
- var base = 10000;
- var step = 10;
- var doneChangedEvent = chrome.test.listenForever(
- chrome.systemInfo.storage.onAvailableCapacityChanged,
- function listener(changedInfo) {
- chrome.test.assertTrue(changedInfo.id == "/dev/sda1");
- chrome.test.assertTrue(
- changedInfo.availableCapacity == (base - step*numOfChangedEvent));
- if (++numOfChangedEvent > 5)
- doneChangedEvent();
- });
- });
- }
+ var numOfChangedEvent = 0;
+ var callbackCompleted = chrome.test.callbackAdded();
+ chrome.systemInfo.storage.onAvailableCapacityChanged.addListener(
+ function listener(changeInfo) {
+ for (var i = 0; i < testData.length; ++i) {
+ if (changeInfo.id == testData[i].id) {
+ // Increase its availableCapacity since it will be queried before
+ // triggering onChanged event.
+ testData[i].availableCapacity += testData[i].step;
+ chrome.test.assertEq(testData[i].availableCapacity,
+ changeInfo.availableCapacity);
+ break;
+ }
+ }
+
+ if (i >= testData.length)
+ chrome.test.fail("No matched storage id is found!");
+
+ if (++numOfChangedEvent > 10) {
+ chrome.systemInfo.storage.onAvailableCapacityChanged.removeListener(
+ listener);
+ setTimeout(callbackCompleted, 0);
+ }
+ });
+ }
]);

Powered by Google App Engine
This is Rietveld 408576698