#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_map.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_set.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_linked_hash_set.h"
#include "third_party/blink/renderer/platform/heap/heap_test_objects.h"
#include "third_party/blink/renderer/platform/heap/heap_test_utilities.h"
#include "third_party/blink/renderer/platform/heap/persistent.h"
namespace blink {
namespace {
class WeaknessMarkingTest : public TestSupportingGC { … };
}
enum class ObjectLiveness { … };
template <typename Map,
template <typename T>
class KeyHolder,
template <typename T>
class ValueHolder>
void TestMapImpl(ObjectLiveness expected_key_liveness,
ObjectLiveness expected_value_liveness) { … }
TEST_F(WeaknessMarkingTest, WeakToWeakMap) { … }
TEST_F(WeaknessMarkingTest, WeakToStrongMap) { … }
TEST_F(WeaknessMarkingTest, StrongToWeakMap) { … }
TEST_F(WeaknessMarkingTest, StrongToStrongMap) { … }
template <typename Set, template <typename T> class Type>
void TestSetImpl(ObjectLiveness object_liveness) { … }
TEST_F(WeaknessMarkingTest, WeakSet) { … }
TEST_F(WeaknessMarkingTest, StrongSet) { … }
TEST_F(WeaknessMarkingTest, DeadValueInReverseEphemeron) { … }
TEST_F(WeaknessMarkingTest, NullValueInReverseEphemeron) { … }
namespace weakness_marking_test {
TEST_F(WeaknessMarkingTest, SwapIntoAlreadyProcessedWeakSet) { … }
TEST_F(WeaknessMarkingTest, EmptyEphemeronCollection) { … }
TEST_F(WeaknessMarkingTest, ClearWeakHashTableAfterMarking) { … }
TEST_F(WeaknessMarkingTest, StrongifyBackingOnStack) { … }
}
}