Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / sync / test / integration / performance / dictionary_sync_perf_test.cc
1 // Copyright (c) 2011 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.
4
5 #include "base/strings/string_number_conversions.h"
6 #include "chrome/browser/sync/test/integration/dictionary_helper.h"
7 #include "chrome/browser/sync/test/integration/performance/sync_timing_helper.h"
8 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
9 #include "chrome/browser/sync/test/integration/sync_test.h"
10 #include "chrome/common/spellcheck_common.h"
11
12 class DictionarySyncPerfTest : public SyncTest {
13  public:
14   DictionarySyncPerfTest() : SyncTest(TWO_CLIENT) {}
15   ~DictionarySyncPerfTest() override {}
16
17  private:
18   DISALLOW_COPY_AND_ASSIGN(DictionarySyncPerfTest);
19 };
20
21 IN_PROC_BROWSER_TEST_F(DictionarySyncPerfTest, P0) {
22   ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
23   dictionary_helper::LoadDictionaries();
24   ASSERT_TRUE(dictionary_helper::DictionariesMatch());
25
26   base::TimeDelta dt;
27   for (size_t i = 0;
28        i < chrome::spellcheck_common::MAX_SYNCABLE_DICTIONARY_WORDS;
29        ++i) {
30     ASSERT_TRUE(dictionary_helper::AddWord(
31         0, "foo" + base::Uint64ToString(i)));
32   }
33   dt = SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
34   ASSERT_EQ(chrome::spellcheck_common::MAX_SYNCABLE_DICTIONARY_WORDS,
35             dictionary_helper::GetDictionarySize(1));
36   SyncTimingHelper::PrintResult("dictionary", "add_words", dt);
37
38   for (size_t i = 0;
39        i < chrome::spellcheck_common::MAX_SYNCABLE_DICTIONARY_WORDS;
40        ++i) {
41     ASSERT_TRUE(dictionary_helper::RemoveWord(
42         0, "foo" + base::Uint64ToString(i)));
43   }
44   dt = SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
45   ASSERT_EQ(0UL, dictionary_helper::GetDictionarySize(1));
46   SyncTimingHelper::PrintResult("dictionary", "remove_words", dt);
47 }