1424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// found in the LICENSE file.
4424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
5424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#include "chrome/browser/task_manager/task_manager_util.h"
6424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
7424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#include "base/basictypes.h"
803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "chrome/grit/generated_resources.h"
9424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
10424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
11424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)namespace task_manager {
12424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
13424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)namespace util {
14424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
15424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)TEST(TaskManagerUtilTest, GetMessagePrefixID) {
16424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  struct Configuration {
17424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    bool is_app;
18424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    bool is_extension;
19424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    bool is_incognito;
20424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    bool is_prerender;
21424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    bool is_background;
22424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    int expected_result;
23424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  };
24424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  const Configuration configs[] = {
25424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      // Use implicit int->bool conversion to save space and keep alignment.
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {1, 0, 0, 0, 1, IDS_TASK_MANAGER_BACKGROUND_PREFIX},
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {1, 0, 1, 0, 0, IDS_TASK_MANAGER_APP_INCOGNITO_PREFIX},
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {1, 0, 0, 0, 0, IDS_TASK_MANAGER_APP_PREFIX},
295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {0, 1, 1, 0, 0, IDS_TASK_MANAGER_EXTENSION_INCOGNITO_PREFIX},
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {0, 1, 0, 0, 0, IDS_TASK_MANAGER_EXTENSION_PREFIX},
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {0, 0, 0, 1, 0, IDS_TASK_MANAGER_PRERENDER_PREFIX},
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {0, 0, 1, 0, 0, IDS_TASK_MANAGER_TAB_INCOGNITO_PREFIX},
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {0, 0, 0, 0, 0, IDS_TASK_MANAGER_TAB_PREFIX}};
34424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  for (size_t i = 0; i < ARRAYSIZE_UNSAFE(configs); ++i) {
35424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    EXPECT_EQ(configs[i].expected_result,
36424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)              GetMessagePrefixID(configs[i].is_app,
37424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)                                 configs[i].is_extension,
38424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)                                 configs[i].is_incognito,
39424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)                                 configs[i].is_prerender,
40424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)                                 configs[i].is_background));
41424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  }
42424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)}
43424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
44424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)} //  namespace util
45424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
46424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)} //  namespace task_manager
47