diff options
author | Alexis Hildebrandt <afh@surryhill.net> | 2023-12-12 05:54:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-12 05:54:46 +0000 |
commit | b9740e127196b2e23cd249ca671c7af08ab81321 (patch) | |
tree | 5fce23e4ccec104bcf516be22e1027c28bbe0e0e /lib/utfcpp/v4/tests/test_unchecked_iterator.h | |
parent | 5b05878484434d0ea2b2723f128b25d9cdb7a52e (diff) | |
parent | f017686dd4720bac373e8fcd5b779777a83162ec (diff) | |
download | ledger-b9740e127196b2e23cd249ca671c7af08ab81321.tar.gz ledger-b9740e127196b2e23cd249ca671c7af08ab81321.tar.bz2 ledger-b9740e127196b2e23cd249ca671c7af08ab81321.zip |
Merge pull request #2315 from afh/update-utfcpp
utfcpp: Update to 4.0.4
Diffstat (limited to 'lib/utfcpp/v4/tests/test_unchecked_iterator.h')
-rw-r--r-- | lib/utfcpp/v4/tests/test_unchecked_iterator.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/utfcpp/v4/tests/test_unchecked_iterator.h b/lib/utfcpp/v4/tests/test_unchecked_iterator.h new file mode 100644 index 00000000..4294232d --- /dev/null +++ b/lib/utfcpp/v4/tests/test_unchecked_iterator.h @@ -0,0 +1,36 @@ +#ifndef UTF8_FOR_CPP_TEST_UNCHECKED_ITERATOR_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 +#define UTF8_FOR_CPP_TEST_UNCHECKED_ITERATOR_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 + +#include "utf8/unchecked.h" + +using namespace utf8::unchecked; + + +TEST(UnCheckedIteratrTests, test_increment) +{ + const char* threechars = "\xf0\x90\x8d\x86\xe6\x97\xa5\xd1\x88"; + utf8::unchecked::iterator<const char*> it(threechars); + utf8::unchecked::iterator<const char*> it2 = it; + EXPECT_EQ (it2, it); + EXPECT_EQ (*it, 0x10346); + EXPECT_EQ (*(++it), 0x65e5); + EXPECT_EQ ((*it++), 0x65e5); + EXPECT_EQ (*it, 0x0448); + EXPECT_NE (it, it2); + utf8::unchecked::iterator<const char*> endit (threechars + 9); + EXPECT_EQ (++it, endit); +} + +TEST(UnCheckedIteratrTests, test_decrement) +{ + const char* threechars = "\xf0\x90\x8d\x86\xe6\x97\xa5\xd1\x88"; + utf8::unchecked::iterator<const char*> it(threechars+9); + EXPECT_EQ (*(--it), 0x0448); + EXPECT_EQ ((*it--), 0x0448); + EXPECT_EQ (*it, 0x65e5); + EXPECT_EQ (--it, utf8::unchecked::iterator<const char*>(threechars)); + EXPECT_EQ (*it, 0x10346); + +} + +#endif |