OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 <set> | 5 #include <set> |
6 #include <string> | 6 #include <string> |
7 | 7 |
| 8 #include "base/base64.h" |
| 9 #include "base/file_path.h" |
| 10 #include "base/file_util.h" |
| 11 #include "base/scoped_temp_dir.h" |
8 #include "chrome/test/webdriver/webdriver_util.h" | 12 #include "chrome/test/webdriver/webdriver_util.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
10 | 14 |
| 15 namespace webdriver { |
| 16 |
11 TEST(RandomIDTest, CanGenerateSufficientlyRandomIDs) { | 17 TEST(RandomIDTest, CanGenerateSufficientlyRandomIDs) { |
12 std::set<std::string> generated_ids; | 18 std::set<std::string> generated_ids; |
13 for (int i = 0; i < 10000; ++i) { | 19 for (int i = 0; i < 10000; ++i) { |
14 std::string id = webdriver::GenerateRandomID(); | 20 std::string id = GenerateRandomID(); |
15 ASSERT_EQ(32u, id.length()); | 21 ASSERT_EQ(32u, id.length()); |
16 ASSERT_TRUE(generated_ids.end() == generated_ids.find(id)) | 22 ASSERT_TRUE(generated_ids.end() == generated_ids.find(id)) |
17 << "Generated duplicate ID: " << id | 23 << "Generated duplicate ID: " << id |
18 << " on iteration " << i; | 24 << " on iteration " << i; |
19 generated_ids.insert(id); | 25 generated_ids.insert(id); |
20 } | 26 } |
21 } | 27 } |
| 28 |
| 29 TEST(ZipFileTest, ZipEntryToZipArchive) { |
| 30 ScopedTempDir temp_dir; |
| 31 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 32 std::string data; |
| 33 // A zip entry sent from a Java WebDriver client (v2.20) that contains a |
| 34 // file with the contents "COW\n". |
| 35 const char* kBase64ZipEntry = |
| 36 "UEsDBBQACAAIAJpyXEAAAAAAAAAAAAAAAAAEAAAAdGVzdHP2D+" |
| 37 "cCAFBLBwi/wAzGBgAAAAQAAAA="; |
| 38 ASSERT_TRUE(base::Base64Decode(kBase64ZipEntry, &data)); |
| 39 FilePath file; |
| 40 std::string error_msg; |
| 41 ASSERT_TRUE(UnzipSoleFile(temp_dir.path(), data, &file, &error_msg)) |
| 42 << error_msg; |
| 43 std::string contents; |
| 44 ASSERT_TRUE(file_util::ReadFileToString(file, &contents)); |
| 45 ASSERT_STREQ("COW\n", contents.c_str()); |
| 46 } |
| 47 |
| 48 } // namespace webdriver |
OLD | NEW |