Commit ab20193e authored by Stuart Langley's avatar Stuart Langley Committed by Commit Bot

Closure compile metadata_cache_item_unittest.

Convert metadata_cache_item_unittest.js to be closure compiled.

- Remove html file that is not auto generated.
- Fix closure errors in the unittest file.

As MetadataCacheItem requires a MetadataItem to be a parameter most of the unit
test code needed to be re-written to use this type.

No change in behaviour.

Bug: 906919
Change-Id: Id903f8bec90abfa5256acb45d5eb3c3640d31acb
Reviewed-on: https://chromium-review.googlesource.com/c/1343413
Commit-Queue: Noel Gordon <noel@chromium.org>
Reviewed-by: default avatarNoel Gordon <noel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609603}
parent 3681121f
...@@ -124,8 +124,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerJsTest, ThumbnailLoader) { ...@@ -124,8 +124,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerJsTest, ThumbnailLoader) {
} }
IN_PROC_BROWSER_TEST_F(FileManagerJsTest, MetadataCacheItem) { IN_PROC_BROWSER_TEST_F(FileManagerJsTest, MetadataCacheItem) {
RunTest(base::FilePath(FILE_PATH_LITERAL( RunGeneratedTest("/foreground/js/metadata/metadata_cache_item_unittest.html");
"foreground/js/metadata/metadata_cache_item_unittest.html")));
} }
IN_PROC_BROWSER_TEST_F(FileManagerJsTest, MetadataCacheSet) { IN_PROC_BROWSER_TEST_F(FileManagerJsTest, MetadataCacheSet) {
......
...@@ -124,6 +124,13 @@ js_library("metadata_cache_item") { ...@@ -124,6 +124,13 @@ js_library("metadata_cache_item") {
] ]
} }
js_unittest("metadata_cache_item_unittest") {
deps = [
":metadata_cache_item",
"//ui/webui/resources/js:webui_resource_test",
]
}
js_library("metadata_cache_set") { js_library("metadata_cache_set") {
deps = [ deps = [
":metadata_cache_item", ":metadata_cache_item",
...@@ -214,6 +221,7 @@ js_unittest("thumbnail_model_unittest") { ...@@ -214,6 +221,7 @@ js_unittest("thumbnail_model_unittest") {
js_unit_tests("unit_tests") { js_unit_tests("unit_tests") {
deps = [ deps = [
":image_orientation_unittest", ":image_orientation_unittest",
":metadata_cache_item_unittest",
":thumbnail_model_unittest", ":thumbnail_model_unittest",
] ]
} }
......
<!DOCTYPE html>
<!-- Copyright 2015 The Chromium Authors. All rights reserved.
-- Use of this source code is governed by a BSD-style license that can be
-- found in the LICENSE file.
-->
<script src="../../../../../webui/resources/js/assert.js"></script>
<script src="../../../../base/js/test_error_reporting.js"></script>
<script src="metadata_cache_item.js"></script>
<script src="metadata_item.js"></script>
<script src="metadata_request.js"></script>
<script src="metadata_cache_item_unittest.js"></script>
...@@ -2,106 +2,135 @@ ...@@ -2,106 +2,135 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
/**
* @type {!MetadataItem}
*/
let metadataA = new MetadataItem();
metadataA.contentMimeType = 'value';
function testMetadataCacheItemBasic() { function testMetadataCacheItemBasic() {
var item = new MetadataCacheItem(); var item = new MetadataCacheItem();
var loadRequested = item.createRequests(['propertyA']); var loadRequested = item.createRequests(['contentMimeType']);
assertEquals(1, loadRequested.length); assertEquals(1, loadRequested.length);
assertEquals('propertyA', loadRequested[0]); assertEquals('contentMimeType', loadRequested[0]);
item.startRequests(1, loadRequested); item.startRequests(1, loadRequested);
assertTrue(item.storeProperties(1, {propertyA: 'value'})); assertTrue(item.storeProperties(1, metadataA));
var result = item.get(['propertyA']); var result = item.get(['contentMimeType']);
assertEquals('value', result.propertyA); assertEquals('value', result.contentMimeType);
} }
function testMetadataCacheItemAvoidDoubleLoad() { function testMetadataCacheItemAvoidDoubleLoad() {
var item = new MetadataCacheItem(); var item = new MetadataCacheItem();
item.startRequests(1, ['propertyA']); item.startRequests(1, ['contentMimeType']);
var loadRequested = item.createRequests(['propertyA']); var loadRequested = item.createRequests(['contentMimeType']);
assertEquals(0, loadRequested.length); assertEquals(0, loadRequested.length);
item.startRequests(2, loadRequested); item.startRequests(2, loadRequested);
assertTrue(item.storeProperties(1, {propertyA: 'value'})); assertTrue(item.storeProperties(1, metadataA));
var result = item.get(['propertyA']); var result = item.get(['contentMimeType']);
assertEquals('value', result.propertyA); assertEquals('value', result.contentMimeType);
} }
function testMetadataCacheItemInvalidate() { function testMetadataCacheItemInvalidate() {
var item = new MetadataCacheItem(); var item = new MetadataCacheItem();
item.startRequests(1, item.createRequests(['propertyA'])); item.startRequests(1, item.createRequests(['contentMimeType']));
item.invalidate(2); item.invalidate(2);
assertFalse(item.storeProperties(1, {propertyA: 'value'})); assertFalse(item.storeProperties(1, metadataA));
var loadRequested = item.createRequests(['propertyA']); var loadRequested = item.createRequests(['contentMimeType']);
assertEquals(1, loadRequested.length); assertEquals(1, loadRequested.length);
} }
function testMetadataCacheItemStoreInReverseOrder() { function testMetadataCacheItemStoreInReverseOrder() {
var item = new MetadataCacheItem(); var item = new MetadataCacheItem();
item.startRequests(1, item.createRequests(['propertyA'])); item.startRequests(1, item.createRequests(['contentMimeType']));
item.startRequests(2, item.createRequests(['propertyA'])); item.startRequests(2, item.createRequests(['contentMimeType']));
let metadataB = new MetadataItem();
metadataB.contentMimeType = 'value2';
assertTrue(item.storeProperties(2, {propertyA: 'value2'})); assertTrue(item.storeProperties(2, metadataB));
assertFalse(item.storeProperties(1, {propertyA: 'value1'})); assertFalse(item.storeProperties(1, metadataA));
var result = item.get(['propertyA']); var result = item.get(['contentMimeType']);
assertEquals('value2', result.propertyA); assertEquals('value2', result.contentMimeType);
} }
function testMetadataCacheItemClone() { function testMetadataCacheItemClone() {
var itemA = new MetadataCacheItem(); var itemA = new MetadataCacheItem();
itemA.startRequests(1, itemA.createRequests(['property'])); itemA.startRequests(1, itemA.createRequests(['contentMimeType']));
var itemB = itemA.clone(); var itemB = itemA.clone();
itemA.storeProperties(1, {property: 'value'}); itemA.storeProperties(1, metadataA);
assertFalse(itemB.hasFreshCache(['property'])); assertFalse(itemB.hasFreshCache(['contentMimeType']));
itemB.storeProperties(1, {property: 'value'}); itemB.storeProperties(1, metadataA);
assertTrue(itemB.hasFreshCache(['property'])); assertTrue(itemB.hasFreshCache(['contentMimeType']));
itemA.invalidate(2); itemA.invalidate(2);
assertTrue(itemB.hasFreshCache(['property'])); assertTrue(itemB.hasFreshCache(['contentMimeType']));
} }
function testMetadataCacheItemHasFreshCache() { function testMetadataCacheItemHasFreshCache() {
var item = new MetadataCacheItem(); var item = new MetadataCacheItem();
assertFalse(item.hasFreshCache(['propertyA', 'propertyB'])); assertFalse(item.hasFreshCache(['contentMimeType', 'externalFileUrl']));
item.startRequests(1, item.createRequests(['propertyA', 'propertyB'])); item.startRequests(
item.storeProperties(1, {propertyA: 'valueA', propertyB: 'valueB'}); 1, item.createRequests(['contentMimeType', 'externalFileUrl']));
assertTrue(item.hasFreshCache(['propertyA', 'propertyB']));
let metadata = new MetadataItem();
metadata.contentMimeType = 'mime';
metadata.externalFileUrl = 'url';
item.storeProperties(1, metadata);
assertTrue(item.hasFreshCache(['contentMimeType', 'externalFileUrl']));
item.invalidate(2); item.invalidate(2);
assertFalse(item.hasFreshCache(['propertyA', 'propertyB'])); assertFalse(item.hasFreshCache(['contentMimeType', 'externalFileUrl']));
item.startRequests(1, item.createRequests(['propertyA'])); item.startRequests(1, item.createRequests(['contentMimeType']));
item.storeProperties(1, {propertyA: 'valueA'}); item.storeProperties(1, metadataA);
assertFalse(item.hasFreshCache(['propertyA', 'propertyB'])); assertFalse(item.hasFreshCache(['contentMimeType', 'externalFileUrl']));
assertTrue(item.hasFreshCache(['propertyA'])); assertTrue(item.hasFreshCache(['contentMimeType']));
} }
function testMetadataCacheItemShouldNotUpdateBeforeInvalidation() { function testMetadataCacheItemShouldNotUpdateBeforeInvalidation() {
var item = new MetadataCacheItem(); var item = new MetadataCacheItem();
item.startRequests(1, item.createRequests(['property'])); item.startRequests(1, item.createRequests(['contentMimeType']));
item.storeProperties(1, {property: 'value1'}); item.storeProperties(1, metadataA);
item.storeProperties(2, {property: 'value2'});
assertEquals('value1', item.get(['property']).property); let metadataB = new MetadataItem();
metadataB.contentMimeType = 'value2';
item.storeProperties(2, metadataB);
assertEquals('value', item.get(['contentMimeType']).contentMimeType);
} }
function testMetadataCacheItemError() { function testMetadataCacheItemError() {
var item = new MetadataCacheItem(); var item = new MetadataCacheItem();
item.startRequests(1, item.createRequests(['property'])); item.startRequests(1, item.createRequests(['contentThumbnailUrl']));
item.storeProperties(
1, {property: 'value1', propertyError: new Error('Error')}); let metadataWithError = new MetadataItem();
assertEquals(undefined, item.get(['property']).property); metadataWithError.contentThumbnailUrlError = new Error('Error');
assertEquals('Error', item.get(['property']).propertyError.message);
item.storeProperties(1, metadataWithError);
let property = item.get(['contentThumbnailUrl']);
assertEquals(undefined, property.contentThumbnailUrl);
assertEquals('Error', property.contentThumbnailUrlError.message);
} }
function testMetadataCacheItemErrorShouldNotFetchedDirectly() { function testMetadataCacheItemErrorShouldNotFetchedDirectly() {
var item = new MetadataCacheItem(); var item = new MetadataCacheItem();
item.startRequests(1, item.createRequests(['property'])); item.startRequests(1, item.createRequests(['contentThumbnailUrl']));
item.storeProperties(
1, {property: 'value1', propertyError: new Error('Error')}); let metadataWithError = new MetadataItem();
assertThrows(function() { item.get(['propertyError']); }); metadataWithError.contentThumbnailUrlError = new Error('Error');
item.storeProperties(1, metadataWithError);
assertThrows(function() {
item.get(['contentThumbnailUrlError']);
});
} }
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