diff options
Diffstat (limited to '3rdparty/asmjit/src/asmjit/core/zonelist.cpp')
-rw-r--r-- | 3rdparty/asmjit/src/asmjit/core/zonelist.cpp | 209 |
1 files changed, 95 insertions, 114 deletions
diff --git a/3rdparty/asmjit/src/asmjit/core/zonelist.cpp b/3rdparty/asmjit/src/asmjit/core/zonelist.cpp index 3496aa8a2b9..ff2c2cf1540 100644 --- a/3rdparty/asmjit/src/asmjit/core/zonelist.cpp +++ b/3rdparty/asmjit/src/asmjit/core/zonelist.cpp @@ -1,25 +1,7 @@ -// AsmJit - Machine code generation for C++ +// This file is part of AsmJit project <https://asmjit.com> // -// * Official AsmJit Home Page: https://asmjit.com -// * Official Github Repository: https://github.com/asmjit/asmjit -// -// Copyright (c) 2008-2020 The AsmJit Authors -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// 2. Altered source versions must be plainly marked as such, and must not be -// misrepresented as being the original software. -// 3. This notice may not be removed or altered from any source distribution. +// See asmjit.h or LICENSE.md for license and copyright information +// SPDX-License-Identifier: Zlib #include "../core/api-build_p.h" #include "../core/zone.h" @@ -27,9 +9,8 @@ ASMJIT_BEGIN_NAMESPACE -// ============================================================================ -// [asmjit::ZoneList - Unit] -// ============================================================================ +// ZoneList - Tests +// ================ #if defined(ASMJIT_TEST) class MyListNode : public ZoneListNode<MyListNode> {}; @@ -46,136 +27,136 @@ UNIT(zone_list) { INFO("Append / Unlink"); // [] - EXPECT(list.empty() == true); + EXPECT_TRUE(list.empty()); // [A] list.append(a); - EXPECT(list.empty() == false); - EXPECT(list.first() == a); - EXPECT(list.last() == a); - EXPECT(a->prev() == nullptr); - EXPECT(a->next() == nullptr); + EXPECT_FALSE(list.empty()); + EXPECT_EQ(list.first(), a); + EXPECT_EQ(list.last(), a); + EXPECT_NULL(a->prev()); + EXPECT_NULL(a->next()); // [A, B] list.append(b); - EXPECT(list.first() == a); - EXPECT(list.last() == b); - EXPECT(a->prev() == nullptr); - EXPECT(a->next() == b); - EXPECT(b->prev() == a); - EXPECT(b->next() == nullptr); + EXPECT_EQ(list.first(), a); + EXPECT_EQ(list.last(), b); + EXPECT_NULL(a->prev()); + EXPECT_EQ(a->next(), b); + EXPECT_EQ(b->prev(), a); + EXPECT_NULL(b->next()); // [A, B, C] list.append(c); - EXPECT(list.first() == a); - EXPECT(list.last() == c); - EXPECT(a->prev() == nullptr); - EXPECT(a->next() == b); - EXPECT(b->prev() == a); - EXPECT(b->next() == c); - EXPECT(c->prev() == b); - EXPECT(c->next() == nullptr); + EXPECT_EQ(list.first(), a); + EXPECT_EQ(list.last(), c); + EXPECT_NULL(a->prev()); + EXPECT_EQ(a->next(), b); + EXPECT_EQ(b->prev(), a); + EXPECT_EQ(b->next(), c); + EXPECT_EQ(c->prev(), b); + EXPECT_NULL(c->next()); // [B, C] list.unlink(a); - EXPECT(list.first() == b); - EXPECT(list.last() == c); - EXPECT(a->prev() == nullptr); - EXPECT(a->next() == nullptr); - EXPECT(b->prev() == nullptr); - EXPECT(b->next() == c); - EXPECT(c->prev() == b); - EXPECT(c->next() == nullptr); + EXPECT_EQ(list.first(), b); + EXPECT_EQ(list.last(), c); + EXPECT_NULL(a->prev()); + EXPECT_NULL(a->next()); + EXPECT_NULL(b->prev()); + EXPECT_EQ(b->next(), c); + EXPECT_EQ(c->prev(), b); + EXPECT_NULL(c->next()); // [B] list.unlink(c); - EXPECT(list.first() == b); - EXPECT(list.last() == b); - EXPECT(b->prev() == nullptr); - EXPECT(b->next() == nullptr); - EXPECT(c->prev() == nullptr); - EXPECT(c->next() == nullptr); + EXPECT_EQ(list.first(), b); + EXPECT_EQ(list.last(), b); + EXPECT_NULL(b->prev()); + EXPECT_NULL(b->next()); + EXPECT_NULL(c->prev()); + EXPECT_NULL(c->next()); // [] list.unlink(b); - EXPECT(list.empty() == true); - EXPECT(list.first() == nullptr); - EXPECT(list.last() == nullptr); - EXPECT(b->prev() == nullptr); - EXPECT(b->next() == nullptr); + EXPECT_TRUE(list.empty()); + EXPECT_NULL(list.first()); + EXPECT_NULL(list.last()); + EXPECT_NULL(b->prev()); + EXPECT_NULL(b->next()); INFO("Prepend / Unlink"); // [A] list.prepend(a); - EXPECT(list.empty() == false); - EXPECT(list.first() == a); - EXPECT(list.last() == a); - EXPECT(a->prev() == nullptr); - EXPECT(a->next() == nullptr); + EXPECT_FALSE(list.empty()); + EXPECT_EQ(list.first(), a); + EXPECT_EQ(list.last(), a); + EXPECT_NULL(a->prev()); + EXPECT_NULL(a->next()); // [B, A] list.prepend(b); - EXPECT(list.first() == b); - EXPECT(list.last() == a); - EXPECT(b->prev() == nullptr); - EXPECT(b->next() == a); - EXPECT(a->prev() == b); - EXPECT(a->next() == nullptr); + EXPECT_EQ(list.first(), b); + EXPECT_EQ(list.last(), a); + EXPECT_NULL(b->prev()); + EXPECT_EQ(b->next(), a); + EXPECT_EQ(a->prev(), b); + EXPECT_NULL(a->next()); INFO("InsertAfter / InsertBefore"); // [B, A, C] list.insertAfter(a, c); - EXPECT(list.first() == b); - EXPECT(list.last() == c); - EXPECT(b->prev() == nullptr); - EXPECT(b->next() == a); - EXPECT(a->prev() == b); - EXPECT(a->next() == c); - EXPECT(c->prev() == a); - EXPECT(c->next() == nullptr); + EXPECT_EQ(list.first(), b); + EXPECT_EQ(list.last(), c); + EXPECT_NULL(b->prev()); + EXPECT_EQ(b->next(), a); + EXPECT_EQ(a->prev(), b); + EXPECT_EQ(a->next(), c); + EXPECT_EQ(c->prev(), a); + EXPECT_NULL(c->next()); // [B, D, A, C] list.insertBefore(a, d); - EXPECT(list.first() == b); - EXPECT(list.last() == c); - EXPECT(b->prev() == nullptr); - EXPECT(b->next() == d); - EXPECT(d->prev() == b); - EXPECT(d->next() == a); - EXPECT(a->prev() == d); - EXPECT(a->next() == c); - EXPECT(c->prev() == a); - EXPECT(c->next() == nullptr); + EXPECT_EQ(list.first(), b); + EXPECT_EQ(list.last(), c); + EXPECT_NULL(b->prev()); + EXPECT_EQ(b->next(), d); + EXPECT_EQ(d->prev(), b); + EXPECT_EQ(d->next(), a); + EXPECT_EQ(a->prev(), d); + EXPECT_EQ(a->next(), c); + EXPECT_EQ(c->prev(), a); + EXPECT_NULL(c->next()); INFO("PopFirst / Pop"); // [D, A, C] - EXPECT(list.popFirst() == b); - EXPECT(b->prev() == nullptr); - EXPECT(b->next() == nullptr); - - EXPECT(list.first() == d); - EXPECT(list.last() == c); - EXPECT(d->prev() == nullptr); - EXPECT(d->next() == a); - EXPECT(a->prev() == d); - EXPECT(a->next() == c); - EXPECT(c->prev() == a); - EXPECT(c->next() == nullptr); + EXPECT_EQ(list.popFirst(), b); + EXPECT_NULL(b->prev()); + EXPECT_NULL(b->next()); + + EXPECT_EQ(list.first(), d); + EXPECT_EQ(list.last(), c); + EXPECT_NULL(d->prev()); + EXPECT_EQ(d->next(), a); + EXPECT_EQ(a->prev(), d); + EXPECT_EQ(a->next(), c); + EXPECT_EQ(c->prev(), a); + EXPECT_NULL(c->next()); // [D, A] - EXPECT(list.pop() == c); - EXPECT(c->prev() == nullptr); - EXPECT(c->next() == nullptr); - - EXPECT(list.first() == d); - EXPECT(list.last() == a); - EXPECT(d->prev() == nullptr); - EXPECT(d->next() == a); - EXPECT(a->prev() == d); - EXPECT(a->next() == nullptr); + EXPECT_EQ(list.pop(), c); + EXPECT_NULL(c->prev()); + EXPECT_NULL(c->next()); + + EXPECT_EQ(list.first(), d); + EXPECT_EQ(list.last(), a); + EXPECT_NULL(d->prev()); + EXPECT_EQ(d->next(), a); + EXPECT_EQ(a->prev(), d); + EXPECT_NULL(a->next()); } #endif |