| 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 |