blob: 93e2e9873a8512464344949680f318c78efa4df7 [file] [log] [blame]
// META: title=NativeIO API: Acquiring, displaying and releasing capacity.
// META: global=window,worker
'use strict';
promise_test(async testCase => {
const available_capacity = await storageFoundation.getRemainingCapacity();
assert_equals(available_capacity, 0);
}, 'The starting capacity of a NativeIOFileManager is 0');
promise_test(async testCase => {
const requested_capacity = 4;
const granted_capacity = await storageFoundation.requestCapacity(requested_capacity);
const available_capacity = await storageFoundation.getRemainingCapacity();
assert_equals(available_capacity, granted_capacity);
testCase.add_cleanup(async () => {
await storageFoundation.releaseCapacity(available_capacity);
});
}, 'getRemainingCapacity() reports the capacity granted by requestCapacity()');
promise_test(async testCase => {
const requested_capacity = 4;
const granted_capacity = await storageFoundation.requestCapacity(requested_capacity);
await storageFoundation.releaseCapacity(granted_capacity);
const available_capacity = await storageFoundation.getRemainingCapacity();
assert_equals(available_capacity, 0);
}, 'getRemainingCapacity() reports zero after a releaseCapacity() matching ' +
'the capacity granted by a requestCapacity().');
promise_test(async testCase => {
const requested_capacity = 4;
const granted_capacity = await storageFoundation.requestCapacity(requested_capacity);
assert_greater_than_equal(granted_capacity, requested_capacity);
testCase.add_cleanup(async () => {
await storageFoundation.releaseCapacity(granted_capacity);
});
}, 'requestCapacity() grants the requested capacity for small requests');