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.
8 #include "base/base64.h"
9 #include "base/file_path.h"
10 #include "base/file_util.h"
11 #include "base/files/scoped_temp_dir.h"
12 #include "chrome/test/webdriver/webdriver_util.h"
13 #include "testing/gtest/include/gtest/gtest.h"
17 TEST(RandomIDTest
, CanGenerateSufficientlyRandomIDs
) {
18 std::set
<std::string
> generated_ids
;
19 for (int i
= 0; i
< 10000; ++i
) {
20 std::string id
= GenerateRandomID();
21 ASSERT_EQ(32u, id
.length());
22 ASSERT_TRUE(generated_ids
.end() == generated_ids
.find(id
))
23 << "Generated duplicate ID: " << id
24 << " on iteration " << i
;
25 generated_ids
.insert(id
);
29 TEST(ZipFileTest
, ZipEntryToZipArchive
) {
30 base::ScopedTempDir temp_dir
;
31 ASSERT_TRUE(temp_dir
.CreateUniqueTempDir());
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
));
40 std::string error_msg
;
41 ASSERT_TRUE(UnzipSoleFile(temp_dir
.path(), data
, &file
, &error_msg
))
44 ASSERT_TRUE(file_util::ReadFileToString(file
, &contents
));
45 ASSERT_STREQ("COW\n", contents
.c_str());
48 } // namespace webdriver