Signed-off-by: falkTX <falktx@falktx.com>develop
| @@ -699,7 +699,7 @@ public: | |||||
| char* strBuf = static_cast<char*>(std::malloc(strBufSize)); | char* strBuf = static_cast<char*>(std::malloc(strBufSize)); | ||||
| DISTRHO_SAFE_ASSERT_RETURN(strBuf != nullptr, String()); | DISTRHO_SAFE_ASSERT_RETURN(strBuf != nullptr, String()); | ||||
| strBuf[strBufSize] = '\0'; | |||||
| strBuf[strBufSize - 1] = '\0'; | |||||
| size_t strBufIndex = 0; | size_t strBufIndex = 0; | ||||
| const uchar* bytesToEncode = static_cast<const uchar*>(data); | const uchar* bytesToEncode = static_cast<const uchar*>(data); | ||||
| @@ -0,0 +1,36 @@ | |||||
| /* | |||||
| * DISTRHO Plugin Framework (DPF) | |||||
| * Copyright (C) 2012-2025 Filipe Coelho <falktx@falktx.com> | |||||
| * | |||||
| * Permission to use, copy, modify, and/or distribute this software for any purpose with | |||||
| * or without fee is hereby granted, provided that the above copyright notice and this | |||||
| * permission notice appear in all copies. | |||||
| * | |||||
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD | |||||
| * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN | |||||
| * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL | |||||
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER | |||||
| * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |||||
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |||||
| */ | |||||
| #define HEADLESS_TESTS | |||||
| #include "tests.hpp" | |||||
| #include "distrho/extra/Base64.hpp" | |||||
| #include "distrho/extra/String.hpp" | |||||
| // -------------------------------------------------------------------------------------------------------------------- | |||||
| int main() | |||||
| { | |||||
| using namespace DISTRHO_NAMESPACE; | |||||
| String test("This is a test"); | |||||
| std::vector<uint8_t> testblob(test.buffer(), test.buffer() + (test.length() + 1)); | |||||
| std::vector<uint8_t> blob = d_getChunkFromBase64String(String::asBase64(test.buffer(), test.length() + 1)); | |||||
| DISTRHO_ASSERT_EQUAL(blob, testblob, "encode + decode must match original data"); | |||||
| return 0; | |||||
| } | |||||
| // -------------------------------------------------------------------------------------------------------------------- | |||||
| @@ -24,7 +24,7 @@ endif | |||||
| # --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
| MANUAL_TESTS = | MANUAL_TESTS = | ||||
| UNIT_TESTS = Color Point | |||||
| UNIT_TESTS = Base64 Color Point | |||||
| ifeq ($(HAVE_CAIRO),true) | ifeq ($(HAVE_CAIRO),true) | ||||
| MANUAL_TESTS += Demo.cairo | MANUAL_TESTS += Demo.cairo | ||||
| @@ -1,6 +1,6 @@ | |||||
| /* | /* | ||||
| * DISTRHO Plugin Framework (DPF) | * DISTRHO Plugin Framework (DPF) | ||||
| * Copyright (C) 2012-2024 Filipe Coelho <falktx@falktx.com> | |||||
| * Copyright (C) 2012-2025 Filipe Coelho <falktx@falktx.com> | |||||
| * | * | ||||
| * Permission to use, copy, modify, and/or distribute this software for any purpose with | * Permission to use, copy, modify, and/or distribute this software for any purpose with | ||||
| * or without fee is hereby granted, provided that the above copyright notice and this | * or without fee is hereby granted, provided that the above copyright notice and this | ||||
| @@ -16,10 +16,6 @@ | |||||
| #pragma once | #pragma once | ||||
| #include "dgl/Application.hpp" | |||||
| #include "distrho/extra/Thread.hpp" | |||||
| #define DISTRHO_ASSERT_EQUAL(v1, v2, msg) \ | #define DISTRHO_ASSERT_EQUAL(v1, v2, msg) \ | ||||
| if (v1 != v2) { d_stderr2("Test condition failed: %s; file:%s line:%i", msg, __FILE__, __LINE__); return 1; } | if (v1 != v2) { d_stderr2("Test condition failed: %s; file:%s line:%i", msg, __FILE__, __LINE__); return 1; } | ||||
| @@ -29,6 +25,11 @@ | |||||
| #define DISTRHO_ASSERT_SAFE_EQUAL(v1, v2, msg) \ | #define DISTRHO_ASSERT_SAFE_EQUAL(v1, v2, msg) \ | ||||
| if (d_isNotEqual(v1, v2)) { d_stderr2("Test condition failed: %s; file:%s line:%i", msg, __FILE__, __LINE__); return 1; } | if (d_isNotEqual(v1, v2)) { d_stderr2("Test condition failed: %s; file:%s line:%i", msg, __FILE__, __LINE__); return 1; } | ||||
| #ifndef HEADLESS_TESTS | |||||
| #include "dgl/Application.hpp" | |||||
| #include "distrho/extra/Thread.hpp" | |||||
| START_NAMESPACE_DGL | START_NAMESPACE_DGL | ||||
| // -------------------------------------------------------------------------------------------------------------------- | // -------------------------------------------------------------------------------------------------------------------- | ||||
| @@ -59,3 +60,5 @@ private: | |||||
| // -------------------------------------------------------------------------------------------------------------------- | // -------------------------------------------------------------------------------------------------------------------- | ||||
| END_NAMESPACE_DGL | END_NAMESPACE_DGL | ||||
| #endif | |||||