blob: 5d9c654b0b78c7883a2149e0d1715f2de1a9c0d5 [file] [log] [blame]
// 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.
#import "ios/web_view/public/cwv_translation_policy.h"
#import <Foundation/Foundation.h>
#include "base/strings/sys_string_conversions.h"
#import "ios/web_view/internal/translate/cwv_translation_language_internal.h"
#include "testing/gtest/include/gtest/gtest.h"
#import "testing/gtest_mac.h"
#include "testing/platform_test.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
namespace ios_web_view {
using CWVTranslationPolicyTest = PlatformTest;
// Tests CWVTranslationPolicy initialization.
TEST_F(CWVTranslationPolicyTest, Initialization) {
CWVTranslationPolicy* ask_policy =
[CWVTranslationPolicy translationPolicyAsk];
EXPECT_EQ(CWVTranslationPolicyAsk, ask_policy.type);
CWVTranslationPolicy* never_policy =
[CWVTranslationPolicy translationPolicyNever];
EXPECT_EQ(CWVTranslationPolicyNever, never_policy.type);
CWVTranslationLanguage* language = [[CWVTranslationLanguage alloc]
initWithLanguageCode:base::SysNSStringToUTF8(@"ja")
localizedName:base::SysNSStringToUTF16(@"Japanese")
nativeName:base::SysNSStringToUTF16(@"日本語")];
CWVTranslationPolicy* auto_policy =
[CWVTranslationPolicy translationPolicyAutoTranslateToLanguage:language];
EXPECT_EQ(CWVTranslationPolicyAuto, auto_policy.type);
EXPECT_NSEQ(language, auto_policy.language);
}
} // namespace ios_web_view