| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/ash/borealis/infra/described.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace borealis { |
| namespace { |
| |
| TEST(DescribedTest, HoldsAnError) { |
| Described<int> d(27, "twenty seven"); |
| EXPECT_EQ(d.error(), 27); |
| } |
| |
| TEST(DescribedTest, HoldsADescription) { |
| Described<int> d(27, "twenty seven"); |
| EXPECT_EQ(d.description(), "twenty seven"); |
| } |
| |
| TEST(DescribedTest, CanChainDescriptions) { |
| struct Foo {}; |
| struct Bar {}; |
| |
| Described<Foo> f(Foo{}, "foo"); |
| Described<Bar> b = f.Into(Bar{}, "bar"); |
| |
| EXPECT_EQ(b.description(), "bar: foo"); |
| } |
| |
| } // namespace |
| } // namespace borealis |