1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- // Copyright 2021 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/js_messaging/java_script_feature_util_impl.h"
- #import <Foundation/Foundation.h>
- #import "ios/web/public/js_messaging/java_script_feature.h"
- #import "ios/web/public/js_messaging/java_script_feature_util.h"
- #include "testing/platform_test.h"
- #if !defined(__has_feature) || !__has_feature(objc_arc)
- #error "This file requires ARC support."
- #endif
- typedef PlatformTest JavaScriptFeatureUtilImplTest;
- TEST_F(JavaScriptFeatureUtilImplTest, BaseFeature) {
- web::JavaScriptFeature* feature =
- web::java_script_features::GetBaseJavaScriptFeature();
- std::vector<const web::JavaScriptFeature::FeatureScript*> scripts =
- feature->GetScripts();
- EXPECT_EQ(1ul, scripts.size());
- const web::JavaScriptFeature::FeatureScript* script = scripts.front();
- EXPECT_TRUE([script->GetScriptString() containsString:@"__gCrWeb"]);
- EXPECT_FALSE([script->GetScriptString() containsString:@"__gCrWeb.common"]);
- EXPECT_EQ(
- web::JavaScriptFeature::FeatureScript::InjectionTime::kDocumentStart,
- script->GetInjectionTime());
- EXPECT_EQ(web::JavaScriptFeature::FeatureScript::TargetFrames::kAllFrames,
- script->GetTargetFrames());
- }
- TEST_F(JavaScriptFeatureUtilImplTest, CommonFeature) {
- web::JavaScriptFeature* feature =
- web::java_script_features::GetCommonJavaScriptFeature();
- std::vector<const web::JavaScriptFeature::FeatureScript*> scripts =
- feature->GetScripts();
- EXPECT_EQ(1ul, scripts.size());
- const web::JavaScriptFeature::FeatureScript* script = scripts.front();
- EXPECT_TRUE([script->GetScriptString() containsString:@"__gCrWeb.common"]);
- EXPECT_FALSE([script->GetScriptString() containsString:@"__gCrWeb.message"]);
- EXPECT_EQ(
- web::JavaScriptFeature::FeatureScript::InjectionTime::kDocumentStart,
- script->GetInjectionTime());
- EXPECT_EQ(web::JavaScriptFeature::FeatureScript::TargetFrames::kAllFrames,
- script->GetTargetFrames());
- }
- TEST_F(JavaScriptFeatureUtilImplTest, MessageFeature) {
- web::JavaScriptFeature* feature =
- web::java_script_features::GetMessageJavaScriptFeature();
- std::vector<const web::JavaScriptFeature::FeatureScript*> scripts =
- feature->GetScripts();
- EXPECT_EQ(1ul, scripts.size());
- const web::JavaScriptFeature::FeatureScript* script = scripts.front();
- EXPECT_TRUE([script->GetScriptString() containsString:@"__gCrWeb.message"]);
- EXPECT_EQ(
- web::JavaScriptFeature::FeatureScript::InjectionTime::kDocumentStart,
- script->GetInjectionTime());
- EXPECT_EQ(web::JavaScriptFeature::FeatureScript::TargetFrames::kAllFrames,
- script->GetTargetFrames());
- }
- // Tests that the built in features are returned as expected.
- TEST_F(JavaScriptFeatureUtilImplTest, BuiltInFeatures) {
- std::vector features =
- web::java_script_features::GetBuiltInJavaScriptFeatures();
- ASSERT_EQ(1ul, features.size());
- web::JavaScriptFeature* feature = features.front();
- EXPECT_EQ(web::java_script_features::GetContextMenuJavaScriptFeature(),
- feature);
- }
|