mirror of
https://github.com/ETLCPP/etl.git
synced 2026-11-10 23:29:47 +08:00
Added starts_with and ends_with to basic_string
This commit is contained in:
parent
a3b40b667a
commit
d5cd9567cd
@ -1497,7 +1497,7 @@ namespace etl
|
|||||||
}
|
}
|
||||||
|
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
/// Checks that the string is within the string
|
/// Checks that the string is within this string
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
bool contains(const etl::ibasic_string<T>& str) const
|
bool contains(const etl::ibasic_string<T>& str) const
|
||||||
{
|
{
|
||||||
@ -1505,7 +1505,7 @@ namespace etl
|
|||||||
}
|
}
|
||||||
|
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
/// Checks that the view is within the string
|
/// Checks that the view is within this string
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
template <typename TTraits>
|
template <typename TTraits>
|
||||||
bool contains(const etl::basic_string_view<T, TTraits>& view) const
|
bool contains(const etl::basic_string_view<T, TTraits>& view) const
|
||||||
@ -1514,7 +1514,7 @@ namespace etl
|
|||||||
}
|
}
|
||||||
|
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
/// Checks that text is within the string
|
/// Checks that text is within this string
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
bool contains(const_pointer s) const
|
bool contains(const_pointer s) const
|
||||||
{
|
{
|
||||||
@ -1522,13 +1522,98 @@ namespace etl
|
|||||||
}
|
}
|
||||||
|
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
/// Checks that character is within the string
|
/// Checks that character is within this string
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
bool contains(value_type c) const
|
bool contains(value_type c) const
|
||||||
{
|
{
|
||||||
return find(c) != npos;
|
return find(c) != npos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*********************************************************************
|
||||||
|
/// Checks that the string is the start of this string
|
||||||
|
//*********************************************************************
|
||||||
|
bool starts_with(const ibasic_string<T>& str) const
|
||||||
|
{
|
||||||
|
return compare(0, str.size(), str) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//*********************************************************************
|
||||||
|
/// Checks that the view is the start of this string
|
||||||
|
//*********************************************************************
|
||||||
|
template <typename TTraits>
|
||||||
|
bool starts_with(const basic_string_view<T, TTraits>& view) const
|
||||||
|
{
|
||||||
|
return compare(0, view.size(), view) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//*********************************************************************
|
||||||
|
/// Checks that the string is the start of this string
|
||||||
|
//*********************************************************************
|
||||||
|
bool starts_with(const_pointer s) const
|
||||||
|
{
|
||||||
|
size_t len = etl::strlen(s);
|
||||||
|
|
||||||
|
return compare(0, len, s, len) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//*********************************************************************
|
||||||
|
/// Checks that the character is the start of this string
|
||||||
|
//*********************************************************************
|
||||||
|
bool starts_with(value_type c) const
|
||||||
|
{
|
||||||
|
return !empty() && (front() == c);
|
||||||
|
}
|
||||||
|
|
||||||
|
//*********************************************************************
|
||||||
|
/// Checks that the string is the end of this string
|
||||||
|
//*********************************************************************
|
||||||
|
bool ends_with(const ibasic_string<T>& str) const
|
||||||
|
{
|
||||||
|
if (str.size() > size())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return compare(size() - str.size(), str.size(), str) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//*********************************************************************
|
||||||
|
/// Checks that the view is the end of this string
|
||||||
|
//*********************************************************************
|
||||||
|
template <typename TTraits>
|
||||||
|
bool ends_with(const basic_string_view<T, TTraits>& view) const
|
||||||
|
{
|
||||||
|
if (view.size() > size())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return compare(size() - view.size(), view.size(), view) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//*********************************************************************
|
||||||
|
/// Checks that the string is the end of this string
|
||||||
|
//*********************************************************************
|
||||||
|
bool ends_with(const_pointer s) const
|
||||||
|
{
|
||||||
|
size_t len = etl::strlen(s);
|
||||||
|
|
||||||
|
if (len > size())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return compare(size() - len, len, s, len) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//*********************************************************************
|
||||||
|
/// Checks that the character is the end of this string
|
||||||
|
//*********************************************************************
|
||||||
|
bool ends_with(value_type c) const
|
||||||
|
{
|
||||||
|
return !empty() && (back() == c);
|
||||||
|
}
|
||||||
|
|
||||||
//*********************************************************************
|
//*********************************************************************
|
||||||
/// Replace 'length' characters from 'position' with 'str'.
|
/// Replace 'length' characters from 'position' with 'str'.
|
||||||
///\param position The position to start from.
|
///\param position The position to start from.
|
||||||
|
|||||||
@ -3644,6 +3644,90 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text start(STR("A haystack"));
|
||||||
|
Text not_start(STR("a needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text end(STR("else"));
|
||||||
|
Text not_end(STR("needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3947,6 +3947,104 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text start(STR("A haystack"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_start(STR("a needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text end(STR("else"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_end(STR("needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3658,6 +3658,90 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text start(STR("A haystack"));
|
||||||
|
Text not_start(STR("a needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text end(STR("else"));
|
||||||
|
Text not_end(STR("needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3961,6 +3961,104 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text start(STR("A haystack"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_start(STR("a needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text end(STR("else"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_end(STR("needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3658,6 +3658,90 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text start(STR("A haystack"));
|
||||||
|
Text not_start(STR("a needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text end(STR("else"));
|
||||||
|
Text not_end(STR("needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3961,6 +3961,104 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text start(STR("A haystack"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_start(STR("a needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text end(STR("else"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_end(STR("needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3661,6 +3661,90 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text start(STR("A haystack"));
|
||||||
|
Text not_start(STR("a needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text end(STR("else"));
|
||||||
|
Text not_end(STR("needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3933,6 +3933,104 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text start(STR("A haystack"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_start(STR("a needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text end(STR("else"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_end(STR("needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_find_char_pointer_n)
|
TEST_FIXTURE(SetupFixture, test_find_char_pointer_n)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3659,6 +3659,90 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text start(STR("A haystack"));
|
||||||
|
Text not_start(STR("a needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
Text end(STR("else"));
|
||||||
|
Text not_end(STR("needle"));
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextL haystack(STR("A haystack with a needle and nothing else"));
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3964,6 +3964,104 @@ namespace
|
|||||||
CHECK_FALSE(haystack.contains(STR('p')));
|
CHECK_FALSE(haystack.contains(STR('p')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text start(STR("A haystack"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_start(STR("a needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(not_start));
|
||||||
|
CHECK_FALSE(haystack.starts_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(View(STR("A haystack"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("a needle"))));
|
||||||
|
CHECK_FALSE(haystack.starts_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(STR("A haystack")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("a needle")));
|
||||||
|
CHECK_FALSE(haystack.starts_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_starts_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.starts_with(haystack[0]));
|
||||||
|
CHECK_FALSE(haystack.starts_with(haystack[1]));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_string)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
TextBuffer buffer2{0};
|
||||||
|
TextBuffer buffer3{0};
|
||||||
|
TextBuffer buffer4{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
Text end(STR("else"), buffer2.data(), buffer2.size());
|
||||||
|
Text not_end(STR("needle"), buffer3.data(), buffer3.size());
|
||||||
|
Text excess(STR("Really gigantic text that's really really big"), buffer4.data(), buffer4.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(not_end));
|
||||||
|
CHECK_FALSE(haystack.ends_with(excess));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_view)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(View(STR("else"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("needle"))));
|
||||||
|
CHECK_FALSE(haystack.ends_with(View(STR("Really gigantic text that's really really big"))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_pointer)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(STR("else")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("needle")));
|
||||||
|
CHECK_FALSE(haystack.ends_with(STR("Really gigantic text that's really really big")));
|
||||||
|
}
|
||||||
|
|
||||||
|
//*************************************************************************
|
||||||
|
TEST_FIXTURE(SetupFixture, test_ends_with_char)
|
||||||
|
{
|
||||||
|
TextBufferL buffer1{0};
|
||||||
|
Text haystack(STR("A haystack with a needle and nothing else"), buffer1.data(), buffer1.size());
|
||||||
|
|
||||||
|
CHECK_TRUE(haystack.ends_with(haystack[haystack.size() - 1]));
|
||||||
|
CHECK_FALSE(haystack.ends_with(haystack[haystack.size() - 2]));
|
||||||
|
}
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
TEST_FIXTURE(SetupFixture, test_rfind_string)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user