blob: 812a135b7e39d10e2ffeb869554427d3c86a2824 [file] [log] [blame]
// 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/chrome/browser/ui/payments/cells/accessibility_util.h"
#include "testing/platform_test.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
namespace {
class PaymentRequestAccessibilityLabelBuilderTest : public PlatformTest {
protected:
void SetUp() override { builder_ = [[AccessibilityLabelBuilder alloc] init]; }
void Expect(NSString* result) {
EXPECT_TRUE([[builder_ buildAccessibilityLabel] isEqualToString:result]);
}
AccessibilityLabelBuilder* builder_ = nil;
};
TEST_F(PaymentRequestAccessibilityLabelBuilderTest, NoItems) {
Expect(@"");
}
TEST_F(PaymentRequestAccessibilityLabelBuilderTest, OneItem) {
[builder_ appendItem:@"test"];
Expect(@"test");
}
TEST_F(PaymentRequestAccessibilityLabelBuilderTest, MultipleItems) {
[builder_ appendItem:@"test"];
[builder_ appendItem:@"test2"];
[builder_ appendItem:@"test3"];
Expect(@"test, test2, test3");
}
TEST_F(PaymentRequestAccessibilityLabelBuilderTest, NilItems) {
[builder_ appendItem:@"test"];
[builder_ appendItem:nil];
[builder_ appendItem:nil];
[builder_ appendItem:@"test2"];
Expect(@"test, test2");
}
TEST_F(PaymentRequestAccessibilityLabelBuilderTest, EndsWithNilItem) {
[builder_ appendItem:@"test"];
[builder_ appendItem:@"test2"];
[builder_ appendItem:nil];
Expect(@"test, test2");
}
TEST_F(PaymentRequestAccessibilityLabelBuilderTest, StartsWithNilItem) {
[builder_ appendItem:nil];
[builder_ appendItem:@"test"];
[builder_ appendItem:@"test2"];
Expect(@"test, test2");
}
} // namespace