Home | History | Annotate | Download | only in tests
      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 TEST(StringTest, DefaultIsNull) {
     12   String s;
     13   EXPECT_TRUE(s.is_null());
     14 }
     15 
     16 TEST(StringTest, ConstructedWithNULL) {
     17   String s(NULL);
     18   EXPECT_TRUE(s.is_null());
     19 }
     20 
     21 TEST(StringTest, ConstructedWithNullCharPointer) {
     22   const char* null = NULL;
     23   String s(null);
     24   EXPECT_TRUE(s.is_null());
     25 }
     26 
     27 TEST(StringTest, AssignedNULL) {
     28   String s("");
     29   EXPECT_FALSE(s.is_null());
     30   s = NULL;
     31   EXPECT_TRUE(s.is_null());
     32 }
     33 
     34 TEST(StringTest, Empty) {
     35   String s("");
     36   EXPECT_FALSE(s.is_null());
     37   EXPECT_TRUE(s.get().empty());
     38 }
     39 
     40 TEST(StringTest, Basic) {
     41   String s("hello world");
     42   EXPECT_EQ(std::string("hello world"), s.get());
     43 }
     44 
     45 TEST(StringTest, Assignment) {
     46   String s("hello world");
     47   String t = s;  // Makes a copy.
     48   EXPECT_FALSE(t.is_null());
     49   EXPECT_EQ(std::string("hello world"), t.get());
     50   EXPECT_FALSE(s.is_null());
     51 }
     52 
     53 TEST(StringTest, Equality) {
     54   String s("hello world");
     55   String t("hello world");
     56   EXPECT_EQ(s, t);
     57   EXPECT_TRUE(s == t);
     58   EXPECT_TRUE("hello world" == s);
     59   EXPECT_TRUE(s == "hello world");
     60   EXPECT_TRUE("not" != s);
     61   EXPECT_TRUE(s != "not");
     62 }
     63 
     64 }  // namespace test
     65 }  // namespace mojo
     66