| Index: ios/chrome/browser/web/external_app_launcher_unittest.mm
|
| diff --git a/ios/chrome/browser/web/external_app_launcher_unittest.mm b/ios/chrome/browser/web/external_app_launcher_unittest.mm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c4268b1f0445760b6c6206db5328fb73fa33e046
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/web/external_app_launcher_unittest.mm
|
| @@ -0,0 +1,52 @@
|
| +// 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.
|
| +
|
| +#include "ios/chrome/browser/web/external_app_launcher.h"
|
| +
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +#include "testing/gtest_mac.h"
|
| +
|
| +@interface ExternalAppLauncher (Private)
|
| +// Returns the Phone/FaceTime call argument from |url|.
|
| +// Made available for unit testing.
|
| ++ (NSString*)formatCallArgument:(NSURL*)url;
|
| +@end
|
| +
|
| +namespace {
|
| +
|
| +TEST(ExternalAppLauncherTest, TestBadFormatCallArgument) {
|
| + EXPECT_NSEQ(@"garbage:",
|
| + [ExternalAppLauncher
|
| + formatCallArgument:[NSURL URLWithString:@"garbage:"]]);
|
| + EXPECT_NSEQ(@"malformed:////",
|
| + [ExternalAppLauncher
|
| + formatCallArgument:[NSURL URLWithString:@"malformed:////"]]);
|
| +}
|
| +
|
| +TEST(ExternalAppLauncherTest, TestFormatCallArgument) {
|
| + EXPECT_NSEQ(
|
| + @"+1234",
|
| + [ExternalAppLauncher
|
| + formatCallArgument:[NSURL URLWithString:@"facetime://+1234"]]);
|
| + EXPECT_NSEQ(
|
| + @"+abcd",
|
| + [ExternalAppLauncher
|
| + formatCallArgument:[NSURL URLWithString:@"facetime-audio://+abcd"]]);
|
| + EXPECT_NSEQ(
|
| + @"+1-650-555-1212",
|
| + [ExternalAppLauncher
|
| + formatCallArgument:[NSURL URLWithString:@"tel://+1-650-555-1212"]]);
|
| + EXPECT_NSEQ(@"75009",
|
| + [ExternalAppLauncher
|
| + formatCallArgument:[NSURL URLWithString:@"garbage:75009"]]);
|
| +}
|
| +
|
| +TEST(ExternalAppLauncherTest, TestURLEscapedArgument) {
|
| + EXPECT_NSEQ(@"+1 650 555 1212",
|
| + [ExternalAppLauncher
|
| + formatCallArgument:
|
| + [NSURL URLWithString:@"tel://+1%20650%20555%201212"]]);
|
| +}
|
| +
|
| +} // namespace
|
|
|