set(AK_TEST_SOURCES TestAllOf.cpp TestAnyOf.cpp TestArray.cpp TestAtomic.cpp TestBadge.cpp TestBase64.cpp TestBinaryHeap.cpp TestBinarySearch.cpp TestBitCast.cpp TestBitmap.cpp TestBitStream.cpp TestBuiltinWrappers.cpp TestByteBuffer.cpp TestByteString.cpp TestCharacterTypes.cpp TestChecked.cpp TestCircularBuffer.cpp TestCircularQueue.cpp TestDemangle.cpp TestDisjointChunks.cpp TestDistinctNumeric.cpp TestDoublyLinkedList.cpp TestEndian.cpp TestEnumBits.cpp TestEnumerate.cpp TestFind.cpp TestFixedArray.cpp TestFixedPoint.cpp TestFlyString.cpp TestFormat.cpp TestGenericLexer.cpp TestGenericShorthands.cpp TestHashFunctions.cpp TestHashMap.cpp TestHashTable.cpp TestHex.cpp TestIPv4Address.cpp TestIPv6Address.cpp TestIndexSequence.cpp TestInsertionSort.cpp TestIntegerMath.cpp TestIntrusiveList.cpp TestIntrusiveRedBlackTree.cpp TestJSON.cpp TestLEB128.cpp TestMemory.cpp TestMemoryStream.cpp TestNeverDestroyed.cpp TestNonnullOwnPtr.cpp TestNonnullRefPtr.cpp TestNumberFormat.cpp TestOptional.cpp TestOptionParser.cpp TestOwnPtr.cpp TestQueue.cpp TestQuickSort.cpp TestRedBlackTree.cpp TestRefPtr.cpp TestSegmentedVector.cpp TestSIMD.cpp TestSinglyLinkedList.cpp TestSourceGenerator.cpp TestSourceLocation.cpp TestSpan.cpp TestStack.cpp TestStdLibExtras.cpp TestString.cpp TestStringConversions.cpp TestStringFloatingPointConversions.cpp TestStringUtils.cpp TestStringView.cpp TestTime.cpp TestTrie.cpp TestTuple.cpp TestTypeTraits.cpp TestTypedTransfer.cpp TestUFixedBigInt.cpp TestUtf16FlyString.cpp TestUtf16String.cpp TestUtf16View.cpp TestUtf8View.cpp TestVariant.cpp TestVector.cpp TestWeakPtr.cpp ) # FIXME: LexicalPathWindows has some parenting and path parts sizing inconsistencies with LexicalPath, so it deserves # it's own platform-specific tests to avoid if-def soup in the Unix-based tests. if(NOT WIN32) list(APPEND AK_TEST_SOURCES TestLexicalPath.cpp) else() list(APPEND AK_TEST_SOURCES TestDelayLoadWindows.cpp) endif() foreach(source IN LISTS AK_TEST_SOURCES) ladybird_test("${source}" AK) endforeach() if (WIN32) # FIXME: Windows on ARM target_link_libraries(TestUFixedBigInt PRIVATE clang_rt.builtins-x86_64.lib) endif() if (CXX_COMPILER_SUPPORTS_BLOCKS) ladybird_test(TestFunction.mm AK NAME TestFunction) target_link_libraries(TestFunction PRIVATE ${BLOCKS_REQUIRED_LIBRARIES}) endif() if (CXX_COMPILER_SUPPORTS_OBJC_ARC) ladybird_test(TestFunction.mm AK NAME TestFunctionArc) target_compile_options(TestFunctionArc PRIVATE -fobjc-arc) target_link_libraries(TestFunction PRIVATE ${BLOCKS_REQUIRED_LIBRARIES}) endif() target_link_libraries(TestString PRIVATE LibUnicode) target_link_libraries(TestUtf16String PRIVATE LibUnicode) if (ENABLE_SWIFT) # FIXME: Convert to use swift-testing after resolving https://github.com/LadybirdBrowser/ladybird/issues/1201 add_executable(TestAKBindings TestAKBindings.swift) target_link_libraries(TestAKBindings PRIVATE AK) target_compile_options(TestAKBindings PRIVATE -parse-as-library) add_test(NAME TestAKBindings COMMAND TestAKBindings) endif()