ladybird/Tests/AK
Andreas Kling 1859ecbb24 AK: Add lower_bound_index to binary search helpers
Add a helper for finding the first position in a sorted container where
needle can be inserted while preserving sort order. This gives callers a
lower-bound insertion point.

Cover empty inputs, duplicate values, custom comparators, and constexpr
use in TestBinarySearch.
2026-05-11 11:01:46 +02:00
..
CMakeLists.txt AK: Remove unused SegmentedVector 2026-05-08 20:45:17 +02:00
TestAllOf.cpp LibTest: Add more numeric generators 2024-01-12 16:42:51 -07:00
TestAnyOf.cpp LibTest: Add more numeric generators 2024-01-12 16:42:51 -07:00
TestArray.cpp AK: Conform SimpleIterator to the random access iterator requirements 2024-08-17 17:44:37 -06:00
TestAtomic.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TestBadge.cpp Tests: Move AK tests to Tests/AK 2021-05-06 17:54:28 +02:00
TestBase64.cpp AK: Add a Base64 decoder to decode into an existing buffer 2024-09-03 17:43:03 +02:00
TestBinaryHeap.cpp LibTest: Add more numeric generators 2024-01-12 16:42:51 -07:00
TestBinarySearch.cpp AK: Add lower_bound_index to binary search helpers 2026-05-11 11:01:46 +02:00
TestBitCast.cpp Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
TestBitmap.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TestBitStream.cpp LibTest: Add more numeric generators 2024-01-12 16:42:51 -07:00
TestBuiltinWrappers.cpp LibTest: Add more numeric generators 2024-01-12 16:42:51 -07:00
TestByteBuffer.cpp AK: Add an option to zero-fill ByteBuffer data upon growth 2023-12-27 19:30:39 +01:00
TestByteString.cpp AK: Remove unused UTF-8 / other factory methods from ByteString 2025-04-07 17:44:38 +02:00
TestCharacterTypes.cpp LibTest: Support death tests without child process cloning 2025-05-16 13:23:32 -06:00
TestChecked.cpp AK: Remove unused Checked<T> code 2025-10-22 00:26:23 +02:00
TestCircularBuffer.cpp Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
TestCircularQueue.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TestDelayLoadWindows.cpp AK: Implement demangle() for MSVC ABI 2025-06-17 18:39:18 -06:00
TestDemangle.cpp AK: Implement demangle() for MSVC ABI 2025-06-17 18:39:18 -06:00
TestDisjointChunks.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
TestDistinctNumeric.cpp AK: Fix typo in -= operator of DistinctNumeric 2023-01-06 12:01:46 +01:00
TestDoublyLinkedList.cpp AK: Add some higher-level operations to DoublyLinkedList<T> 2025-08-08 12:54:06 +02:00
TestEndian.cpp AK: Add tests for LittleEndian<enum class> 2022-12-28 22:27:19 -05:00
TestEnumBits.cpp Everywhere: Fix even more typos 2025-08-27 08:48:01 +02:00
TestEnumerate.cpp AK: Avoid copying the iterable container in AK::enumerate 2025-11-18 13:31:52 +01:00
TestFind.cpp AK: Add an AK::find helper to return a reference to the found value 2025-04-06 13:45:10 +02:00
TestFixedArray.cpp AK+Tests: Remove NoAllocationGuard 2025-11-07 11:27:51 +01:00
TestFixedPoint.cpp AK: Stop exporting AK::FixedPoint into the global namespace 2024-07-18 09:43:38 +01:00
TestFlyString.cpp AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
TestFormat.cpp AK+Tests: Add a formatter for Duration 2025-11-12 14:41:46 -06:00
TestFunction.cpp AK+Tests: Destroy moved-from CallableWrappers 2026-02-18 13:13:32 -06:00
TestFunctionObjC.mm Tests: Rename TestFunction -> TestFunctionObjC 2026-02-18 13:13:32 -06:00
TestGenericLexer.cpp AK: Templatize GenericLexer for UTF-16 strings 2025-08-13 09:56:13 -04:00
TestGenericShorthands.cpp AK: Add first_is_equal_to_all_of() 2025-03-18 21:55:06 +01:00
TestHashFunctions.cpp AK+Everywhere: Use MurmurHash3 for int/u64 hashing 2026-02-20 22:47:24 +01:00
TestHashMap.cpp AK: Hide tentative HashTable bucket from iterators across ensure() 2026-04-25 06:21:36 +02:00
TestHashTable.cpp AK: Use correct relocation for all HashTable entry types 2026-03-19 14:21:44 +01:00
TestHex.cpp Tests: Move AK tests to Tests/AK 2021-05-06 17:54:28 +02:00
TestIndexSequence.cpp AK: Make IndexSequence use size_t 2024-02-11 18:53:00 +01:00
TestInsertionSort.cpp Everywhere: Fix even more typos 2025-08-27 08:48:01 +02:00
TestIntegerMath.cpp AK: Add lowest common multiple and greatest common divisor functions 2025-04-23 09:13:45 +01:00
TestIntrusiveList.cpp AK: Fix crash during teardown of self-owning objects 2023-04-21 18:15:00 +02:00
TestIntrusiveRedBlackTree.cpp AK: Remove unused include from ByteString 2026-02-17 12:38:51 +00:00
TestIPv4Address.cpp Everywhere: Fix even more typos 2025-08-27 08:48:01 +02:00
TestIPv6Address.cpp Everywhere: Fix even more typos 2025-08-27 08:48:01 +02:00
TestJSON.cpp AK: Protect AK's JSON parser against invalid UTF-8 2026-04-28 22:54:47 +02:00
TestLEB128.cpp AK: Remove the fallible constructor from FixedMemoryStream 2023-02-08 17:44:32 +00:00
TestLexicalPath.cpp AK: Make LexicalPath::relative_path() fallible 2024-11-09 12:42:27 -07:00
TestMemory.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
TestMemoryStream.cpp AK: Add methods to BufferedStream to resize the user supplied buffer 2024-04-21 11:46:55 +02:00
TestNeverDestroyed.cpp Tests: Stop invoking UB in AK::NeverDestroyed's tests 2024-06-05 17:19:14 -06:00
TestNonnullOwnPtr.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TestNonnullRefPtr.cpp AK: Remove unused include from ByteString 2026-02-17 12:38:51 +00:00
TestNumberFormat.cpp AK: Remove unused include from NumberFormat 2026-02-17 12:38:51 +00:00
TestOptional.cpp AK: Add SentinelOptional 2026-03-20 12:03:36 +01:00
TestOptionParser.cpp AK: Update OptionParser::m_arg_index by substracting skipped args 2024-02-06 00:08:30 +01:00
TestOwnPtr.cpp AK: Fix crash during teardown of self-owning objects 2023-04-21 18:15:00 +02:00
TestQueue.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TestQuickSort.cpp Tests: Use AK_MAKE_DEFAULT_MOVABLE to avoid mistakes in default impls 2023-06-18 08:47:51 +01:00
TestRandom.cpp LibCrypto+AK: Merge LibCrypto/SecureRandom into AK/Random 2026-01-23 15:53:27 +01:00
TestRedBlackTree.cpp AK: Clear minimum when removing last node of RedBlackTree 2022-02-10 14:09:39 +00:00
TestRefPtr.cpp AK: Remove unused include from ByteString 2026-02-17 12:38:51 +00:00
TestSaturatingMath.cpp AK: Add SaturatingMath.h with branchless saturating arithmetic 2026-03-21 18:20:09 -05:00
TestSinglyLinkedList.cpp AK: Avoid UAF for consecutive SinglyLinkedList removals 2026-04-21 18:09:29 +02:00
TestSourceGenerator.cpp AK: Make SourceGenerator::fork() infallible 2023-08-22 13:08:24 +02:00
TestSourceLocation.cpp Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00
TestSpan.cpp AK: Add Span::ends_with() 2025-07-24 07:18:25 -04:00
TestStack.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
TestStdLibExtras.cpp AK: Make ceil_div() handle one argument being negative correctly 2024-04-27 07:09:08 +02:00
TestString.cpp AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
TestStringConversions.cpp AK+LibJS: Replace home-grown Ryu implementation with fmt's dragonbox 2026-02-23 18:30:40 +01:00
TestStringUtils.cpp AK: Remove public null state from StringView 2026-03-31 13:48:50 +01:00
TestStringView.cpp AK: Remove public null state from StringView 2026-03-31 13:48:50 +01:00
TestTime.cpp AK: Avoid overflow in Duration::to_time_units() with fraction near 1 2026-04-16 15:08:27 -05:00
TestTrie.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
TestTuple.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
TestTypedTransfer.cpp AK: Add TypedTransfer<T>::relocate() 2026-03-19 14:21:44 +01:00
TestTypeTraits.cpp AK: Add IsTriviallyRelocatable type trait 2026-03-19 14:21:44 +01:00
TestUFixedBigInt.cpp AK: Make BigIntBase more agnostic to non native word sizes 2024-03-25 14:26:29 -06:00
TestUtf8View.cpp AK: Allow indexing at length in Utf8View::byte_offset_of() 2025-07-22 09:10:32 -04:00
TestUtf16FlyString.cpp AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
TestUtf16String.cpp AK: Reset UTF-16 StringBuilder ascii flag on clear() 2026-05-09 09:49:02 -04:00
TestUtf16View.cpp AK: Fix Utf16View::operator<=> code-unit ordering on little-endian 2026-04-22 19:12:54 +02:00
TestVariant.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
TestVector.cpp AK: Make Vector::remove_all_matching O(n) instead of O(n²) 2026-01-29 10:10:12 +01:00
TestWeakPtr.cpp AK+Everywhere: Add and use weak_callback() 2026-02-26 08:03:50 -05:00