// 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. #include "base/memory/ref_counted.h" #include "base/strings/utf_string_conversions.h" #include "extensions/browser/api/device_permissions_prompt.h" #include "extensions/common/extension.h" #include "extensions/common/extension_builder.h" #include "extensions/common/value_builder.h" #include "testing/gtest/include/gtest/gtest.h" namespace extensions { namespace { class DevicePermissionsPromptTest : public testing::Test {}; TEST_F(DevicePermissionsPromptTest, HidPromptMessages) { scoped_refptr extension = ExtensionBuilder() .SetManifest(DictionaryBuilder() .Set("name", "Test Application") .Set("manifest_version", 2) .Set("version", "1.0") .Build()) .Build(); scoped_refptr prompt = DevicePermissionsPrompt::CreateHidPromptForTest(extension.get(), false); EXPECT_EQ(base::ASCIIToUTF16("Select a HID device"), prompt->GetHeading()); EXPECT_EQ( base::ASCIIToUTF16( "The application \"Test Application\" is requesting access to one of " "your devices."), prompt->GetPromptMessage()); prompt = DevicePermissionsPrompt::CreateHidPromptForTest(extension.get(), true); EXPECT_EQ(base::ASCIIToUTF16("Select HID devices"), prompt->GetHeading()); EXPECT_EQ( base::ASCIIToUTF16( "The application \"Test Application\" is requesting access to one or " "more of your devices."), prompt->GetPromptMessage()); } TEST_F(DevicePermissionsPromptTest, UsbPromptMessages) { scoped_refptr extension = ExtensionBuilder() .SetManifest(DictionaryBuilder() .Set("name", "Test Application") .Set("manifest_version", 2) .Set("version", "1.0") .Build()) .Build(); scoped_refptr prompt = DevicePermissionsPrompt::CreateUsbPromptForTest(extension.get(), false); EXPECT_EQ(base::ASCIIToUTF16("Select a USB device"), prompt->GetHeading()); EXPECT_EQ( base::ASCIIToUTF16( "The application \"Test Application\" is requesting access to one of " "your devices."), prompt->GetPromptMessage()); prompt = DevicePermissionsPrompt::CreateUsbPromptForTest(extension.get(), true); EXPECT_EQ(base::ASCIIToUTF16("Select USB devices"), prompt->GetHeading()); EXPECT_EQ( base::ASCIIToUTF16( "The application \"Test Application\" is requesting access to one or " "more of your devices."), prompt->GetPromptMessage()); } } // namespace } // namespace extensions