blob: 3d2d6a6237bb006372b2bc48413d5e53407f5b55 [file] [log] [blame]
license.botf003cfe2008-08-24 09:55:55 +09001// Copyright (c) 2006-2008 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.
maruel@google.com26e717a2008-08-08 05:48:51 +09004
5#include "base/word_iterator.h"
6
7#include "testing/gtest/include/gtest/gtest.h"
8
9TEST(WordIteratorTest, BreakWord) {
10 std::wstring str(L" foo bar! \npouet boom");
11 WordIterator iter(str, WordIterator::BREAK_WORD);
12 ASSERT_TRUE(iter.Init());
13 EXPECT_TRUE(iter.Advance());
14 EXPECT_FALSE(iter.IsWord());
15 EXPECT_EQ(L" ", iter.GetWord());
16 EXPECT_TRUE(iter.Advance());
17 EXPECT_TRUE(iter.IsWord());
18 EXPECT_EQ(L"foo", iter.GetWord());
19 EXPECT_TRUE(iter.Advance());
20 EXPECT_FALSE(iter.IsWord());
21 EXPECT_EQ(L" ", iter.GetWord());
22 EXPECT_TRUE(iter.Advance());
23 EXPECT_TRUE(iter.IsWord());
24 EXPECT_EQ(L"bar", iter.GetWord());
25 EXPECT_TRUE(iter.Advance());
26 EXPECT_FALSE(iter.IsWord());
27 EXPECT_EQ(L"!", iter.GetWord());
28 EXPECT_TRUE(iter.Advance());
29 EXPECT_FALSE(iter.IsWord());
30 EXPECT_EQ(L" ", iter.GetWord());
31 EXPECT_TRUE(iter.Advance());
32 EXPECT_FALSE(iter.IsWord());
33 EXPECT_EQ(L"\n", iter.GetWord());
34 EXPECT_TRUE(iter.Advance());
35 EXPECT_TRUE(iter.IsWord());
36 EXPECT_EQ(L"pouet", iter.GetWord());
37 EXPECT_TRUE(iter.Advance());
38 EXPECT_FALSE(iter.IsWord());
39 EXPECT_EQ(L" ", iter.GetWord());
40 EXPECT_TRUE(iter.Advance());
41 EXPECT_TRUE(iter.IsWord());
42 EXPECT_EQ(L"boom", iter.GetWord());
43 EXPECT_FALSE(iter.Advance());
44 EXPECT_FALSE(iter.IsWord());
45}
46
47TEST(WordIteratorTest, BreakLine) {
48 std::wstring str(L" foo bar! \npouet boom");
49 WordIterator iter(str, WordIterator::BREAK_LINE);
50 ASSERT_TRUE(iter.Init());
51 EXPECT_TRUE(iter.Advance());
52 EXPECT_FALSE(iter.IsWord());
53 EXPECT_EQ(L" ", iter.GetWord());
54 EXPECT_TRUE(iter.Advance());
55 EXPECT_FALSE(iter.IsWord());
56 EXPECT_EQ(L"foo ", iter.GetWord());
57 EXPECT_TRUE(iter.Advance());
58 EXPECT_TRUE(iter.IsWord());
59 EXPECT_EQ(L"bar! \n", iter.GetWord());
60 EXPECT_TRUE(iter.Advance());
61 EXPECT_FALSE(iter.IsWord());
62 EXPECT_EQ(L"pouet ", iter.GetWord());
63 EXPECT_TRUE(iter.Advance());
64 EXPECT_FALSE(iter.IsWord());
65 EXPECT_EQ(L"boom", iter.GetWord());
66 EXPECT_FALSE(iter.Advance());
67 EXPECT_FALSE(iter.IsWord());
68}
license.botf003cfe2008-08-24 09:55:55 +090069