Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / spellchecker / misspelling_unittest.cc
blobbfc162854cec6c7bd96d382039551c74ad1b63a4
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::Read(
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(misspelling.Serialize());
33 EXPECT_TRUE(serialized->Equals(expected.get()));
36 TEST(MisspellingTest, GetMisspelledStringTest) {
37 Misspelling misspelling;
38 misspelling.context = base::ASCIIToUTF16("How doe sit know");
39 misspelling.location = 4;
40 misspelling.length = 7;
41 EXPECT_EQ(base::ASCIIToUTF16("doe sit"), misspelling.GetMisspelledString());
43 misspelling.length = 0;
44 EXPECT_EQ(base::string16(), misspelling.GetMisspelledString());
46 misspelling.location = misspelling.context.length();
47 misspelling.length = 7;
48 EXPECT_EQ(base::string16(), misspelling.GetMisspelledString());
50 misspelling.location = misspelling.context.length() + 1;
51 EXPECT_EQ(base::string16(), misspelling.GetMisspelledString());