| Index: app/view_prop_unittest.cc
|
| diff --git a/app/view_prop_unittest.cc b/app/view_prop_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9b81cd5f230824660c44cfc0579d5a7895224b5b
|
| --- /dev/null
|
| +++ b/app/view_prop_unittest.cc
|
| @@ -0,0 +1,70 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +#include "app/view_prop.h"
|
| +#include "base/scoped_ptr.h"
|
| +
|
| +typedef testing::Test ViewPropTest;
|
| +
|
| +static const char* kKey1 = "key_1";
|
| +static const char* kKey2 = "key_2";
|
| +
|
| +using app::ViewProp;
|
| +
|
| +// Test a handful of viewprop assertions.
|
| +TEST_F(ViewPropTest, Basic) {
|
| + gfx::NativeView nv1 = reinterpret_cast<gfx::NativeView>(1);
|
| + gfx::NativeView nv2 = reinterpret_cast<gfx::NativeView>(2);
|
| +
|
| + void* data1 = reinterpret_cast<void*>(11);
|
| + void* data2 = reinterpret_cast<void*>(12);
|
| +
|
| + // Initial value for a new view/key pair should be NULL.
|
| + EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1));
|
| +
|
| + {
|
| + // Register a value for a view/key pair.
|
| + ViewProp prop(nv1, kKey1, data1);
|
| + EXPECT_EQ(data1, ViewProp::GetValue(nv1, kKey1));
|
| + }
|
| +
|
| + // The property fell out of scope, so the value should now be NULL.
|
| + EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1));
|
| +
|
| + {
|
| + // Register a value for a view/key pair.
|
| + scoped_ptr<ViewProp> v1(new ViewProp(nv1, kKey1, data1));
|
| + EXPECT_EQ(data1, ViewProp::GetValue(nv1, kKey1));
|
| +
|
| + // Register a value for the same view/key pair.
|
| + scoped_ptr<ViewProp> v2(new ViewProp(nv1, kKey1, data2));
|
| + // The new value should take over.
|
| + EXPECT_EQ(data2, ViewProp::GetValue(nv1, kKey1));
|
| +
|
| + // Null out the first ViewProp, which should NULL out the value.
|
| + v1.reset(NULL);
|
| + EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1));
|
| + }
|
| +
|
| + // The property fell out of scope, so the value should now be NULL.
|
| + EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1));
|
| +
|
| + {
|
| + // Register a value for a view/key pair.
|
| + scoped_ptr<ViewProp> v1(new ViewProp(nv1, kKey1, data1));
|
| + scoped_ptr<ViewProp> v2(new ViewProp(nv2, kKey2, data2));
|
| + EXPECT_EQ(data1, ViewProp::GetValue(nv1, kKey1));
|
| + EXPECT_EQ(data2, ViewProp::GetValue(nv2, kKey2));
|
| +
|
| + v1.reset(NULL);
|
| + EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1));
|
| + EXPECT_EQ(data2, ViewProp::GetValue(nv2, kKey2));
|
| +
|
| + v2.reset(NULL);
|
| + EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1));
|
| + EXPECT_EQ(NULL, ViewProp::GetValue(nv2, kKey2));
|
| + }
|
| +}
|
|
|