OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2010 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 "testing/gtest/include/gtest/gtest.h" | |
6 | |
7 #include "app/view_prop.h" | |
8 #include "base/scoped_ptr.h" | |
9 | |
10 typedef testing::Test ViewPropTest; | |
11 | |
12 static const char* kKey1 = "key_1"; | |
13 static const char* kKey2 = "key_2"; | |
14 | |
15 using app::ViewProp; | |
16 | |
17 // Test a handful of viewprop assertions. | |
18 TEST_F(ViewPropTest, Basic) { | |
19 gfx::NativeView nv1 = reinterpret_cast<gfx::NativeView>(1); | |
20 gfx::NativeView nv2 = reinterpret_cast<gfx::NativeView>(2); | |
21 | |
22 void* data1 = reinterpret_cast<void*>(11); | |
23 void* data2 = reinterpret_cast<void*>(12); | |
24 | |
25 // Initial value for a new view/key pair should be NULL. | |
26 EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1)); | |
27 | |
28 { | |
29 // Register a value for a view/key pair. | |
30 ViewProp prop(nv1, kKey1, data1); | |
cpu_(ooo_6.6-7.5)
2010/11/18 22:49:15
so being refcounted does not cause a problem when
sky
2010/11/18 23:16:31
ViewProp isn't ref-counted. ViewProp::Data is thou
| |
31 EXPECT_EQ(data1, ViewProp::GetValue(nv1, kKey1)); | |
32 } | |
33 | |
34 // The property fell out of scope, so the value should now be NULL. | |
35 EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1)); | |
36 | |
37 { | |
38 // Register a value for a view/key pair. | |
39 scoped_ptr<ViewProp> v1(new ViewProp(nv1, kKey1, data1)); | |
40 EXPECT_EQ(data1, ViewProp::GetValue(nv1, kKey1)); | |
41 | |
42 // Register a value for the same view/key pair. | |
43 scoped_ptr<ViewProp> v2(new ViewProp(nv1, kKey1, data2)); | |
44 // The new value should take over. | |
45 EXPECT_EQ(data2, ViewProp::GetValue(nv1, kKey1)); | |
46 | |
47 // Null out the first ViewProp, which should NULL out the value. | |
48 v1.reset(NULL); | |
49 EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1)); | |
50 } | |
51 | |
52 // The property fell out of scope, so the value should now be NULL. | |
53 EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1)); | |
54 | |
55 { | |
56 // Register a value for a view/key pair. | |
57 scoped_ptr<ViewProp> v1(new ViewProp(nv1, kKey1, data1)); | |
58 scoped_ptr<ViewProp> v2(new ViewProp(nv2, kKey2, data2)); | |
59 EXPECT_EQ(data1, ViewProp::GetValue(nv1, kKey1)); | |
60 EXPECT_EQ(data2, ViewProp::GetValue(nv2, kKey2)); | |
61 | |
62 v1.reset(NULL); | |
63 EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1)); | |
64 EXPECT_EQ(data2, ViewProp::GetValue(nv2, kKey2)); | |
65 | |
66 v2.reset(NULL); | |
67 EXPECT_EQ(NULL, ViewProp::GetValue(nv1, kKey1)); | |
68 EXPECT_EQ(NULL, ViewProp::GetValue(nv2, kKey2)); | |
69 } | |
70 } | |
OLD | NEW |