MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / UNIT

Function UNIT

lib/asmjit/asmjit/core/string.cpp:594–663  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

592}
593
594UNIT(core_string) {
595 String s;
596
597 INFO("Testing string functionality");
598
599 EXPECT_FALSE(s.is_large_or_external());
600 EXPECT_FALSE(s.is_external());
601
602 EXPECT_EQ(s.assign('a'), Error::kOk);
603 EXPECT_EQ(s.size(), 1u);
604 EXPECT_EQ(s.capacity(), String::kSSOCapacity);
605 EXPECT_EQ(s.data()[0], 'a');
606 EXPECT_EQ(s.data()[1], '\0');
607 EXPECT_TRUE(s.equals("a"));
608 EXPECT_TRUE(s.equals("a", 1));
609
610 EXPECT_EQ(s.assign_chars('b', 4), Error::kOk);
611 EXPECT_EQ(s.size(), 4u);
612 EXPECT_EQ(s.capacity(), String::kSSOCapacity);
613 EXPECT_EQ(s.data()[0], 'b');
614 EXPECT_EQ(s.data()[1], 'b');
615 EXPECT_EQ(s.data()[2], 'b');
616 EXPECT_EQ(s.data()[3], 'b');
617 EXPECT_EQ(s.data()[4], '\0');
618 EXPECT_TRUE(s.equals("bbbb"));
619 EXPECT_TRUE(s.equals("bbbb", 4));
620
621 EXPECT_EQ(s.assign("abc"), Error::kOk);
622 EXPECT_EQ(s.size(), 3u);
623 EXPECT_EQ(s.capacity(), String::kSSOCapacity);
624 EXPECT_EQ(s.data()[0], 'a');
625 EXPECT_EQ(s.data()[1], 'b');
626 EXPECT_EQ(s.data()[2], 'c');
627 EXPECT_EQ(s.data()[3], '\0');
628 EXPECT_TRUE(s.equals("abc"));
629 EXPECT_TRUE(s.equals("abc", 3));
630
631 const char* large = "Large string that will not fit into SSO buffer";
632 EXPECT_EQ(s.assign(large), Error::kOk);
633 EXPECT_TRUE(s.is_large_or_external());
634 EXPECT_EQ(s.size(), strlen(large));
635 EXPECT_GT(s.capacity(), String::kSSOCapacity);
636 EXPECT_TRUE(s.equals(large));
637 EXPECT_TRUE(s.equals(large, strlen(large)));
638
639 const char* additional = " (additional content)";
640 EXPECT_TRUE(s.is_large_or_external());
641 EXPECT_EQ(s.append(additional), Error::kOk);
642 EXPECT_EQ(s.size(), strlen(large) + strlen(additional));
643
644 EXPECT_EQ(s.clear(), Error::kOk);
645 EXPECT_EQ(s.size(), 0u);
646 EXPECT_TRUE(s.is_empty());
647 EXPECT_EQ(s.data()[0], '\0');
648 EXPECT_TRUE(s.is_large_or_external()); // Clear should never release the memory.
649
650 EXPECT_EQ(s.append_uint(1234), Error::kOk);
651 EXPECT_TRUE(s.equals("1234"));

Callers

nothing calls this directly

Calls 15

test_string_growFunction · 0.85
is_large_or_externalMethod · 0.80
assign_charsMethod · 0.80
append_uintMethod · 0.80
assign_uintMethod · 0.80
append_charsMethod · 0.80
is_externalMethod · 0.45
assignMethod · 0.45
sizeMethod · 0.45
capacityMethod · 0.45
dataMethod · 0.45
equalsMethod · 0.45

Tested by

no test coverage detected