OLD | NEW |
| (Empty) |
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. | |
4 | |
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" | |
9 | |
10 TEST(SerialPortEnumeratorTest, ValidPortNamePatterns) { | |
11 #if defined(OS_WIN) | |
12 // TODO(miket): implement | |
13 #else | |
14 const extensions::SerialPortEnumerator::StringSet port_patterns( | |
15 extensions::SerialPortEnumerator::GenerateValidPatterns()); | |
16 | |
17 const char *kValidNames[] = { | |
18 "/dev/867serial5309", | |
19 "/dev/tty.usbmodem999999", | |
20 "/dev/ttyACM0", | |
21 "/dev/xxxxxmodemxxxxxxxxxx", | |
22 "/dev/tty.SLAB_something", | |
23 "/dev/cu.SLAB_anything", | |
24 }; | |
25 | |
26 for (size_t i = 0; i < arraysize(kValidNames); ++i) { | |
27 std::set<std::string>::const_iterator j = port_patterns.begin(); | |
28 for (; j != port_patterns.end(); ++j) { | |
29 if (MatchPattern(kValidNames[i], *j)) { | |
30 break; | |
31 } | |
32 } | |
33 EXPECT_TRUE(j != port_patterns.end()) << kValidNames[i] << | |
34 " should have matched at least one pattern"; | |
35 } | |
36 #endif | |
37 } | |
38 | |
39 TEST(SerialPortEnumeratorTest, InvalidPortNamePatterns) { | |
40 #if defined(OS_WIN) | |
41 #else | |
42 const extensions::SerialPortEnumerator::StringSet port_patterns( | |
43 extensions::SerialPortEnumerator::GenerateValidPatterns()); | |
44 | |
45 const char *kInvalidNames[] = { | |
46 "", | |
47 ".", | |
48 "..", | |
49 "//COM0", | |
50 "/dev/../home/you/your_secrets", | |
51 "/dev/cdrom", | |
52 "/dev/laserbeam", | |
53 "/home/you/your_secrets", | |
54 "/proc/cpuinfo", | |
55 "COM0", | |
56 "\\\\COM0", | |
57 "modem", | |
58 "serial", | |
59 "tty", | |
60 }; | |
61 | |
62 for (size_t i = 0; i < arraysize(kInvalidNames); ++i) { | |
63 std::set<std::string>::const_iterator j = port_patterns.begin(); | |
64 for (; j != port_patterns.end(); ++j) | |
65 EXPECT_FALSE(MatchPattern(kInvalidNames[i], *j)) << | |
66 kInvalidNames[i] << " should not have matched " << *j; | |
67 } | |
68 #endif | |
69 } | |
OLD | NEW |