Index: ios/chrome/browser/translate/js_language_detection_manager_unittest.mm |
diff --git a/ios/chrome/browser/translate/js_language_detection_manager_unittest.mm b/ios/chrome/browser/translate/js_language_detection_manager_unittest.mm |
index 6ec7d4270f00cde44f9f84c9dd7dbae53a3004d2..b513d9943a72cb9f0ea47f4a1028e2aa431307b7 100644 |
--- a/ios/chrome/browser/translate/js_language_detection_manager_unittest.mm |
+++ b/ios/chrome/browser/translate/js_language_detection_manager_unittest.mm |
@@ -10,7 +10,6 @@ |
#include <vector> |
#include "base/bind.h" |
-#include "base/mac/scoped_nsobject.h" |
#import "base/test/ios/wait_util.h" |
#include "base/values.h" |
#import "ios/chrome/browser/web/chrome_web_test.h" |
@@ -21,18 +20,21 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
#include "testing/gtest_mac.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
namespace { |
const char kExpectedLanguage[] = "Foo"; |
// Returns an NSString filled with the char 'a' of length |length|. |
NSString* GetLongString(NSUInteger length) { |
- base::scoped_nsobject<NSMutableData> data( |
- [[NSMutableData alloc] initWithLength:length]); |
+ NSMutableData* data = [[NSMutableData alloc] initWithLength:length]; |
memset([data mutableBytes], 'a', length); |
NSString* long_string = |
[[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; |
- return [long_string autorelease]; |
+ return long_string; |
} |
} // namespace |
@@ -43,9 +45,9 @@ |
protected: |
void SetUp() override { |
ChromeWebTest::SetUp(); |
- manager_.reset(static_cast<JsLanguageDetectionManager*>( |
- [[web_state()->GetJSInjectionReceiver() |
- instanceOfClass:[JsLanguageDetectionManager class]] retain])); |
+ manager_ = static_cast<JsLanguageDetectionManager*>( |
+ [web_state()->GetJSInjectionReceiver() |
+ instanceOfClass:[JsLanguageDetectionManager class]]); |
ASSERT_TRUE(manager_); |
} |
@@ -93,14 +95,14 @@ void ExpectHttpContentLanguage(NSString* expected_http_content_language) { |
// Verifies if |__gCrWeb.languageDetection.getTextContent| correctly extracts |
// the text content from an HTML page. |
void ExpectTextContent(NSString* expected_text_content) { |
- base::scoped_nsobject<NSString> script([[NSString alloc] |
+ NSString* script = [[NSString alloc] |
initWithFormat: |
@"__gCrWeb.languageDetection.getTextContent(document.body, %lu);", |
- language_detection::kMaxIndexChars]); |
+ language_detection::kMaxIndexChars]; |
InjectJsAndVerify(script, expected_text_content); |
} |
- base::scoped_nsobject<JsLanguageDetectionManager> manager_; |
+ JsLanguageDetectionManager* manager_; |
}; |
// Tests that |hasBeenInjected| returns YES after |inject| call. |
@@ -126,10 +128,10 @@ void ExpectTextContent(NSString* expected_text_content) { |
// Tests correctness of |document.documentElement.lang| attribute. |
TEST_F(JsLanguageDetectionManagerTest, HtmlLang) { |
- base::scoped_nsobject<NSString> html; |
+ NSString* html; |
// Non-empty attribute. |
- html.reset([[NSString alloc] |
- initWithFormat:@"<html lang='%s'></html>", kExpectedLanguage]); |
+ html = [[NSString alloc] |
+ initWithFormat:@"<html lang='%s'></html>", kExpectedLanguage]; |
LoadHtmlAndInject(html); |
ExpectHtmlLang(@(kExpectedLanguage)); |
@@ -138,8 +140,8 @@ void ExpectTextContent(NSString* expected_text_content) { |
ExpectHtmlLang(@""); |
// Test with mixed case. |
- html.reset([[NSString alloc] |
- initWithFormat:@"<html lAnG='%s'></html>", kExpectedLanguage]); |
+ html = [[NSString alloc] |
+ initWithFormat:@"<html lAnG='%s'></html>", kExpectedLanguage]; |
LoadHtmlAndInject(html); |
ExpectHtmlLang(@(kExpectedLanguage)); |
} |
@@ -149,23 +151,23 @@ void ExpectTextContent(NSString* expected_text_content) { |
// No content language. |
LoadHtmlAndInject(@"<html></html>"); |
ExpectHttpContentLanguage(@""); |
- base::scoped_nsobject<NSString> html; |
+ NSString* html; |
// Some content language. |
- html.reset(([[NSString alloc] |
+ html = ([[NSString alloc] |
initWithFormat:@"<html><head>" |
"<meta http-equiv='content-language' content='%s'>" |
"</head></html>", |
- kExpectedLanguage])); |
+ kExpectedLanguage]); |
LoadHtmlAndInject(html); |
ExpectHttpContentLanguage(@(kExpectedLanguage)); |
// Test with mixed case. |
- html.reset(([[NSString alloc] |
+ html = ([[NSString alloc] |
initWithFormat:@"<html><head>" |
"<meta http-equiv='cOnTenT-lAngUAge' content='%s'>" |
"</head></html>", |
- kExpectedLanguage])); |
+ kExpectedLanguage]); |
LoadHtmlAndInject(html); |
ExpectHttpContentLanguage(@(kExpectedLanguage)); |
} |
@@ -219,19 +221,18 @@ void ExpectTextContent(NSString* expected_text_content) { |
TEST_F(JsLanguageDetectionManagerTest, LongTextContent) { |
// Very long string. |
NSUInteger kLongStringLength = language_detection::kMaxIndexChars - 5; |
- base::scoped_nsobject<NSMutableString> long_string( |
- [GetLongString(kLongStringLength) mutableCopy]); |
+ NSMutableString* long_string = [GetLongString(kLongStringLength) mutableCopy]; |
[long_string appendString:@" b cdefghijklmnopqrstuvwxyz"]; |
// The string should be cut at the last whitespace, after the 'b' character. |
- base::scoped_nsobject<NSString> html([[NSString alloc] |
- initWithFormat:@"<html><body>%@</html></body>", long_string.get()]); |
+ NSString* html = [[NSString alloc] |
+ initWithFormat:@"<html><body>%@</html></body>", long_string]; |
LoadHtmlAndInject(html); |
- base::scoped_nsobject<NSString> script([[NSString alloc] |
+ NSString* script = [[NSString alloc] |
initWithFormat: |
@"__gCrWeb.languageDetection.getTextContent(document.body, %lu);", |
- language_detection::kMaxIndexChars]); |
+ language_detection::kMaxIndexChars]; |
NSString* result = web::ExecuteJavaScript(manager_, script); |
EXPECT_EQ(language_detection::kMaxIndexChars, [result length]); |
} |