| Index: extensions/browser/api/printer_provider/printer_provider_apitest.cc
|
| diff --git a/extensions/browser/api/printer_provider/printer_provider_apitest.cc b/extensions/browser/api/printer_provider/printer_provider_apitest.cc
|
| index dfe5086ed684e52ab5349be678cf38bf9c1db4a3..ccec1a643b9cb0b7f91a3c6de46f5ff7e55049ed 100644
|
| --- a/extensions/browser/api/printer_provider/printer_provider_apitest.cc
|
| +++ b/extensions/browser/api/printer_provider/printer_provider_apitest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/files/scoped_temp_dir.h"
|
| #include "base/json/json_string_value_serializer.h"
|
| #include "base/memory/ref_counted_memory.h"
|
| +#include "base/memory/scoped_vector.h"
|
| #include "base/run_loop.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -17,15 +18,15 @@
|
| #include "extensions/browser/api/printer_provider/printer_provider_print_job.h"
|
| #include "extensions/browser/extension_registry.h"
|
| #include "extensions/common/extension.h"
|
| +#include "extensions/common/value_builder.h"
|
| #include "extensions/shell/test/shell_apitest.h"
|
| #include "extensions/test/extension_test_message_listener.h"
|
| #include "extensions/test/result_catcher.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| -namespace {
|
| +namespace extensions {
|
|
|
| -using extensions::PrinterProviderAPI;
|
| -using extensions::PrinterProviderAPIFactory;
|
| +namespace {
|
|
|
| // Callback for PrinterProviderAPI::DispatchGetPrintersRequested calls.
|
| // It appends items in |printers| to |*printers_out|. If |done| is set, it runs
|
| @@ -70,7 +71,7 @@ void RecordDictAndRunCallback(std::string* result,
|
| }
|
|
|
| // Tests for chrome.printerProvider API.
|
| -class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| +class PrinterProviderApiTest : public ShellApiTest {
|
| public:
|
| enum PrintRequestDataType {
|
| PRINT_REQUEST_DATA_TYPE_NOT_SET,
|
| @@ -92,7 +93,7 @@ class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| void StartPrintRequestWithNoData(
|
| const std::string& extension_id,
|
| const PrinterProviderAPI::PrintCallback& callback) {
|
| - extensions::PrinterProviderPrintJob job;
|
| + PrinterProviderPrintJob job;
|
| job.printer_id = extension_id + ":printer_id";
|
| job.ticket_json = "{}";
|
| job.content_type = "application/pdf";
|
| @@ -105,7 +106,7 @@ class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| void StartPrintRequestUsingDocumentBytes(
|
| const std::string& extension_id,
|
| const PrinterProviderAPI::PrintCallback& callback) {
|
| - extensions::PrinterProviderPrintJob job;
|
| + PrinterProviderPrintJob job;
|
| job.printer_id = extension_id + ":printer_id";
|
| job.job_title = base::ASCIIToUTF16("Print job");
|
| job.ticket_json = "{}";
|
| @@ -122,7 +123,7 @@ class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| bool StartPrintRequestUsingFileInfo(
|
| const std::string& extension_id,
|
| const PrinterProviderAPI::PrintCallback& callback) {
|
| - extensions::PrinterProviderPrintJob job;
|
| + PrinterProviderPrintJob job;
|
|
|
| const char kBytes[] = {'b', 'y', 't', 'e', 's'};
|
| if (!CreateTempFileWithContents(kBytes, static_cast<int>(arraysize(kBytes)),
|
| @@ -166,7 +167,7 @@ class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| ExtensionTestMessageListener loaded_listener("loaded", true);
|
| ExtensionTestMessageListener ready_listener("ready", false);
|
|
|
| - const extensions::Extension* extension = LoadApp(app_path);
|
| + const Extension* extension = LoadApp(app_path);
|
| ASSERT_TRUE(extension);
|
| const std::string extension_id = extension->id();
|
|
|
| @@ -188,7 +189,7 @@ class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| void RunPrintRequestTestApp(const std::string& test_param,
|
| PrintRequestDataType data_type,
|
| const std::string& expected_result) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_print",
|
| @@ -233,7 +234,7 @@ class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| // |expected_result|: The printer capability the app is expected to report.
|
| void RunPrinterCapabilitiesRequestTest(const std::string& test_param,
|
| const std::string& expected_result) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp(
|
| @@ -255,18 +256,17 @@ class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| }
|
|
|
| bool SimulateExtensionUnload(const std::string& extension_id) {
|
| - extensions::ExtensionRegistry* extension_registry =
|
| - extensions::ExtensionRegistry::Get(browser_context());
|
| + ExtensionRegistry* extension_registry =
|
| + ExtensionRegistry::Get(browser_context());
|
|
|
| - const extensions::Extension* extension =
|
| - extension_registry->GetExtensionById(
|
| - extension_id, extensions::ExtensionRegistry::ENABLED);
|
| + const Extension* extension = extension_registry->GetExtensionById(
|
| + extension_id, ExtensionRegistry::ENABLED);
|
| if (!extension)
|
| return false;
|
|
|
| extension_registry->RemoveEnabled(extension_id);
|
| extension_registry->TriggerOnUnloaded(
|
| - extension, extensions::UnloadedExtensionInfo::REASON_TERMINATE);
|
| + extension, UnloadedExtensionInfo::REASON_TERMINATE);
|
| return true;
|
| }
|
|
|
| @@ -277,16 +277,9 @@ class PrinterProviderApiTest : public extensions::ShellApiTest {
|
| // in |expoected_printers| are unique.
|
| void ValidatePrinterListValue(
|
| const base::ListValue& printers,
|
| - const std::vector<std::string>& expected_printers) {
|
| + const ScopedVector<base::Value>& expected_printers) {
|
| ASSERT_EQ(expected_printers.size(), printers.GetSize());
|
| - for (size_t i = 0; i < expected_printers.size(); ++i) {
|
| - JSONStringValueDeserializer deserializer(expected_printers[i]);
|
| - int error_code;
|
| - scoped_ptr<base::Value> printer_value(
|
| - deserializer.Deserialize(&error_code, NULL));
|
| - ASSERT_TRUE(printer_value) << "Failed to deserialize "
|
| - << expected_printers[i] << ": "
|
| - << "error code " << error_code;
|
| + for (const base::Value* printer_value : expected_printers) {
|
| EXPECT_TRUE(printers.Find(*printer_value) != printers.end())
|
| << "Unabe to find " << *printer_value << " in " << printers;
|
| }
|
| @@ -356,7 +349,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, PrintRequestDataNotSet) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, PrintRequestAppUnloaded) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_print",
|
| @@ -401,7 +394,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, CapabilityInvalidValue) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetCapabilityAppUnloaded) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp(
|
| @@ -423,7 +416,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetCapabilityAppUnloaded) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersSuccess) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -440,30 +433,29 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersSuccess) {
|
|
|
| run_loop.Run();
|
|
|
| - std::vector<std::string> expected_printers;
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"description\":\"Test printer\","
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printer1\","
|
| - "\"name\":\"Printer 1\""
|
| - "}",
|
| - extension_id.c_str(), extension_id.c_str()));
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printerNoDesc\","
|
| - "\"name\":\"Printer 2\""
|
| - "}",
|
| - extension_id.c_str(), extension_id.c_str()));
|
| + ScopedVector<base::Value> expected_printers;
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("description", "Test printer")
|
| + .Set("extensionId", extension_id)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id", base::StringPrintf("%s:printer1", extension_id.c_str()))
|
| + .Set("name", "Printer 1")
|
| + .Build());
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("extensionId", extension_id)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id",
|
| + base::StringPrintf("%s:printerNoDesc", extension_id.c_str()))
|
| + .Set("name", "Printer 2")
|
| + .Build());
|
|
|
| ValidatePrinterListValue(printers, expected_printers);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersAsyncSuccess) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -480,22 +472,21 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersAsyncSuccess) {
|
|
|
| run_loop.Run();
|
|
|
| - std::vector<std::string> expected_printers;
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"description\":\"Test printer\","
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printer1\","
|
| - "\"name\":\"Printer 1\""
|
| - "}",
|
| - extension_id.c_str(), extension_id.c_str()));
|
| + ScopedVector<base::Value> expected_printers;
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("description", "Test printer")
|
| + .Set("extensionId", extension_id)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id", base::StringPrintf("%s:printer1", extension_id.c_str()))
|
| + .Set("name", "Printer 1")
|
| + .Build());
|
|
|
| ValidatePrinterListValue(printers, expected_printers);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersTwoExtensions) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id_1;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -519,48 +510,46 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersTwoExtensions) {
|
|
|
| run_loop.Run();
|
|
|
| - std::vector<std::string> expected_printers;
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"description\":\"Test printer\","
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printer1\","
|
| - "\"name\":\"Printer 1\""
|
| - "}",
|
| - extension_id_1.c_str(), extension_id_1.c_str()));
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printerNoDesc\","
|
| - "\"name\":\"Printer 2\""
|
| - "}",
|
| - extension_id_1.c_str(), extension_id_1.c_str()));
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"description\":\"Test printer\","
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printer1\","
|
| - "\"name\":\"Printer 1\""
|
| - "}",
|
| - extension_id_2.c_str(), extension_id_2.c_str()));
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printerNoDesc\","
|
| - "\"name\":\"Printer 2\""
|
| - "}",
|
| - extension_id_2.c_str(), extension_id_2.c_str()));
|
| + ScopedVector<base::Value> expected_printers;
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("description", "Test printer")
|
| + .Set("extensionId", extension_id_1)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id", base::StringPrintf("%s:printer1", extension_id_1.c_str()))
|
| + .Set("name", "Printer 1")
|
| + .Build());
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("extensionId", extension_id_1)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id",
|
| + base::StringPrintf("%s:printerNoDesc", extension_id_1.c_str()))
|
| + .Set("name", "Printer 2")
|
| + .Build());
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("description", "Test printer")
|
| + .Set("extensionId", extension_id_2)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id", base::StringPrintf("%s:printer1", extension_id_2.c_str()))
|
| + .Set("name", "Printer 1")
|
| + .Build());
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("extensionId", extension_id_2)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id",
|
| + base::StringPrintf("%s:printerNoDesc", extension_id_2.c_str()))
|
| + .Set("name", "Printer 2")
|
| + .Build());
|
|
|
| ValidatePrinterListValue(printers, expected_printers);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
|
| GetPrintersTwoExtensionsBothUnloaded) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id_1;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -592,7 +581,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
|
| GetPrintersTwoExtensionsOneFails) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id_1;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -616,31 +605,30 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
|
|
|
| run_loop.Run();
|
|
|
| - std::vector<std::string> expected_printers;
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"description\":\"Test printer\","
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printer1\","
|
| - "\"name\":\"Printer 1\""
|
| - "}",
|
| - extension_id_2.c_str(), extension_id_2.c_str()));
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printerNoDesc\","
|
| - "\"name\":\"Printer 2\""
|
| - "}",
|
| - extension_id_2.c_str(), extension_id_2.c_str()));
|
| + ScopedVector<base::Value> expected_printers;
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("description", "Test printer")
|
| + .Set("extensionId", extension_id_2)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id", base::StringPrintf("%s:printer1", extension_id_2.c_str()))
|
| + .Set("name", "Printer 1")
|
| + .Build());
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("extensionId", extension_id_2)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id",
|
| + base::StringPrintf("%s:printerNoDesc", extension_id_2.c_str()))
|
| + .Set("name", "Printer 2")
|
| + .Build());
|
|
|
| ValidatePrinterListValue(printers, expected_printers);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
|
| GetPrintersTwoExtensionsOneWithNoListener) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id_1;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -664,30 +652,29 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
|
|
|
| run_loop.Run();
|
|
|
| - std::vector<std::string> expected_printers;
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"description\":\"Test printer\","
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printer1\","
|
| - "\"name\":\"Printer 1\""
|
| - "}",
|
| - extension_id_2.c_str(), extension_id_2.c_str()));
|
| - expected_printers.push_back(base::StringPrintf(
|
| - "{"
|
| - "\"extensionId\":\"%s\","
|
| - "\"extensionName\": \"Test printer provider\","
|
| - "\"id\":\"%s:printerNoDesc\","
|
| - "\"name\":\"Printer 2\""
|
| - "}",
|
| - extension_id_2.c_str(), extension_id_2.c_str()));
|
| + ScopedVector<base::Value> expected_printers;
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("description", "Test printer")
|
| + .Set("extensionId", extension_id_2)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id", base::StringPrintf("%s:printer1", extension_id_2.c_str()))
|
| + .Set("name", "Printer 1")
|
| + .Build());
|
| + expected_printers.push_back(
|
| + DictionaryBuilder()
|
| + .Set("extensionId", extension_id_2)
|
| + .Set("extensionName", "Test printer provider")
|
| + .Set("id",
|
| + base::StringPrintf("%s:printerNoDesc", extension_id_2.c_str()))
|
| + .Set("name", "Printer 2")
|
| + .Build());
|
|
|
| ValidatePrinterListValue(printers, expected_printers);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersNoListener) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -708,7 +695,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersNoListener) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersNotArray) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -730,7 +717,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersNotArray) {
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
|
| GetPrintersInvalidPrinterValueType) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -751,7 +738,7 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest,
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersInvalidPrinterValue) {
|
| - extensions::ResultCatcher catcher;
|
| + ResultCatcher catcher;
|
|
|
| std::string extension_id;
|
| InitializePrinterProviderTestApp("api_test/printer_provider/request_printers",
|
| @@ -772,3 +759,5 @@ IN_PROC_BROWSER_TEST_F(PrinterProviderApiTest, GetPrintersInvalidPrinterValue) {
|
| }
|
|
|
| } // namespace
|
| +
|
| +} // namespace extensions
|
|
|