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

Unified Diff: ios/clean/chrome/browser/ui/commands/command_dispatcher_unittest.mm

Issue 2745223005: [ios] Adds a CommandDispatcher to Browser. (Closed)
Patch Set: Move code into ios/shared. Created 3 years, 9 months 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/clean/chrome/browser/ui/commands/command_dispatcher_unittest.mm
diff --git a/ios/clean/chrome/browser/ui/commands/command_dispatcher_unittest.mm b/ios/clean/chrome/browser/ui/commands/command_dispatcher_unittest.mm
deleted file mode 100644
index 3bcbb62b19d6e128de111ce796d5798859f67d37..0000000000000000000000000000000000000000
--- a/ios/clean/chrome/browser/ui/commands/command_dispatcher_unittest.mm
+++ /dev/null
@@ -1,236 +0,0 @@
-// Copyright 2017 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/clean/chrome/browser/ui/commands/command_dispatcher.h"
-
-#import <Foundation/Foundation.h>
-
-#include "base/macros.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-#pragma mark - Test handlers
-
-// A handler with methods that take no arguments.
-@interface CommandDispatcherTestSimpleTarget : NSObject
-
-// Will be set to YES when the |-show| method is called.
-@property(nonatomic, assign) BOOL showCalled;
-
-// Will be set to YES when the |-hide| method is called.
-@property(nonatomic, assign) BOOL hideCalled;
-
-// Resets the above properties to NO.
-- (void)resetProperties;
-
-// Handler methods.
-- (void)show;
-- (void)hide;
-
-@end
-
-@implementation CommandDispatcherTestSimpleTarget
-
-@synthesize showCalled = _showCalled;
-@synthesize hideCalled = _hideCalled;
-
-- (void)resetProperties {
- self.showCalled = NO;
- self.hideCalled = NO;
-}
-
-- (void)show {
- self.showCalled = YES;
-}
-
-- (void)hide {
- self.hideCalled = YES;
-}
-
-@end
-
-// A handler with methods that take various types of arguments.
-@interface CommandDispatcherTestTargetWithArguments : NSObject
-
-// Set to YES when |-methodWithInt:| is called.
-@property(nonatomic, assign) BOOL intMethodCalled;
-
-// The argument passed to the most recent call of |-methodWithInt:|.
-@property(nonatomic, assign) int intArgument;
-
-// Set to YES when |-methodWithObject:| is called.
-@property(nonatomic, assign) BOOL objectMethodCalled;
-
-// The argument passed to the most recent call of |-methodWithObject:|.
-@property(nonatomic, strong) NSObject* objectArgument;
-
-// Resets the above properties to NO or nil.
-- (void)resetProperties;
-
-// Handler methods.
-- (void)methodWithInt:(int)arg;
-- (void)methodWithObject:(NSObject*)arg;
-- (int)methodToAddFirstArgument:(int)first toSecond:(int)second;
-
-@end
-
-@implementation CommandDispatcherTestTargetWithArguments
-
-@synthesize intMethodCalled = _intMethodCalled;
-@synthesize intArgument = _intArgument;
-@synthesize objectMethodCalled = _objectMethodCalled;
-@synthesize objectArgument = _objectArgument;
-
-- (void)resetProperties {
- self.intMethodCalled = NO;
- self.intArgument = 0;
- self.objectMethodCalled = NO;
- self.objectArgument = nil;
-}
-
-- (void)methodWithInt:(int)arg {
- self.intMethodCalled = YES;
- self.intArgument = arg;
-}
-
-- (void)methodWithObject:(NSObject*)arg {
- self.objectMethodCalled = YES;
- self.objectArgument = arg;
-}
-
-- (int)methodToAddFirstArgument:(int)first toSecond:(int)second {
- return first + second;
-}
-
-@end
-
-#pragma mark - Tests
-
-// Tests handler methods with no arguments.
-TEST(CommandDispatcherTest, SimpleTarget) {
- id dispatcher = [[CommandDispatcher alloc] init];
- CommandDispatcherTestSimpleTarget* target =
- [[CommandDispatcherTestSimpleTarget alloc] init];
-
- [dispatcher startDispatchingToTarget:target forSelector:@selector(show)];
- [dispatcher startDispatchingToTarget:target forSelector:@selector(hide)];
-
- [dispatcher show];
- EXPECT_TRUE(target.showCalled);
- EXPECT_FALSE(target.hideCalled);
-
- [target resetProperties];
- [dispatcher hide];
- EXPECT_FALSE(target.showCalled);
- EXPECT_TRUE(target.hideCalled);
-}
-
-// Tests handler methods that take arguments.
-TEST(CommandDispatcherTest, TargetWithArguments) {
- id dispatcher = [[CommandDispatcher alloc] init];
- CommandDispatcherTestTargetWithArguments* target =
- [[CommandDispatcherTestTargetWithArguments alloc] init];
-
- [dispatcher startDispatchingToTarget:target
- forSelector:@selector(methodWithInt:)];
- [dispatcher startDispatchingToTarget:target
- forSelector:@selector(methodWithObject:)];
- [dispatcher
- startDispatchingToTarget:target
- forSelector:@selector(methodToAddFirstArgument:toSecond:)];
-
- const int int_argument = 4;
- [dispatcher methodWithInt:int_argument];
- EXPECT_TRUE(target.intMethodCalled);
- EXPECT_FALSE(target.objectMethodCalled);
- EXPECT_EQ(int_argument, target.intArgument);
-
- [target resetProperties];
- NSObject* object_argument = [[NSObject alloc] init];
- [dispatcher methodWithObject:object_argument];
- EXPECT_FALSE(target.intMethodCalled);
- EXPECT_TRUE(target.objectMethodCalled);
- EXPECT_EQ(object_argument, target.objectArgument);
-
- [target resetProperties];
- EXPECT_EQ(13, [dispatcher methodToAddFirstArgument:7 toSecond:6]);
- EXPECT_FALSE(target.intMethodCalled);
- EXPECT_FALSE(target.objectMethodCalled);
- EXPECT_EQ(42, [dispatcher methodToAddFirstArgument:34 toSecond:8]);
-}
-
-// Tests that messages are routed to the proper handler when multiple targets
-// are registered.
-TEST(CommandDispatcherTest, MultipleTargets) {
- id dispatcher = [[CommandDispatcher alloc] init];
- CommandDispatcherTestSimpleTarget* showTarget =
- [[CommandDispatcherTestSimpleTarget alloc] init];
- CommandDispatcherTestSimpleTarget* hideTarget =
- [[CommandDispatcherTestSimpleTarget alloc] init];
-
- [dispatcher startDispatchingToTarget:showTarget forSelector:@selector(show)];
- [dispatcher startDispatchingToTarget:hideTarget forSelector:@selector(hide)];
-
- [dispatcher show];
- EXPECT_TRUE(showTarget.showCalled);
- EXPECT_FALSE(hideTarget.showCalled);
-
- [showTarget resetProperties];
- [dispatcher hide];
- EXPECT_FALSE(showTarget.hideCalled);
- EXPECT_TRUE(hideTarget.hideCalled);
-}
-
-// Tests that handlers are no longer forwarded messages after deregistration.
-TEST(CommandDispatcherTest, Deregistration) {
- id dispatcher = [[CommandDispatcher alloc] init];
- CommandDispatcherTestSimpleTarget* showTarget =
- [[CommandDispatcherTestSimpleTarget alloc] init];
- CommandDispatcherTestSimpleTarget* hideTarget =
- [[CommandDispatcherTestSimpleTarget alloc] init];
-
- [dispatcher startDispatchingToTarget:showTarget forSelector:@selector(show)];
- [dispatcher startDispatchingToTarget:hideTarget forSelector:@selector(hide)];
-
- [dispatcher show];
- EXPECT_TRUE(showTarget.showCalled);
- EXPECT_FALSE(hideTarget.showCalled);
-
- [dispatcher stopDispatchingToTarget:showTarget];
- bool exception_caught = false;
- @try {
- [dispatcher show];
- } @catch (NSException* exception) {
- EXPECT_EQ(NSInvalidArgumentException, [exception name]);
- exception_caught = true;
- }
- EXPECT_TRUE(exception_caught);
-
- [dispatcher hide];
- EXPECT_FALSE(showTarget.hideCalled);
- EXPECT_TRUE(hideTarget.hideCalled);
-}
-
-// Tests that an exception is thrown when there is no registered handler for a
-// given selector.
-TEST(CommandDispatcherTest, NoTargetRegisteredForSelector) {
- id dispatcher = [[CommandDispatcher alloc] init];
- CommandDispatcherTestSimpleTarget* target =
- [[CommandDispatcherTestSimpleTarget alloc] init];
-
- [dispatcher startDispatchingToTarget:target forSelector:@selector(show)];
-
- bool exception_caught = false;
- @try {
- [dispatcher hide];
- } @catch (NSException* exception) {
- EXPECT_EQ(NSInvalidArgumentException, [exception name]);
- exception_caught = true;
- }
-
- EXPECT_TRUE(exception_caught);
-}

Powered by Google App Engine
This is Rietveld 408576698