Commit 63bccd77 authored by Tatsuhisa Yamaguchi's avatar Tatsuhisa Yamaguchi Committed by Commit Bot

Add unit tests for request classes of Zip Archiver.

The test were replicated from the one in zip_archiver/unpacker_test and
rewritten to be based on JsTest.

Test: browser_tests --gtest_filter=ZipArchiverJsTest.*
Bug: 454910
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I141f310cdab10ca10e6084caac545b8be8c26ec8
Reviewed-on: https://chromium-review.googlesource.com/978224
Commit-Queue: Tatsuhisa Yamaguchi <yamaguchi@chromium.org>
Reviewed-by: default avatarTatsuhisa Yamaguchi <yamaguchi@chromium.org>
Reviewed-by: default avatarShinya Kawanaka <shinyak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547658}
parent 99cf9ba5
<!DOCTYPE html>
<!-- Copyright 2018 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="../js/unpacker.js"></script>
<script src="../js/request.js"></script>
<script src="request_unittest.js"></script>
// Copyright 2018 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.
'use strict';
const FILE_SYSTEM_ID = 'id';
const REQUEST_ID = 10;
const ENCODING = 'CP1250';
const ARCHIVE_SIZE = 5000;
const CHUNK_BUFFER = new ArrayBuffer(5);
const CHUNK_OFFSET = 150;
const CLOSE_VOLUME_REQUEST_ID = '-1';
const INDEX = 123;
const OPEN_REQUEST_ID = 7;
const OFFSET = 50;
const LENGTH = 200;
function testCreateReadMetadataRequest() {
const readMetadataRequest = unpacker.request.createReadMetadataRequest(
FILE_SYSTEM_ID, REQUEST_ID, ENCODING, ARCHIVE_SIZE);
assertEquals(
unpacker.request.Operation.READ_METADATA,
readMetadataRequest[unpacker.request.Key.OPERATION]);
assertEquals(
FILE_SYSTEM_ID, readMetadataRequest[unpacker.request.Key.FILE_SYSTEM_ID]);
assertEquals(
REQUEST_ID.toString(),
readMetadataRequest[unpacker.request.Key.REQUEST_ID]);
assertEquals(ENCODING, readMetadataRequest[unpacker.request.Key.ENCODING]);
assertEquals(
ARCHIVE_SIZE.toString(),
readMetadataRequest[unpacker.request.Key.ARCHIVE_SIZE]);
}
function testCreateReadChunkDoneResponse() {
const readChunkDoneResponse = unpacker.request.createReadChunkDoneResponse(
FILE_SYSTEM_ID, REQUEST_ID, CHUNK_BUFFER, CHUNK_OFFSET);
assertEquals(
unpacker.request.Operation.READ_CHUNK_DONE,
readChunkDoneResponse[unpacker.request.Key.OPERATION]);
assertEquals(
FILE_SYSTEM_ID,
readChunkDoneResponse[unpacker.request.Key.FILE_SYSTEM_ID]);
assertEquals(
REQUEST_ID.toString(),
readChunkDoneResponse[unpacker.request.Key.REQUEST_ID]);
assertEquals(
CHUNK_BUFFER, readChunkDoneResponse[unpacker.request.Key.CHUNK_BUFFER]);
assertEquals(
CHUNK_OFFSET.toString(),
readChunkDoneResponse[unpacker.request.Key.OFFSET]);
}
function testCreateReadChunkErrorResponse() {
const readChunkErrorResponse = unpacker.request.createReadChunkErrorResponse(
FILE_SYSTEM_ID, REQUEST_ID, CHUNK_BUFFER);
assertEquals(
unpacker.request.Operation.READ_CHUNK_ERROR,
readChunkErrorResponse[unpacker.request.Key.OPERATION]);
assertEquals(
FILE_SYSTEM_ID,
readChunkErrorResponse[unpacker.request.Key.FILE_SYSTEM_ID]);
assertEquals(
REQUEST_ID.toString(),
readChunkErrorResponse[unpacker.request.Key.REQUEST_ID]);
}
function testCreateCloseVolumeRequest() {
const closeVolumeRequest =
unpacker.request.createCloseVolumeRequest(FILE_SYSTEM_ID);
assertEquals(
unpacker.request.Operation.CLOSE_VOLUME,
closeVolumeRequest[unpacker.request.Key.OPERATION]);
assertEquals(
FILE_SYSTEM_ID, closeVolumeRequest[unpacker.request.Key.FILE_SYSTEM_ID]);
assertEquals(
CLOSE_VOLUME_REQUEST_ID,
closeVolumeRequest[unpacker.request.Key.REQUEST_ID]);
}
function testCreateOpenFileRequest() {
const openFileRequest = unpacker.request.createOpenFileRequest(
FILE_SYSTEM_ID, REQUEST_ID, INDEX, ENCODING, ARCHIVE_SIZE);
assertEquals(
unpacker.request.Operation.OPEN_FILE,
openFileRequest[unpacker.request.Key.OPERATION]);
assertEquals(
FILE_SYSTEM_ID, openFileRequest[unpacker.request.Key.FILE_SYSTEM_ID]);
assertEquals(
REQUEST_ID.toString(), openFileRequest[unpacker.request.Key.REQUEST_ID]);
assertEquals(INDEX.toString(), openFileRequest[unpacker.request.Key.INDEX]);
assertEquals(ENCODING, openFileRequest[unpacker.request.Key.ENCODING]);
assertEquals(
ARCHIVE_SIZE.toString(),
openFileRequest[unpacker.request.Key.ARCHIVE_SIZE]);
}
function testCreateCloseFileRequest() {
const closeFileRequest = unpacker.request.createCloseFileRequest(
FILE_SYSTEM_ID, REQUEST_ID, OPEN_REQUEST_ID);
assertEquals(
unpacker.request.Operation.CLOSE_FILE,
closeFileRequest[unpacker.request.Key.OPERATION]);
assertEquals(
FILE_SYSTEM_ID, closeFileRequest[unpacker.request.Key.FILE_SYSTEM_ID]);
assertEquals(
REQUEST_ID.toString(), closeFileRequest[unpacker.request.Key.REQUEST_ID]);
assertEquals(
OPEN_REQUEST_ID.toString(),
closeFileRequest[unpacker.request.Key.OPEN_REQUEST_ID]);
}
function testCreateReadFileRequest() {
const readFileRequest = unpacker.request.createReadFileRequest(
FILE_SYSTEM_ID, REQUEST_ID, OPEN_REQUEST_ID, OFFSET, LENGTH);
assertEquals(
unpacker.request.Operation.READ_FILE,
readFileRequest[unpacker.request.Key.OPERATION]);
assertEquals(
FILE_SYSTEM_ID, readFileRequest[unpacker.request.Key.FILE_SYSTEM_ID]);
assertEquals(
REQUEST_ID.toString(), readFileRequest[unpacker.request.Key.REQUEST_ID]);
assertEquals(
OPEN_REQUEST_ID.toString(),
readFileRequest[unpacker.request.Key.OPEN_REQUEST_ID]);
assertEquals(OFFSET.toString(), readFileRequest[unpacker.request.Key.OFFSET]);
assertEquals(LENGTH.toString(), readFileRequest[unpacker.request.Key.LENGTH]);
}
// Copyright (c) 2018 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.
#include "chrome/browser/chromeos/file_manager/file_manager_jstest_base.h"
class ZipArchiverJsTest : public FileManagerJsTestBase {
protected:
ZipArchiverJsTest()
: FileManagerJsTestBase(base::FilePath(FILE_PATH_LITERAL(
"chrome/browser/resources/chromeos/zip_archiver/test"))) {}
};
IN_PROC_BROWSER_TEST_F(ZipArchiverJsTest, RequestTest) {
RunTest(base::FilePath(FILE_PATH_LITERAL("request_unittest.html")));
}
// Copyright 2014 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.
'use strict';
describe('On calling', function() {
/**
* @const {string}
*/
var FILE_SYSTEM_ID = 'id';
/**
* @const {number}
*/
var REQUEST_ID = 10;
/**
* @const {string}
*/
var ENCODING = 'CP1250';
/**
* @const {number}
*/
var ARCHIVE_SIZE = 5000;
/**
* @const {!ArrayBuffer}
*/
var CHUNK_BUFFER = new ArrayBuffer(5);
/**
* @const {number}
*/
var CHUNK_OFFSET = 150;
/**
* @const {string}
*/
var CLOSE_VOLUME_REQUEST_ID = '-1';
/**
* @const {number}
*/
var INDEX = 123;
/**
* @const {number}
*/
var OPEN_REQUEST_ID = 7;
/**
* @const {number}
*/
var OFFSET = 50;
/**
* @const {number}
*/
var LENGTH = 200;
describe(
'request.createReadMetadataRequest should create a request', function() {
var readMetadataRequest;
beforeEach(function() {
readMetadataRequest = unpacker.request.createReadMetadataRequest(
FILE_SYSTEM_ID, REQUEST_ID, ENCODING, ARCHIVE_SIZE);
});
it('with READ_METADATA as operation', function() {
expect(readMetadataRequest[unpacker.request.Key.OPERATION])
.to.equal(unpacker.request.Operation.READ_METADATA);
});
it('with correct file system id', function() {
expect(readMetadataRequest[unpacker.request.Key.FILE_SYSTEM_ID])
.to.equal(FILE_SYSTEM_ID);
});
it('with correct request id', function() {
expect(readMetadataRequest[unpacker.request.Key.REQUEST_ID])
.to.equal(REQUEST_ID.toString());
});
it('with correct encoding', function() {
expect(readMetadataRequest[unpacker.request.Key.ENCODING])
.to.equal(ENCODING);
});
it('with correct archive size', function() {
expect(readMetadataRequest[unpacker.request.Key.ARCHIVE_SIZE])
.to.equal(ARCHIVE_SIZE.toString());
});
});
describe(
'request.createReadChunkDoneResponse should create a response',
function() {
var readChunkDoneReponse;
beforeEach(function() {
readChunkDoneReponse = unpacker.request.createReadChunkDoneResponse(
FILE_SYSTEM_ID, REQUEST_ID, CHUNK_BUFFER, CHUNK_OFFSET);
});
it('with READ_CHUNK_DONE as operation', function() {
expect(readChunkDoneReponse[unpacker.request.Key.OPERATION])
.to.equal(unpacker.request.Operation.READ_CHUNK_DONE);
});
it('with correct file system id', function() {
expect(readChunkDoneReponse[unpacker.request.Key.FILE_SYSTEM_ID])
.to.equal(FILE_SYSTEM_ID);
});
it('with correct request id', function() {
expect(readChunkDoneReponse[unpacker.request.Key.REQUEST_ID])
.to.equal(REQUEST_ID.toString());
});
it('with correct chunk buffer', function() {
expect(readChunkDoneReponse[unpacker.request.Key.CHUNK_BUFFER])
.to.equal(CHUNK_BUFFER);
});
it('with correct chunk offset', function() {
expect(readChunkDoneReponse[unpacker.request.Key.OFFSET])
.to.equal(CHUNK_OFFSET.toString());
});
});
describe(
'request.createReadChunkErrorResponse should create a response',
function() {
var readChunkErrorReponse;
beforeEach(function() {
readChunkErrorReponse = unpacker.request.createReadChunkErrorResponse(
FILE_SYSTEM_ID, REQUEST_ID, CHUNK_BUFFER);
});
it('with READ_CHUNK_ERROR as operation', function() {
expect(readChunkErrorReponse[unpacker.request.Key.OPERATION])
.to.equal(unpacker.request.Operation.READ_CHUNK_ERROR);
});
it('with correct file system id', function() {
expect(readChunkErrorReponse[unpacker.request.Key.FILE_SYSTEM_ID])
.to.equal(FILE_SYSTEM_ID);
});
it('with correct request id', function() {
expect(readChunkErrorReponse[unpacker.request.Key.REQUEST_ID])
.to.equal(REQUEST_ID.toString());
});
});
describe(
'request.createCloseVolumeRequest should create a request', function() {
var closeVolumeRequest;
beforeEach(function() {
closeVolumeRequest =
unpacker.request.createCloseVolumeRequest(FILE_SYSTEM_ID);
});
it('with CLOSE_VOLUME as operation', function() {
expect(closeVolumeRequest[unpacker.request.Key.OPERATION])
.to.equal(unpacker.request.Operation.CLOSE_VOLUME);
});
it('with correct file system id', function() {
expect(closeVolumeRequest[unpacker.request.Key.FILE_SYSTEM_ID])
.to.equal(FILE_SYSTEM_ID);
});
it('with correct request id', function() {
expect(closeVolumeRequest[unpacker.request.Key.REQUEST_ID])
.to.equal(CLOSE_VOLUME_REQUEST_ID);
});
});
describe('request.createOpenFileRequest should create a request', function() {
var openFileRequest;
beforeEach(function() {
openFileRequest = unpacker.request.createOpenFileRequest(
FILE_SYSTEM_ID, REQUEST_ID, INDEX, ENCODING, ARCHIVE_SIZE);
});
it('with OPEN_FILE as operation', function() {
expect(openFileRequest[unpacker.request.Key.OPERATION])
.to.equal(unpacker.request.Operation.OPEN_FILE);
});
it('with correct file system id', function() {
expect(openFileRequest[unpacker.request.Key.FILE_SYSTEM_ID])
.to.equal(FILE_SYSTEM_ID);
});
it('with correct request id', function() {
expect(openFileRequest[unpacker.request.Key.REQUEST_ID])
.to.equal(REQUEST_ID.toString());
});
it('with correct file path', function() {
expect(openFileRequest[unpacker.request.Key.INDEX])
.to.equal(INDEX.toString());
});
it('with correct encoding', function() {
expect(openFileRequest[unpacker.request.Key.ENCODING]).to.equal(ENCODING);
});
it('with correct archive size', function() {
expect(openFileRequest[unpacker.request.Key.ARCHIVE_SIZE])
.to.equal(ARCHIVE_SIZE.toString());
});
});
describe(
'request.createCloseFileRequest should create a request', function() {
var closeFileRequest;
beforeEach(function() {
closeFileRequest = unpacker.request.createCloseFileRequest(
FILE_SYSTEM_ID, REQUEST_ID, OPEN_REQUEST_ID);
});
it('with CLOSE_FILE as operation', function() {
expect(closeFileRequest[unpacker.request.Key.OPERATION])
.to.equal(unpacker.request.Operation.CLOSE_FILE);
});
it('with correct file system id', function() {
expect(closeFileRequest[unpacker.request.Key.FILE_SYSTEM_ID])
.to.equal(FILE_SYSTEM_ID);
});
it('with correct request id', function() {
expect(closeFileRequest[unpacker.request.Key.REQUEST_ID])
.to.equal(REQUEST_ID.toString());
});
it('with correct open request id', function() {
expect(closeFileRequest[unpacker.request.Key.OPEN_REQUEST_ID])
.to.equal(OPEN_REQUEST_ID.toString());
});
});
describe('request.createReadFileRequest should create a request', function() {
var readFileRequest;
beforeEach(function() {
readFileRequest = unpacker.request.createReadFileRequest(
FILE_SYSTEM_ID, REQUEST_ID, OPEN_REQUEST_ID, OFFSET, LENGTH);
});
it('with READ_FILE as operation', function() {
expect(readFileRequest[unpacker.request.Key.OPERATION])
.to.equal(unpacker.request.Operation.READ_FILE);
});
it('with correct file system id', function() {
expect(readFileRequest[unpacker.request.Key.FILE_SYSTEM_ID])
.to.equal(FILE_SYSTEM_ID);
});
it('with correct request id', function() {
expect(readFileRequest[unpacker.request.Key.REQUEST_ID])
.to.equal(REQUEST_ID.toString());
});
it('with correct open request id', function() {
expect(readFileRequest[unpacker.request.Key.OPEN_REQUEST_ID])
.to.equal(OPEN_REQUEST_ID.toString());
});
it('with correct offset', function() {
expect(readFileRequest[unpacker.request.Key.OFFSET])
.to.equal(OFFSET.toString());
});
it('with correct length', function() {
expect(readFileRequest[unpacker.request.Key.LENGTH])
.to.equal(LENGTH.toString());
});
});
});
...@@ -396,6 +396,8 @@ test("browser_tests") { ...@@ -396,6 +396,8 @@ test("browser_tests") {
# data or data_deps and through which dependencies. # data or data_deps and through which dependencies.
"//chrome/browser/chromeos/login/test/https_forwarder.py", "//chrome/browser/chromeos/login/test/https_forwarder.py",
"//chrome/browser/resources/chromeos/wallpaper_manager/", "//chrome/browser/resources/chromeos/wallpaper_manager/",
"//chrome/browser/resources/chromeos/zip_archiver/",
"//chrome/browser/resources/chromeos/zip_archiver/test/",
"//chromeos/test/data/", "//chromeos/test/data/",
"//components/chrome_apps/webstore_widget/cws_widget/", "//components/chrome_apps/webstore_widget/cws_widget/",
"//ui/file_manager/file_manager/", "//ui/file_manager/file_manager/",
...@@ -1658,6 +1660,7 @@ test("browser_tests") { ...@@ -1658,6 +1660,7 @@ test("browser_tests") {
"../browser/extensions/api/screenlock_private/screenlock_private_apitest.cc", "../browser/extensions/api/screenlock_private/screenlock_private_apitest.cc",
"../browser/extensions/api/vpn_provider/vpn_provider_apitest.cc", "../browser/extensions/api/vpn_provider/vpn_provider_apitest.cc",
"../browser/mash_service_registry_browsertest.cc", "../browser/mash_service_registry_browsertest.cc",
"../browser/resources/chromeos/zip_archiver/test/zip_archiver_jstest.cc",
"../browser/signin/chromeos_mirror_account_consistency_browsertest.cc", "../browser/signin/chromeos_mirror_account_consistency_browsertest.cc",
"../browser/ui/app_list/app_list_browsertest.cc", "../browser/ui/app_list/app_list_browsertest.cc",
"../browser/ui/app_list/arc/arc_usb_host_permission_browsertest.cc", "../browser/ui/app_list/arc/arc_usb_host_permission_browsertest.cc",
......
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