7e4a718ba3
Some checks failed
rpcrypto-build / build (Debug, hisiv500.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Debug, hisiv510.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Debug, host-afl.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Debug, host.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Debug, mips64el-linux-gnuabi64.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Debug, mipsel-openwrt-linux-musl.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Debug, mipsel-openwrt-linux.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Release, himix200.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Release, hisiv500.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Release, hisiv510.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Release, host-afl.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Release, host.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Release, mips64el-linux-gnuabi64.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Release, mipsel-openwrt-linux-musl.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Release, mipsel-openwrt-linux.toolchain.cmake) (push) Waiting to run
rpcrypto-build / build (Debug, himix200.toolchain.cmake) (push) Failing after 39s
85 lines
1.9 KiB
C++
85 lines
1.9 KiB
C++
/*
|
|
Tests of string utilities
|
|
|
|
Copyright (c) 2012 - 2016, Victor Zverovich
|
|
All rights reserved.
|
|
|
|
For the license information refer to format.h.
|
|
*/
|
|
|
|
#include "fmt/string.h"
|
|
#include "gtest/gtest.h"
|
|
|
|
using fmt::internal::StringBuffer;
|
|
|
|
TEST(StringBufferTest, Empty) {
|
|
StringBuffer<char> buffer;
|
|
EXPECT_EQ(0u, buffer.size());
|
|
EXPECT_EQ(0u, buffer.capacity());
|
|
std::string data;
|
|
// std::string may have initial capacity.
|
|
std::size_t capacity = data.capacity();
|
|
buffer.move_to(data);
|
|
EXPECT_EQ("", data);
|
|
EXPECT_EQ(capacity, data.capacity());
|
|
}
|
|
|
|
TEST(StringBufferTest, Reserve) {
|
|
StringBuffer<char> buffer;
|
|
std::size_t capacity = std::string().capacity() + 10;
|
|
buffer.reserve(capacity);
|
|
EXPECT_EQ(0u, buffer.size());
|
|
EXPECT_EQ(capacity, buffer.capacity());
|
|
std::string data;
|
|
buffer.move_to(data);
|
|
EXPECT_EQ("", data);
|
|
}
|
|
|
|
TEST(StringBufferTest, Resize) {
|
|
StringBuffer<char> buffer;
|
|
std::size_t size = std::string().capacity() + 10;
|
|
buffer.resize(size);
|
|
EXPECT_EQ(size, buffer.size());
|
|
EXPECT_EQ(size, buffer.capacity());
|
|
std::string data;
|
|
buffer.move_to(data);
|
|
EXPECT_EQ(size, data.size());
|
|
}
|
|
|
|
TEST(StringBufferTest, MoveTo) {
|
|
StringBuffer<char> buffer;
|
|
std::size_t size = std::string().capacity() + 10;
|
|
buffer.resize(size);
|
|
const char *p = &buffer[0];
|
|
std::string data;
|
|
buffer.move_to(data);
|
|
EXPECT_EQ(p, &data[0]);
|
|
EXPECT_EQ(0u, buffer.size());
|
|
EXPECT_EQ(0u, buffer.capacity());
|
|
}
|
|
|
|
TEST(StringWriterTest, MoveTo) {
|
|
fmt::StringWriter out;
|
|
out << "The answer is " << 42 << "\n";
|
|
std::string s;
|
|
out.move_to(s);
|
|
EXPECT_EQ("The answer is 42\n", s);
|
|
EXPECT_EQ(0u, out.size());
|
|
}
|
|
|
|
TEST(StringWriterTest, WString) {
|
|
fmt::WStringWriter out;
|
|
out << "The answer is " << 42 << "\n";
|
|
std::wstring s;
|
|
out.move_to(s);
|
|
EXPECT_EQ(L"The answer is 42\n", s);
|
|
}
|
|
|
|
TEST(StringTest, ToString) {
|
|
EXPECT_EQ("42", fmt::to_string(42));
|
|
}
|
|
|
|
TEST(StringTest, ToWString) {
|
|
EXPECT_EQ(L"42", fmt::to_wstring(42));
|
|
}
|