Support SizeClassIdiom on iOS7.
[chromium-blink-merge.git] / chrome / browser / spellchecker / misspelling_unittest.cc
blob614fce629bbf3ad676a36d9e3b59230ce7e9c7f4
1 // Copyright (c) 2013 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 // Unit tests for |Misspelling| object.
7 #include "chrome/browser/spellchecker/misspelling.h"
9 #include "base/json/json_reader.h"
10 #include "base/strings/utf_string_conversions.h"
11 #include "base/values.h"
12 #include "testing/gtest/include/gtest/gtest.h"
14 TEST(MisspellingTest, SerializeTest) {
15 Misspelling misspelling;
16 misspelling.context = base::ASCIIToUTF16("How doe sit know");
17 misspelling.location = 4;
18 misspelling.length = 7;
19 misspelling.timestamp = base::Time::FromJsTime(42);
20 misspelling.hash = 9001;
21 misspelling.suggestions.push_back(base::ASCIIToUTF16("does it"));
23 scoped_ptr<base::Value> expected(base::JSONReader::DeprecatedRead(
24 "{\"originalText\": \"How doe sit know\","
25 "\"misspelledStart\": 4,"
26 "\"misspelledLength\": 7,"
27 "\"timestamp\": \"42\","
28 "\"suggestionId\":\"9001\","
29 "\"suggestions\": [\"does it\"],"
30 "\"userActions\": [{\"actionType\": \"PENDING\"}]}"));
32 scoped_ptr<base::DictionaryValue> serialized(
33 SerializeMisspelling(misspelling));
34 EXPECT_TRUE(serialized->Equals(expected.get()));
37 TEST(MisspellingTest, GetMisspelledStringTest) {
38 Misspelling misspelling;
39 misspelling.context = base::ASCIIToUTF16("How doe sit know");
40 misspelling.location = 4;
41 misspelling.length = 7;
42 EXPECT_EQ(base::ASCIIToUTF16("doe sit"), GetMisspelledString(misspelling));
44 misspelling.length = 0;
45 EXPECT_EQ(base::string16(), GetMisspelledString(misspelling));
47 misspelling.location = misspelling.context.length();
48 misspelling.length = 7;
49 EXPECT_EQ(base::string16(), GetMisspelledString(misspelling));
51 misspelling.location = misspelling.context.length() + 1;
52 EXPECT_EQ(base::string16(), GetMisspelledString(misspelling));