Index: ui/ios/NSString+CrStringDrawing_unittest.mm |
diff --git a/ui/ios/NSString+CrStringDrawing_unittest.mm b/ui/ios/NSString+CrStringDrawing_unittest.mm |
deleted file mode 100644 |
index 157d0214dd5c97c6dcd723db1b01beb89099958a..0000000000000000000000000000000000000000 |
--- a/ui/ios/NSString+CrStringDrawing_unittest.mm |
+++ /dev/null |
@@ -1,151 +0,0 @@ |
-// Copyright 2014 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 "ui/ios/NSString+CrStringDrawing.h" |
- |
-#include "base/mac/scoped_nsobject.h" |
-#include "base/strings/stringprintf.h" |
-#include "base/strings/sys_string_conversions.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "testing/platform_test.h" |
- |
-namespace { |
- |
-typedef PlatformTest NSStringCrStringDrawing; |
- |
-// These tests verify that the category methods return the same values as the |
-// deprecated methods, so ignore warnings about using deprecated methods. |
-#pragma clang diagnostic push |
-#pragma clang diagnostic ignored "-Wdeprecated-declarations" |
- |
-// Verifies that |cr_boundingSizeWithSize| returns the same size as the |
-// deprecated |sizeWithFont:constrainedToSize| for most values. |
-// Note that the methods return different values in a few cases (so they are not |
-// included in the test cases): |
-// - the constrained size.width is less than a character. |
-// - the constrained size.height is less than the font height. |
-// - the string is empty. |
-TEST_F(NSStringCrStringDrawing, BoundingSizeWithSize) { |
- NSArray* fonts = @[ |
- [UIFont systemFontOfSize:16], |
- [UIFont boldSystemFontOfSize:10], |
- [UIFont fontWithName:@"Helvetica" size:12.0], |
- ]; |
- NSArray* strings = @[ |
- @"Test", |
- @"multi word test", |
- @"你好", |
- @"★ This is a test string that is very long.", |
- ]; |
- NSArray* sizes = @[ |
- [NSValue valueWithCGSize:CGSizeMake(20, 100)], |
- [NSValue valueWithCGSize:CGSizeMake(100, 100)], |
- [NSValue valueWithCGSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX)], |
- ]; |
- for (UIFont* font in fonts) { |
- for (NSString* string in strings) { |
- for (NSValue* sizeValue in sizes) { |
- CGSize test_size = [sizeValue CGSizeValue]; |
- std::string test_tag = base::StringPrintf( |
- "for string '%s' with font %s and size %s", |
- base::SysNSStringToUTF8(string).c_str(), |
- base::SysNSStringToUTF8([font description]).c_str(), |
- base::SysNSStringToUTF8(NSStringFromCGSize(test_size)).c_str()); |
- |
- CGSize size_with_font = |
- [string sizeWithFont:font constrainedToSize:test_size]; |
- CGSize bounding_size = |
- [string cr_boundingSizeWithSize:test_size font:font]; |
- EXPECT_EQ(size_with_font.width, bounding_size.width) << test_tag; |
- EXPECT_EQ(size_with_font.height, bounding_size.height) << test_tag; |
- } |
- } |
- } |
-} |
- |
-TEST_F(NSStringCrStringDrawing, SizeWithFont) { |
- NSArray* fonts = @[ |
- [NSNull null], |
- [UIFont systemFontOfSize:16], |
- [UIFont boldSystemFontOfSize:10], |
- [UIFont fontWithName:@"Helvetica" size:12.0], |
- ]; |
- for (UIFont* font in fonts) { |
- if ([font isEqual:[NSNull null]]) |
- font = nil; |
- std::string font_tag = "with font "; |
- font_tag.append( |
- base::SysNSStringToUTF8(font ? [font description] : @"nil")); |
- EXPECT_EQ([@"" sizeWithFont:font].width, |
- [@"" cr_sizeWithFont:font].width) << font_tag; |
- EXPECT_EQ([@"" sizeWithFont:font].height, |
- [@"" cr_sizeWithFont:font].height) << font_tag; |
- EXPECT_EQ([@"Test" sizeWithFont:font].width, |
- [@"Test" cr_sizeWithFont:font].width) << font_tag; |
- EXPECT_EQ([@"Test" sizeWithFont:font].height, |
- [@"Test" cr_sizeWithFont:font].height) << font_tag; |
- EXPECT_EQ([@"你好" sizeWithFont:font].width, |
- [@"你好" cr_sizeWithFont:font].width) << font_tag; |
- EXPECT_EQ([@"你好" sizeWithFont:font].height, |
- [@"你好" cr_sizeWithFont:font].height) << font_tag; |
- NSString* long_string = @"★ This is a test string that is very long."; |
- EXPECT_EQ([long_string sizeWithFont:font].width, |
- [long_string cr_sizeWithFont:font].width) << font_tag; |
- EXPECT_EQ([long_string sizeWithFont:font].height, |
- [long_string cr_sizeWithFont:font].height) << font_tag; |
- } |
-} |
-#pragma clang diagnostic pop // ignored "-Wdeprecated-declarations" |
- |
-TEST_F(NSStringCrStringDrawing, PixelAlignedSizeWithFont) { |
- NSArray* fonts = @[ |
- [UIFont systemFontOfSize:16], |
- [UIFont boldSystemFontOfSize:10], |
- [UIFont fontWithName:@"Helvetica" size:12.0], |
- ]; |
- NSArray* strings = @[ |
- @"", |
- @"Test", |
- @"你好", |
- @"★ This is a test string that is very long.", |
- ]; |
- for (UIFont* font in fonts) { |
- NSDictionary* attributes = @{ NSFontAttributeName : font }; |
- |
- for (NSString* string in strings) { |
- std::string test_tag = base::StringPrintf("for string '%s' with font %s", |
- base::SysNSStringToUTF8(string).c_str(), |
- base::SysNSStringToUTF8([font description]).c_str()); |
- |
- CGSize size_with_attributes = [string sizeWithAttributes:attributes]; |
- CGSize size_with_pixel_aligned = |
- [string cr_pixelAlignedSizeWithFont:font]; |
- |
- // Verify that the pixel_aligned size is always rounded up (i.e. the size |
- // returned from sizeWithAttributes: is less than or equal to the pixel- |
- // aligned size). |
- EXPECT_LE(size_with_attributes.width, |
- size_with_pixel_aligned.width) << test_tag; |
- EXPECT_LE(size_with_attributes.height, |
- size_with_pixel_aligned.height) << test_tag; |
- |
- // Verify that the pixel_aligned size is never more than a pixel different |
- // than the size returned from sizeWithAttributes:. |
- static CGFloat scale = [[UIScreen mainScreen] scale]; |
- EXPECT_NEAR(size_with_attributes.width * scale, |
- size_with_pixel_aligned.width * scale, |
- 0.9999) << test_tag; |
- EXPECT_NEAR(size_with_attributes.height * scale, |
- size_with_pixel_aligned.height * scale, |
- 0.9999) << test_tag; |
- |
- // Verify that the pixel-aligned value is pixel-aligned. |
- EXPECT_FLOAT_EQ(roundf(size_with_pixel_aligned.width * scale), |
- size_with_pixel_aligned.width * scale) << test_tag; |
- EXPECT_FLOAT_EQ(roundf(size_with_pixel_aligned.height * scale), |
- size_with_pixel_aligned.height * scale) << test_tag; |
- } |
- } |
-} |
- |
-} // namespace |