1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/strings/string_util.h"
6 #include "chrome/browser/extensions/api/serial/serial_port_enumerator.h"
7 #include "chrome/common/extensions/extension_test_util.h"
8 #include "testing/gtest/include/gtest/gtest.h"
10 TEST(SerialPortEnumeratorTest, ValidPortNamePatterns) {
12 // TODO(miket): implement
14 const extensions::SerialPortEnumerator::StringSet port_patterns(
15 extensions::SerialPortEnumerator::GenerateValidPatterns());
17 const char *kValidNames[] = {
19 "/dev/tty.usbmodem999999",
21 "/dev/xxxxxmodemxxxxxxxxxx",
24 for (size_t i = 0; i < arraysize(kValidNames); ++i) {
25 std::set<std::string>::const_iterator j = port_patterns.begin();
26 for (; j != port_patterns.end(); ++j) {
27 if (MatchPattern(kValidNames[i], *j)) {
31 EXPECT_TRUE(j != port_patterns.end()) << kValidNames[i] <<
32 " should have matched at least one pattern";
37 TEST(SerialPortEnumeratorTest, InvalidPortNamePatterns) {
40 const extensions::SerialPortEnumerator::StringSet port_patterns(
41 extensions::SerialPortEnumerator::GenerateValidPatterns());
43 const char *kInvalidNames[] = {
48 "/dev/../home/you/your_secrets",
51 "/home/you/your_secrets",
60 for (size_t i = 0; i < arraysize(kInvalidNames); ++i) {
61 std::set<std::string>::const_iterator j = port_patterns.begin();
62 for (; j != port_patterns.end(); ++j)
63 EXPECT_FALSE(MatchPattern(kInvalidNames[i], *j)) <<
64 kInvalidNames[i] << " should not have matched " << *j;