Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: mojo/public/cpp/bindings/tests/string_unittest.cc

Issue 2608513002: Remove mojo::String. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 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 "mojo/public/cpp/bindings/string.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7
8 namespace mojo {
9 namespace test {
10
11 namespace {
12 const char* kHelloWorld = "hello world";
13 } // namespace
14
15 TEST(StringTest, DefaultIsNotNull) {
16 String s;
17 EXPECT_FALSE(s.is_null());
18 }
19
20 TEST(StringTest, ConstructedWithNULL) {
21 String s(nullptr);
22 EXPECT_TRUE(s.is_null());
23 }
24
25 TEST(StringTest, ConstructedWithNullCharPointer) {
26 const char* null = nullptr;
27 String s(null);
28 EXPECT_TRUE(s.is_null());
29 }
30
31 TEST(StringTest, AssignedNULL) {
32 String s("");
33 EXPECT_FALSE(s.is_null());
34 s = nullptr;
35 EXPECT_TRUE(s.is_null());
36 }
37
38 TEST(StringTest, Empty) {
39 String s("");
40 EXPECT_FALSE(s.is_null());
41 EXPECT_TRUE(s.get().empty());
42 }
43
44 TEST(StringTest, Basic) {
45 String s(kHelloWorld);
46 EXPECT_EQ(std::string(kHelloWorld), s.get());
47 }
48
49 TEST(StringTest, Assignment) {
50 String s(kHelloWorld);
51 String t = s; // Makes a copy.
52 EXPECT_FALSE(t.is_null());
53 EXPECT_EQ(std::string(kHelloWorld), t.get());
54 EXPECT_FALSE(s.is_null());
55 }
56
57 TEST(StringTest, Equality) {
58 String s(kHelloWorld);
59 String t(kHelloWorld);
60 EXPECT_EQ(s, t);
61 EXPECT_TRUE(s == s);
62 EXPECT_FALSE(s != s);
63 EXPECT_TRUE(s == t);
64 EXPECT_FALSE(s != t);
65 EXPECT_TRUE(kHelloWorld == s);
66 EXPECT_TRUE(s == kHelloWorld);
67 EXPECT_TRUE("not" != s);
68 EXPECT_FALSE("not" == s);
69 EXPECT_TRUE(s != "not");
70 EXPECT_FALSE(s == "not");
71
72 // Test null strings.
73 String n1;
74 String n2;
75 EXPECT_TRUE(n1 == n1);
76 EXPECT_FALSE(n1 != n2);
77 EXPECT_TRUE(n1 == n2);
78 EXPECT_FALSE(n1 != n2);
79 EXPECT_TRUE(n1 != s);
80 EXPECT_FALSE(n1 == s);
81 EXPECT_TRUE(s != n1);
82 EXPECT_FALSE(s == n1);
83 }
84
85 TEST(StringTest, LessThanNullness) {
86 String null;
87 String null2;
88 EXPECT_FALSE(null < null2);
89 EXPECT_FALSE(null2 < null);
90
91 String real("real");
92 EXPECT_TRUE(null < real);
93 EXPECT_FALSE(real < null);
94 }
95
96 TEST(StringTest, MoveConstructors) {
97 std::string std_str(kHelloWorld);
98
99 String str1(std::move(std_str));
100 EXPECT_TRUE(kHelloWorld == str1);
101
102 String str2(std::move(str1));
103 EXPECT_TRUE(kHelloWorld == str2);
104 EXPECT_TRUE(str1.is_null());
105 }
106
107 TEST(StringTest, MoveAssignments) {
108 std::string std_str(kHelloWorld);
109
110 String str1;
111 str1 = std::move(std_str);
112 EXPECT_TRUE(kHelloWorld == str1);
113
114 String str2;
115 str2 = std::move(str1);
116 EXPECT_TRUE(kHelloWorld == str2);
117 EXPECT_TRUE(str1.is_null());
118 }
119
120 TEST(StringTest, Storage) {
121 String str(kHelloWorld);
122
123 EXPECT_TRUE(kHelloWorld == str.storage());
124
125 std::string storage = str.PassStorage();
126 EXPECT_TRUE(str.is_null());
127 EXPECT_TRUE(kHelloWorld == storage);
128 }
129
130 } // namespace test
131 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698