summaryrefslogtreecommitdiffstats
path: root/chrome/browser/media_galleries/media_galleries_dialog_controller_unittest.cc
blob: 890750e4cab3a4f9f902d7d6a679ebe092c0a9c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Copyright 2013 The Chromium 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 "base/files/file_path.h"
#include "base/strings/string16.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/media_galleries/media_galleries_dialog_controller.h"
#include "chrome/browser/media_galleries/media_galleries_preferences.h"
#include "chrome/browser/storage_monitor/storage_info.h"
#include "testing/gtest/include/gtest/gtest.h"

std::string GalleryName(const chrome::MediaGalleryPrefInfo& gallery) {
  string16 name = gallery.GetGalleryDisplayName();
  return UTF16ToASCII(name);
}

TEST(MediaGalleriesDialogControllerTest, TestNameGeneration) {
  chrome::MediaGalleryPrefInfo gallery;
  gallery.pref_id = 1;
  gallery.device_id = chrome::StorageInfo::MakeDeviceId(
      chrome::StorageInfo::FIXED_MASS_STORAGE, "/path/to/gallery");
  gallery.type = chrome::MediaGalleryPrefInfo::kAutoDetected;
  EXPECT_EQ("gallery", GalleryName(gallery));

  gallery.display_name = ASCIIToUTF16("override");
  EXPECT_EQ("override", GalleryName(gallery));

  gallery.display_name = string16();
  gallery.volume_label = ASCIIToUTF16("label");
  EXPECT_EQ("gallery", GalleryName(gallery));

  gallery.path = base::FilePath(FILE_PATH_LITERAL("sub/gallery2"));
  EXPECT_EQ("gallery2", GalleryName(gallery));

  gallery.path = base::FilePath();
  gallery.device_id = chrome::StorageInfo::MakeDeviceId(
      chrome::StorageInfo::REMOVABLE_MASS_STORAGE_WITH_DCIM,
      "/path/to/dcim");
  gallery.display_name = ASCIIToUTF16("override");
  EXPECT_EQ("override", GalleryName(gallery));

  gallery.volume_label = ASCIIToUTF16("volume");
  gallery.vendor_name = ASCIIToUTF16("vendor");
  gallery.model_name = ASCIIToUTF16("model");
  EXPECT_EQ("override", GalleryName(gallery));

  gallery.display_name = string16();
  EXPECT_EQ("volume", GalleryName(gallery));

  gallery.volume_label = string16();
  EXPECT_EQ("vendor, model", GalleryName(gallery));

  gallery.total_size_in_bytes = 1000000;
  EXPECT_EQ("977 KB vendor, model", GalleryName(gallery));

  gallery.path = base::FilePath(FILE_PATH_LITERAL("sub/path"));
  EXPECT_EQ("path - 977 KB vendor, model", GalleryName(gallery));
}