35 Commits

Author SHA1 Message Date
Alexander Grund
e540a63c0b Enable char8_t strings where available, remove Clang condition
The issue was caused by using an incompatible libstdc++.
For Clang 13 & 14 libstdc++ 11 works.
2025-01-10 13:33:10 +01:00
Alexander Grund
e8f9544352 Replace some TEST_REQUIRE by if TEST 2025-01-10 13:33:08 +01:00
Alexander Grund
96c4c141ce
Use nullptr instead of 0 2023-10-13 09:30:34 +02:00
Alexander Grund
324a66752b Use dedicated macro to check availability of std::basic_string<char8_t>
Allow to disable for non-conforming compilers/stdlibs
2023-09-13 09:20:05 +02:00
Alexander Grund
efed993fae Check for availability of std::string<char8_t> 2023-09-12 13:18:28 +02:00
Alexander Grund
0faa3c10cc Add implementations for char8_t where available
Allows to e.g. convert `std::u8string`s, translate them and run boundary
analysis.
Formatting isn't possible due to lack of facets
(more specifically: their IDs) in the standard libraries
2023-09-12 10:07:45 +02:00
Alexander Grund
aed03c1c83 Refactor test_boundary
Split into functions reusing code and ensure 100% code coverage.
2023-06-27 13:22:31 +02:00
Alexander Grund
2bd191cef5 Workaround false positives in Clang Wzero-as-null-pointer-constant
Clang 10 & 11 on CI trigger the warning in C++20 mode for e.g. `l < r` with both being
strings.
Similar for `sl/sr` in `TEST_EQ((sl <= sr), (val <= 0));`
2023-06-26 12:37:56 +02:00
Alexander Grund
9b1813e757 Remove superflous braces
Make the code a bit shorter vertically, enforced formating ensures
correct indentation which provides enough readability
2023-05-16 12:04:59 +02:00
Alexander Grund
0a68c52b7f Modernize using nullptr 2023-05-07 19:01:45 +02:00
Alexander Grund
b1f4198701
Modernize code with range-based for loops
Also find related readability improvements.
2023-04-16 13:13:48 +02:00
Alexander Grund
a48437862b Improve error for missing segmentation support 2023-03-05 15:42:41 +01:00
Alexander Grund
3609eca8b2 Make use of enhanced test macros
Use the TEST-macros that print the values on mismatch to aid debugging
2023-01-10 14:45:07 +01:00
Alexander Grund
56668483a1 Reduce noise of docstrings 2022-10-25 17:56:27 +02:00
Alexander Grund
907e62517f Always compile all test cases
Move the skip condition into `test_main` to avoid missing compile failures due to wrong/missing includes in the headers and to improve formatting due to the removed indentation level of the PP macros
2022-10-10 14:25:58 +02:00
Alexander Grund
fa4afd7a5d Switch to consistent west-const
Especially for `const char*` which seems to be more common than `char const*`
2022-10-10 14:25:58 +02:00
Alexander Grund
7784f46243 Format sources
Use clang-format-14 to format source code consistently.
Closes #98
2022-10-10 14:25:58 +02:00
Alexander Grund
06ccb9f951 Disable formatting for manually aligned lines 2022-10-10 14:25:58 +02:00
Alexander Grund
93eceaa4bc Fix test_boundary for ICU 70+
ICU 70+ doesn't split multiple whitespaces into separate "words" using the WordBreakIterator
2022-10-02 13:45:46 +02:00
Alexander Grund
bb7af50e18 Fix test_boundary for ICU 62+
ICU 62+ returns only a "number" classification for a word ending in a number (like "Windows7") where previous versions returned "word&number"

Also refactor the test a bit to make error analysis easier
2022-10-02 13:45:46 +02:00
Alexander Grund
08ed15e5e0
Fix Japanese locale name
The correct name is `ja_JP.SJIS` not `ja_JP.Shift-JIS`
2022-09-16 23:28:16 +02:00
Alexander Grund
5a535285cd
FORMATTING: Reduce amount of whitespace 2022-09-14 19:37:58 +02:00
Alexander Grund
fadb2190ce
Move test headers to subfolder
Gets rid of the `test_` prefix in the filenames and avoids confusing those with the actual tests especially by renaming the test framework file from `test_locale.hpp` to `unit_test.hpp`
2022-09-13 12:50:23 +02:00
Alexander Grund
707f801c55
Remive vim markers
To be replaced by clang-format in the future.
2022-07-12 18:35:42 +02:00
Alexander Grund
595934f25e
Update license headers
Use the more concise format omitting the reference to the license file
and refer to the URL only.
2022-07-12 18:35:41 +02:00
Alexander Grund
192807a27e
Fix various MSVC warnings
Mostly constant conditions and narrowing casts
2022-07-01 17:13:52 +02:00
Alexander Grund
aa30bd33aa Refactor test framework
Use a common `main` function calling into custom `test_main` functions and
move all common code into the former.
Also introduce an RAII class for a `locale_t` to avoid leaks and reduce
the code further.
Add some LCOV annotations for lines not expected to be reached.
2022-06-30 15:08:08 +02:00
Alexander Grund
8c7338cd0d Use \n instead of std::endl where appropriate
We usually don't need the flush so use \n at end of strings which
greatly shortens the code.
2022-06-30 15:08:08 +02:00
Alexander Grund
00c8e07689 Remove using std-namespace and reformat
Removes the `using namespace std` to easier differentiate between
Boost.Locale and Std stuff.
Add spaces around shift operators.
2022-06-30 15:08:08 +02:00
Alexander Grund
d1fc12426f Remove trailing spaces 2022-06-04 11:50:39 +02:00
Alexander Grund
f3fa220608
Fix includes and unify include style
For consistency the following rules are used:
- public includes (include folder) either include any <boost/locale/*>
  first. At least <boost/locale/config.hpp>
- The first include in a cpp file is the corresponding header if any
- Then <boost/locale/*>, <boost/*>, <*>, "*" in this order
- Warning suppression pragmas come last where possible
- Use the C++ headers where available (i.e. <cstring> not <string.h>)
2022-05-29 22:20:10 +02:00
Artyom Beilis
ff3fe57f08 Removed deprecated BOOST_HAS_CHAR16/32_T macro and replaced with
BOOST_LOCALE_ENABLE_CHAR16_T/BOOST_LOCALE_ENABLE_CHAR32_T
2015-10-18 18:36:39 +03:00
Artyom Beilis
6fac3c7883 Fix test crash and test in general 2015-09-30 17:48:35 +03:00
Artyom Beilis
48ff4519b8 - Updates according to library requirements
- cleanup of inspect warnings
  - various requiremets like libraries.htm and maintainers.txt


[SVN r73786]
2011-08-15 19:04:34 +00:00
Artyom Beilis
4c30e01d23 First Version of Boost.Locale integrated into SVN trunk
[SVN r73017]
2011-07-12 13:57:36 +00:00