| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/ftp/ftp_directory_listing_parser_unittest.h" | 5 #include "net/ftp/ftp_directory_listing_parser_unittest.h" |
| 6 | 6 |
| 7 #include "base/format_macros.h" | 7 #include "base/format_macros.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "net/ftp/ftp_directory_listing_parser_ls.h" | 10 #include "net/ftp/ftp_directory_listing_parser_ls.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 FtpDirectoryListingEntry::FILE, "test", 123, | 101 FtpDirectoryListingEntry::FILE, "test", 123, |
| 102 2011, 5, 23, 0, 0 }, | 102 2011, 5, 23, 0, 0 }, |
| 103 { "drwxrwxr-x 1 ftp ftp 4096 19 \xd0\xbe\xd0\xba\xd1\x82 2011 dir", | 103 { "drwxrwxr-x 1 ftp ftp 4096 19 \xd0\xbe\xd0\xba\xd1\x82 2011 dir", |
| 104 FtpDirectoryListingEntry::DIRECTORY, "dir", -1, | 104 FtpDirectoryListingEntry::DIRECTORY, "dir", -1, |
| 105 2011, 10, 19, 0, 0 }, | 105 2011, 10, 19, 0, 0 }, |
| 106 | 106 |
| 107 // Plan9 sends entry type "a" for append-only files. | 107 // Plan9 sends entry type "a" for append-only files. |
| 108 { "ar-xr-xr-x 2 none none 512 Apr 26 17:52 plan9", | 108 { "ar-xr-xr-x 2 none none 512 Apr 26 17:52 plan9", |
| 109 FtpDirectoryListingEntry::FILE, "plan9", 512, | 109 FtpDirectoryListingEntry::FILE, "plan9", 512, |
| 110 1994, 4, 26, 17, 52 }, | 110 1994, 4, 26, 17, 52 }, |
| 111 |
| 112 // Hylafax sends a shorter permission listing. |
| 113 { "drwxrwx 2 10 4096 Jul 28 02:41 tmp", |
| 114 FtpDirectoryListingEntry::DIRECTORY, "tmp", -1, |
| 115 1994, 7, 28, 2, 41 }, |
| 111 }; | 116 }; |
| 112 for (size_t i = 0; i < arraysize(good_cases); i++) { | 117 for (size_t i = 0; i < arraysize(good_cases); i++) { |
| 113 SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "]: %s", i, | 118 SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "]: %s", i, |
| 114 good_cases[i].input)); | 119 good_cases[i].input)); |
| 115 | 120 |
| 116 std::vector<FtpDirectoryListingEntry> entries; | 121 std::vector<FtpDirectoryListingEntry> entries; |
| 117 EXPECT_TRUE(ParseFtpDirectoryListingLs( | 122 EXPECT_TRUE(ParseFtpDirectoryListingLs( |
| 118 GetSingleLineTestCase(good_cases[i].input), | 123 GetSingleLineTestCase(good_cases[i].input), |
| 119 GetMockCurrentTime(), | 124 GetMockCurrentTime(), |
| 120 &entries)); | 125 &entries)); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 146 &entries)); | 151 &entries)); |
| 147 EXPECT_EQ(0U, entries.size()); | 152 EXPECT_EQ(0U, entries.size()); |
| 148 } | 153 } |
| 149 } | 154 } |
| 150 | 155 |
| 151 TEST_F(FtpDirectoryListingParserLsTest, Bad) { | 156 TEST_F(FtpDirectoryListingParserLsTest, Bad) { |
| 152 const char* bad_cases[] = { | 157 const char* bad_cases[] = { |
| 153 " foo", | 158 " foo", |
| 154 "garbage", | 159 "garbage", |
| 155 "-rw-r--r-- ftp ftp", | 160 "-rw-r--r-- ftp ftp", |
| 156 "-rw-r--rgb ftp ftp 528 Nov 01 2007 README", | |
| 157 "-rw-rgbr-- ftp ftp 528 Nov 01 2007 README", | 161 "-rw-rgbr-- ftp ftp 528 Nov 01 2007 README", |
| 158 "qrwwr--r-- ftp ftp 528 Nov 01 2007 README", | 162 "qrwwr--r-- ftp ftp 528 Nov 01 2007 README", |
| 159 "-rw-r--r-- ftp ftp -528 Nov 01 2007 README", | 163 "-rw-r--r-- ftp ftp -528 Nov 01 2007 README", |
| 160 "-rw-r--r-- ftp ftp 528 Foo 01 2007 README", | 164 "-rw-r--r-- ftp ftp 528 Foo 01 2007 README", |
| 161 "-rw-r--r-- 1 ftp ftp", | 165 "-rw-r--r-- 1 ftp ftp", |
| 162 "-rw-r--rgb 1 ftp ftp 528 Nov 01 2007 README", | |
| 163 "-rw-rgbr-- 1 ftp ftp 528 Nov 01 2007 README", | 166 "-rw-rgbr-- 1 ftp ftp 528 Nov 01 2007 README", |
| 164 "qrwwr--r-- 1 ftp ftp 528 Nov 01 2007 README", | 167 "qrwwr--r-- 1 ftp ftp 528 Nov 01 2007 README", |
| 165 "-rw-r--r-- 1 ftp ftp -528 Nov 01 2007 README", | 168 "-rw-r--r-- 1 ftp ftp -528 Nov 01 2007 README", |
| 166 "-rw-r--r-- 1 ftp ftp 528 Foo 01 2007 README", | 169 "-rw-r--r-- 1 ftp ftp 528 Foo 01 2007 README", |
| 167 "drwxrwxrwx 1 owner group 1024 Sep 13 0:3 audio", | 170 "drwxrwxrwx 1 owner group 1024 Sep 13 0:3 audio", |
| 168 | 171 |
| 169 "-qqqqqqqqq+ 2 sys 512 Mar 27 2009 pub", | 172 "-qqqqqqqqq+ 2 sys 512 Mar 27 2009 pub", |
| 170 }; | 173 }; |
| 171 for (size_t i = 0; i < arraysize(bad_cases); i++) { | 174 for (size_t i = 0; i < arraysize(bad_cases); i++) { |
| 172 SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "]: %s", i, | 175 SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "]: %s", i, |
| 173 bad_cases[i])); | 176 bad_cases[i])); |
| 174 | 177 |
| 175 std::vector<FtpDirectoryListingEntry> entries; | 178 std::vector<FtpDirectoryListingEntry> entries; |
| 176 EXPECT_FALSE(ParseFtpDirectoryListingLs(GetSingleLineTestCase(bad_cases[i]), | 179 EXPECT_FALSE(ParseFtpDirectoryListingLs(GetSingleLineTestCase(bad_cases[i]), |
| 177 GetMockCurrentTime(), | 180 GetMockCurrentTime(), |
| 178 &entries)); | 181 &entries)); |
| 179 } | 182 } |
| 180 } | 183 } |
| 181 | 184 |
| 182 } // namespace | 185 } // namespace |
| 183 | 186 |
| 184 } // namespace net | 187 } // namespace net |
| OLD | NEW |