mirror of
https://github.com/fmtlib/fmt.git
synced 2025-03-31 16:21:07 +00:00
Move test_count_digits to format-impl-test and disable gtest warnings (#1147)
* This translation unit includes `gtest.h` in which using something like `strncpy` Suppress MSVC warnings from `gtest.h` included. Warning sample: fmt-master\test\gtest\gtest.h(2873,10): warning: 'strncpy' is deprecated: This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Wdeprecated-declarations] * Moving `test_count_digits` to format-impl-test then count_digits<4>(internal::uintptr_t) shall not be exported * retaining _CRT_SECURE_NO_WARNINGS always defined should be no harms.
This commit is contained in:
parent
ca7c1f89dc
commit
3fd134be03
@ -5,6 +5,10 @@
|
|||||||
//
|
//
|
||||||
// For the license information refer to format.h.
|
// For the license information refer to format.h.
|
||||||
|
|
||||||
|
#ifndef _CRT_SECURE_NO_WARNINGS
|
||||||
|
# define _CRT_SECURE_NO_WARNINGS
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "fmt/format.h"
|
#include "fmt/format.h"
|
||||||
#include "gtest-extra.h"
|
#include "gtest-extra.h"
|
||||||
|
|
||||||
|
@ -237,3 +237,19 @@ TEST(FormatTest, FormatErrorCode) {
|
|||||||
TEST(FormatTest, CountCodePoints) {
|
TEST(FormatTest, CountCodePoints) {
|
||||||
EXPECT_EQ(4, fmt::internal::count_code_points(fmt::u8string_view("ёжик")));
|
EXPECT_EQ(4, fmt::internal::count_code_points(fmt::u8string_view("ёжик")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Tests fmt::internal::count_digits for integer type Int.
|
||||||
|
template <typename Int> void test_count_digits() {
|
||||||
|
for (Int i = 0; i < 10; ++i) EXPECT_EQ(1u, fmt::internal::count_digits(i));
|
||||||
|
for (Int i = 1, n = 1, end = std::numeric_limits<Int>::max() / 10; n <= end;
|
||||||
|
++i) {
|
||||||
|
n *= 10;
|
||||||
|
EXPECT_EQ(i, fmt::internal::count_digits(n - 1));
|
||||||
|
EXPECT_EQ(i + 1, fmt::internal::count_digits(n));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(UtilTest, CountDigits) {
|
||||||
|
test_count_digits<uint32_t>();
|
||||||
|
test_count_digits<uint64_t>();
|
||||||
|
}
|
||||||
|
@ -140,22 +140,6 @@ template <typename Char> struct WriteChecker {
|
|||||||
EXPECT_PRED_FORMAT1(WriteChecker<wchar_t>(), value)
|
EXPECT_PRED_FORMAT1(WriteChecker<wchar_t>(), value)
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
// Tests fmt::internal::count_digits for integer type Int.
|
|
||||||
template <typename Int> void test_count_digits() {
|
|
||||||
for (Int i = 0; i < 10; ++i) EXPECT_EQ(1u, fmt::internal::count_digits(i));
|
|
||||||
for (Int i = 1, n = 1, end = std::numeric_limits<Int>::max() / 10; n <= end;
|
|
||||||
++i) {
|
|
||||||
n *= 10;
|
|
||||||
EXPECT_EQ(i, fmt::internal::count_digits(n - 1));
|
|
||||||
EXPECT_EQ(i + 1, fmt::internal::count_digits(n));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(UtilTest, CountDigits) {
|
|
||||||
test_count_digits<uint32_t>();
|
|
||||||
test_count_digits<uint64_t>();
|
|
||||||
}
|
|
||||||
|
|
||||||
struct uint32_pair {
|
struct uint32_pair {
|
||||||
uint32_t u[2];
|
uint32_t u[2];
|
||||||
};
|
};
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
// For the license information refer to format.h.
|
// For the license information refer to format.h.
|
||||||
|
|
||||||
// Disable bogus MSVC warnings.
|
// Disable bogus MSVC warnings.
|
||||||
#ifdef _MSC_VER
|
#ifndef _CRT_SECURE_NO_WARNINGS
|
||||||
# define _CRT_SECURE_NO_WARNINGS
|
# define _CRT_SECURE_NO_WARNINGS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user