blob: 4cb393892bef1c2ca5efb39b38aaf26012dbeb5c [file] [log] [blame]
// Copyright 2017 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "cros-disks/rename_manager.h"
#include "cros-disks/platform.h"
#include <string>
#include <gtest/gtest.h>
namespace cros_disks {
class RenameManagerTest : public ::testing::Test {
public:
RenameManagerTest() : manager_(&platform_, nullptr) {}
protected:
Platform platform_;
RenameManager manager_;
};
TEST_F(RenameManagerTest, CanRename) {
EXPECT_TRUE(manager_.CanRename("/dev/sda1"));
EXPECT_TRUE(manager_.CanRename("/devices/block/sda/sda1"));
EXPECT_TRUE(manager_.CanRename("/sys/devices/block/sda/sda1"));
EXPECT_FALSE(manager_.CanRename("/media/removable/disk1"));
EXPECT_FALSE(manager_.CanRename("/media/removable/disk1/"));
EXPECT_FALSE(manager_.CanRename("/media/removable/disk 1"));
EXPECT_FALSE(manager_.CanRename("/media/archive/test.zip"));
EXPECT_FALSE(manager_.CanRename("/media/archive/test.zip/"));
EXPECT_FALSE(manager_.CanRename("/media/archive/test 1.zip"));
EXPECT_FALSE(manager_.CanRename("/media/removable/disk1/test.zip"));
EXPECT_FALSE(manager_.CanRename("/media/removable/disk1/test 1.zip"));
EXPECT_FALSE(manager_.CanRename("/media/removable/disk1/dir1/test.zip"));
EXPECT_FALSE(manager_.CanRename("/media/removable/test.zip/test1.zip"));
EXPECT_FALSE(manager_.CanRename("/home/chronos/user/Downloads/test1.zip"));
EXPECT_FALSE(manager_.CanRename("/home/chronos/user/GCache/test1.zip"));
EXPECT_FALSE(
manager_.CanRename("/home/chronos"
"/u-0123456789abcdef0123456789abcdef01234567"
"/Downloads/test1.zip"));
EXPECT_FALSE(
manager_.CanRename("/home/chronos"
"/u-0123456789abcdef0123456789abcdef01234567"
"/GCache/test1.zip"));
EXPECT_FALSE(manager_.CanRename(""));
EXPECT_FALSE(manager_.CanRename("/tmp"));
EXPECT_FALSE(manager_.CanRename("/media/removable"));
EXPECT_FALSE(manager_.CanRename("/media/removable/"));
EXPECT_FALSE(manager_.CanRename("/media/archive"));
EXPECT_FALSE(manager_.CanRename("/media/archive/"));
EXPECT_FALSE(manager_.CanRename("/home/chronos/user/Downloads"));
EXPECT_FALSE(manager_.CanRename("/home/chronos/user/Downloads/"));
}
} // namespace cros_disks