Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Unified Diff: ios/chrome/browser/ui/ntp/centering_scrollview_unittest.mm

Issue 2590473002: Upstream Chrome on iOS source code [5/11]. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/ui/ntp/centering_scrollview_unittest.mm
diff --git a/ios/chrome/browser/ui/ntp/centering_scrollview_unittest.mm b/ios/chrome/browser/ui/ntp/centering_scrollview_unittest.mm
new file mode 100644
index 0000000000000000000000000000000000000000..d421ecde0ae673f6067bc31fc5b73fd4ad0de553
--- /dev/null
+++ b/ios/chrome/browser/ui/ntp/centering_scrollview_unittest.mm
@@ -0,0 +1,84 @@
+// Copyright 2012 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/mac/scoped_nsobject.h"
+#import "ios/chrome/browser/ui/ntp/centering_scrollview.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/gtest_mac.h"
+#include "testing/platform_test.h"
+
+namespace {
+
+class CenteringScrollViewTest : public PlatformTest {
+ protected:
+ void SetUp() override {
+ scrollView_.reset([[CenteringScrollView alloc] initWithFrame:CGRectZero]);
+ contentView_.reset([[UIView alloc] initWithFrame:CGRectZero]);
+ };
+
+ base::scoped_nsobject<CenteringScrollView> scrollView_;
+ base::scoped_nsobject<UIView> contentView_;
+};
+
+TEST_F(CenteringScrollViewTest, CenteringContent) {
+ // Set up content view to be smaller than the scrolling view.
+ [contentView_ setFrame:CGRectMake(0.0, 0.0, 80.0, 120.0)];
+ [scrollView_ addSubview:contentView_.get()];
+ // Do test.
+ [scrollView_ setFrame:CGRectMake(0.0, 0.0, 320, 480.0)];
+ [scrollView_ layoutSubviews];
+ // Verify placement of content view.
+ CGRect r = [contentView_ frame];
+ EXPECT_EQ(120.0, r.origin.x);
+ EXPECT_EQ(180.0, r.origin.y);
+ // Verify that scroller content is set to not scrollable.
+ EXPECT_EQ(0.0, [scrollView_ contentSize].width);
+ EXPECT_EQ(0.0, [scrollView_ contentSize].height);
+ EXPECT_EQ(0.0, [scrollView_ contentOffset].x);
+ EXPECT_EQ(0.0, [scrollView_ contentOffset].y);
+}
+
+TEST_F(CenteringScrollViewTest, ScrollingContent) {
+ // Set up content view taller than the scrolling view.
+ [contentView_ setFrame:CGRectMake(0.0, 0.0, 240.0, 400.0)];
+ [scrollView_ addSubview:contentView_.get()];
+ // Do test
+ [scrollView_ setFrame:CGRectMake(0.0, 0.0, 480.0, 320.0)];
+ [scrollView_ layoutSubviews];
+ // Verify placement of content view.
+ CGRect r = [contentView_ frame];
+ EXPECT_EQ(120.0, r.origin.x);
+ EXPECT_EQ(0.0, r.origin.y);
+ // Verify that scroller content is resized correctly.
+ EXPECT_EQ(480.0, [scrollView_ contentSize].width);
+ EXPECT_EQ(400.0, [scrollView_ contentSize].height);
+ EXPECT_EQ(0.0, [scrollView_ contentOffset].x);
+ EXPECT_EQ(0.0, [scrollView_ contentOffset].y);
+}
+
+TEST_F(CenteringScrollViewTest, ResetContentSize) {
+ // Set up content view taller than the scrolling view.
+ [contentView_ setFrame:CGRectMake(0.0, 0.0, 240.0, 400.0)];
+ [scrollView_ addSubview:contentView_.get()];
+
+ [scrollView_ setFrame:CGRectMake(0.0, 0.0, 280.0, 440.0)];
+ [scrollView_ layoutSubviews];
+ // Verify that scroller content is set to not scrollable.
+ EXPECT_EQ(0.0, [scrollView_ contentSize].width);
+ EXPECT_EQ(0.0, [scrollView_ contentSize].height);
+
+ [scrollView_ setFrame:CGRectMake(0.0, 0.0, 200.0, 300.0)];
+ [scrollView_ layoutSubviews];
+ // Verify that scroller content is equal to the content view size.
+ EXPECT_EQ(240.0, [scrollView_ contentSize].width);
+ EXPECT_EQ(400.0, [scrollView_ contentSize].height);
+
+ [scrollView_ setFrame:CGRectMake(0.0, 0.0, 260.0, 420.0)];
+ [scrollView_ layoutSubviews];
+ // Verify that scroller content is set to not scrollable.
+ EXPECT_EQ(0.0, [scrollView_ contentSize].width);
+ EXPECT_EQ(0.0, [scrollView_ contentSize].height);
+}
+
+} // anonymous namespace
« no previous file with comments | « ios/chrome/browser/ui/ntp/centering_scrollview.mm ('k') | ios/chrome/browser/ui/ntp/google_landing_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698