blob: 6806f8de31b90d9a39161f2ded4d4ff10693964a [file] [log] [blame]
// Copyright 2011 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "cros-disks/metrics.h"
#include <gtest/gtest.h>
namespace cros_disks {
class MetricsTest : public ::testing::Test {
protected:
Metrics metrics_;
};
TEST_F(MetricsTest, GetArchiveType) {
EXPECT_EQ(Metrics::kArchiveUnknown, metrics_.GetArchiveType(""));
EXPECT_EQ(Metrics::kArchiveUnknown, metrics_.GetArchiveType("/foo/bar.txt"));
EXPECT_EQ(Metrics::kArchiveUnknown, metrics_.GetArchiveType("/foo/bar"));
EXPECT_EQ(Metrics::kArchiveZip, metrics_.GetArchiveType("/foo/bar.zip"));
EXPECT_EQ(Metrics::kArchiveZip, metrics_.GetArchiveType("/foo/bar.tar.zip"));
EXPECT_EQ(Metrics::kArchiveZip, metrics_.GetArchiveType("/foo/bar.Zip"));
EXPECT_EQ(Metrics::kArchiveZip, metrics_.GetArchiveType("/foo/bar.ZIP"));
EXPECT_EQ(Metrics::kArchiveRar, metrics_.GetArchiveType("/foo/bar.rar"));
EXPECT_EQ(Metrics::kArchiveTar, metrics_.GetArchiveType("/foo/bar.tar"));
EXPECT_EQ(Metrics::kArchiveBzip2,
metrics_.GetArchiveType("/foo/bar.txt.bz2"));
EXPECT_EQ(Metrics::kArchiveBzip2, metrics_.GetArchiveType("/foo/bar.bz2"));
EXPECT_EQ(Metrics::kArchiveBzip2, metrics_.GetArchiveType("/foo/bar.txt.bz"));
EXPECT_EQ(Metrics::kArchiveBzip2, metrics_.GetArchiveType("/foo/bar.bz"));
EXPECT_EQ(Metrics::kArchiveTarBzip2,
metrics_.GetArchiveType("/foo/bar.tar.bz2"));
EXPECT_EQ(Metrics::kArchiveTarBzip2,
metrics_.GetArchiveType("/foo/bar.tar.bz"));
EXPECT_EQ(Metrics::kArchiveTarBzip2,
metrics_.GetArchiveType("/foo/bar.tbz2"));
EXPECT_EQ(Metrics::kArchiveTarBzip2, metrics_.GetArchiveType("/foo/bar.tbz"));
EXPECT_EQ(Metrics::kArchiveTarBzip2, metrics_.GetArchiveType("/foo/bar.tz2"));
EXPECT_EQ(Metrics::kArchiveTarBzip2, metrics_.GetArchiveType("/foo/bar.tb2"));
EXPECT_EQ(Metrics::kArchiveGzip, metrics_.GetArchiveType("/foo/bar.txt.gz"));
EXPECT_EQ(Metrics::kArchiveGzip, metrics_.GetArchiveType("/foo/bar.gz"));
EXPECT_EQ(Metrics::kArchiveTarGzip,
metrics_.GetArchiveType("/foo/bar.tar.gz"));
EXPECT_EQ(Metrics::kArchiveTarGzip, metrics_.GetArchiveType("/foo/bar.tgz"));
EXPECT_EQ(Metrics::kArchiveLz, metrics_.GetArchiveType("/foo/bar.lz"));
EXPECT_EQ(Metrics::kArchiveTarLz, metrics_.GetArchiveType("/foo/bar.tar.lz"));
EXPECT_EQ(Metrics::kArchiveLzma,
metrics_.GetArchiveType("/foo/bar.txt.lzma"));
EXPECT_EQ(Metrics::kArchiveLzma, metrics_.GetArchiveType("/foo/bar.lzma"));
EXPECT_EQ(Metrics::kArchiveTarLzma,
metrics_.GetArchiveType("/foo/bar.tar.lzma"));
EXPECT_EQ(Metrics::kArchiveTarLzma,
metrics_.GetArchiveType("/foo/bar.tlzma"));
EXPECT_EQ(Metrics::kArchiveTarLzma, metrics_.GetArchiveType("/foo/bar.tlz"));
EXPECT_EQ(Metrics::kArchiveXz, metrics_.GetArchiveType("/foo/bar.txt.xz"));
EXPECT_EQ(Metrics::kArchiveXz, metrics_.GetArchiveType("/foo/bar.xz"));
EXPECT_EQ(Metrics::kArchiveTarXz, metrics_.GetArchiveType("/foo/bar.tar.xz"));
EXPECT_EQ(Metrics::kArchiveTarXz, metrics_.GetArchiveType("/foo/bar.txz"));
EXPECT_EQ(Metrics::kArchiveZ, metrics_.GetArchiveType("/foo/bar.txt.z"));
EXPECT_EQ(Metrics::kArchiveZ, metrics_.GetArchiveType("/foo/bar.z"));
EXPECT_EQ(Metrics::kArchiveTarZ, metrics_.GetArchiveType("/foo/bar.tar.z"));
EXPECT_EQ(Metrics::kArchiveTarZ, metrics_.GetArchiveType("/foo/bar.tar.Z"));
EXPECT_EQ(Metrics::kArchiveTarZ, metrics_.GetArchiveType("/foo/bar.taz"));
EXPECT_EQ(Metrics::kArchiveTarZ, metrics_.GetArchiveType("/foo/bar.taZ"));
EXPECT_EQ(Metrics::kArchiveTarZ, metrics_.GetArchiveType("/foo/bar.tz"));
EXPECT_EQ(Metrics::kArchiveTarZ, metrics_.GetArchiveType("/foo/bar.tZ"));
EXPECT_EQ(Metrics::kArchiveZst, metrics_.GetArchiveType("/foo/bar.txt.zst"));
EXPECT_EQ(Metrics::kArchiveZst, metrics_.GetArchiveType("/foo/bar.zst"));
EXPECT_EQ(Metrics::kArchiveTarZst,
metrics_.GetArchiveType("/foo/bar.tar.zst"));
EXPECT_EQ(Metrics::kArchiveTarZst, metrics_.GetArchiveType("/foo/bar.tzst"));
}
TEST_F(MetricsTest, GetFilesystemType) {
EXPECT_EQ(Metrics::kFilesystemUnknown, metrics_.GetFilesystemType(""));
EXPECT_EQ(Metrics::kFilesystemVFAT, metrics_.GetFilesystemType("vfat"));
EXPECT_EQ(Metrics::kFilesystemExFAT, metrics_.GetFilesystemType("exfat"));
EXPECT_EQ(Metrics::kFilesystemNTFS, metrics_.GetFilesystemType("ntfs"));
EXPECT_EQ(Metrics::kFilesystemHFSPlus, metrics_.GetFilesystemType("hfsplus"));
EXPECT_EQ(Metrics::kFilesystemExt2, metrics_.GetFilesystemType("ext2"));
EXPECT_EQ(Metrics::kFilesystemExt3, metrics_.GetFilesystemType("ext3"));
EXPECT_EQ(Metrics::kFilesystemExt4, metrics_.GetFilesystemType("ext4"));
EXPECT_EQ(Metrics::kFilesystemISO9660, metrics_.GetFilesystemType("iso9660"));
EXPECT_EQ(Metrics::kFilesystemUDF, metrics_.GetFilesystemType("udf"));
EXPECT_EQ(Metrics::kFilesystemOther, metrics_.GetFilesystemType("xfs"));
EXPECT_EQ(Metrics::kFilesystemOther, metrics_.GetFilesystemType("btrfs"));
}
} // namespace cros_disks