diff options
author | tsepez <tsepez@chromium.org> | 2016-10-17 11:20:01 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-10-17 11:20:01 -0700 |
commit | 2239cee23e914b974b458699d52733d7dd3116a6 (patch) | |
tree | c9c2baa2331b4ee4fc081dc09da27017ab718b2f /core/fxcrt/cfx_count_ref_unittest.cpp | |
parent | d5bd8a16565bbee05bfb8a8409f3ba90c461da0e (diff) | |
download | pdfium-2239cee23e914b974b458699d52733d7dd3116a6.tar.xz |
Rename CFX_CountRef to CFX_SharedCopyOnWrite
Avoid confusing this class with other ref-counted objects.
Review-Url: https://codereview.chromium.org/2426673002
Diffstat (limited to 'core/fxcrt/cfx_count_ref_unittest.cpp')
-rw-r--r-- | core/fxcrt/cfx_count_ref_unittest.cpp | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/core/fxcrt/cfx_count_ref_unittest.cpp b/core/fxcrt/cfx_count_ref_unittest.cpp deleted file mode 100644 index 6ab56327d3..0000000000 --- a/core/fxcrt/cfx_count_ref_unittest.cpp +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2016 PDFium 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 "core/fxcrt/cfx_count_ref.h" - -#include <map> -#include <string> - -#include "testing/fx_string_testhelpers.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace { - -class Observer { - public: - void OnConstruct(const std::string& name) { construction_counts_[name]++; } - void OnDestruct(const std::string& name) { destruction_counts_[name]++; } - int GetConstructionCount(const std::string& name) { - return construction_counts_[name]; - } - int GetDestructionCount(const std::string& name) { - return destruction_counts_[name]; - } - - private: - std::map<std::string, int> construction_counts_; - std::map<std::string, int> destruction_counts_; -}; - -class Object { - public: - Object(Observer* observer, const std::string& name) - : name_(name), observer_(observer) { - observer->OnConstruct(name_); - } - Object(const Object& that) : name_(that.name_), observer_(that.observer_) { - observer_->OnConstruct(name_); - } - ~Object() { observer_->OnDestruct(name_); } - - private: - std::string name_; - Observer* observer_; -}; - -} // namespace - -TEST(fxcrt, CountRefNull) { - Observer observer; - { - CFX_CountRef<Object> ptr; - EXPECT_EQ(nullptr, ptr.GetObject()); - } -} - -TEST(fxcrt, CountRefCopy) { - Observer observer; - { - CFX_CountRef<Object> ptr1; - ptr1.Emplace(&observer, std::string("one")); - { - CFX_CountRef<Object> ptr2 = ptr1; - EXPECT_EQ(1, observer.GetConstructionCount("one")); - EXPECT_EQ(0, observer.GetDestructionCount("one")); - } - { - CFX_CountRef<Object> ptr3(ptr1); - EXPECT_EQ(1, observer.GetConstructionCount("one")); - EXPECT_EQ(0, observer.GetDestructionCount("one")); - } - EXPECT_EQ(1, observer.GetConstructionCount("one")); - EXPECT_EQ(0, observer.GetDestructionCount("one")); - } - EXPECT_EQ(1, observer.GetDestructionCount("one")); -} - -TEST(fxcrt, CountRefAssignOverOld) { - Observer observer; - { - CFX_CountRef<Object> ptr1; - ptr1.Emplace(&observer, std::string("one")); - ptr1.Emplace(&observer, std::string("two")); - EXPECT_EQ(1, observer.GetConstructionCount("one")); - EXPECT_EQ(1, observer.GetConstructionCount("two")); - EXPECT_EQ(1, observer.GetDestructionCount("one")); - EXPECT_EQ(0, observer.GetDestructionCount("two")); - } - EXPECT_EQ(1, observer.GetDestructionCount("two")); -} - -TEST(fxcrt, CountRefAssignOverRetained) { - Observer observer; - { - CFX_CountRef<Object> ptr1; - ptr1.Emplace(&observer, std::string("one")); - CFX_CountRef<Object> ptr2(ptr1); - ptr1.Emplace(&observer, std::string("two")); - EXPECT_EQ(1, observer.GetConstructionCount("one")); - EXPECT_EQ(1, observer.GetConstructionCount("two")); - EXPECT_EQ(0, observer.GetDestructionCount("one")); - EXPECT_EQ(0, observer.GetDestructionCount("two")); - } - EXPECT_EQ(1, observer.GetDestructionCount("one")); - EXPECT_EQ(1, observer.GetDestructionCount("two")); -} - -TEST(fxcrt, CountRefGetModify) { - Observer observer; - { - CFX_CountRef<Object> ptr; - EXPECT_NE(nullptr, ptr.GetPrivateCopy(&observer, std::string("one"))); - EXPECT_EQ(1, observer.GetConstructionCount("one")); - EXPECT_EQ(0, observer.GetDestructionCount("one")); - - EXPECT_NE(nullptr, ptr.GetPrivateCopy(&observer, std::string("one"))); - EXPECT_EQ(1, observer.GetConstructionCount("one")); - EXPECT_EQ(0, observer.GetDestructionCount("one")); - { - CFX_CountRef<Object> other(ptr); - EXPECT_NE(nullptr, ptr.GetPrivateCopy(&observer, std::string("one"))); - EXPECT_EQ(2, observer.GetConstructionCount("one")); - EXPECT_EQ(0, observer.GetDestructionCount("one")); - } - EXPECT_EQ(2, observer.GetConstructionCount("one")); - EXPECT_EQ(1, observer.GetDestructionCount("one")); - } - EXPECT_EQ(2, observer.GetDestructionCount("one")); -} |