@@ -665,6 +665,52 @@ int main(void)
665665 VERIFY (ffStrbufMatchSeparatedS (& strbuf , ":abc" , ':' ) == true);
666666 }
667667
668+ {
669+ ffStrbufSetStatic (& strbuf , "abc" );
670+ ffStrbufSubstr (& strbuf , 0 , 1 ); // start, end
671+ VERIFY (ffStrbufEqualS (& strbuf , "a" ));
672+
673+ ffStrbufSetStatic (& strbuf , "abc" );
674+ ffStrbufSubstr (& strbuf , 1 , 1 );
675+ VERIFY (ffStrbufEqualS (& strbuf , "" ));
676+
677+ ffStrbufSetStatic (& strbuf , "abc" );
678+ ffStrbufSubstr (& strbuf , 2 , 1 );
679+ VERIFY (ffStrbufEqualS (& strbuf , "" ));
680+
681+ ffStrbufSetStatic (& strbuf , "abc" );
682+ ffStrbufSubstr (& strbuf , 2 , 3 );
683+ VERIFY (ffStrbufEqualS (& strbuf , "c" ));
684+
685+ ffStrbufSetStatic (& strbuf , "abc" );
686+ ffStrbufSubstr (& strbuf , 0 , 3 );
687+ VERIFY (ffStrbufEqualS (& strbuf , "abc" ));
688+ }
689+
690+ {
691+ ffStrbufSetS (& strbuf , "abc" );
692+ ffStrbufSubstr (& strbuf , 0 , 1 ); // start, end
693+ VERIFY (ffStrbufEqualS (& strbuf , "a" ));
694+
695+ ffStrbufSetS (& strbuf , "abc" );
696+ ffStrbufSubstr (& strbuf , 1 , 1 );
697+ VERIFY (ffStrbufEqualS (& strbuf , "" ));
698+
699+ ffStrbufSetS (& strbuf , "abc" );
700+ ffStrbufSubstr (& strbuf , 2 , 1 );
701+ VERIFY (ffStrbufEqualS (& strbuf , "" ));
702+
703+ ffStrbufSetS (& strbuf , "abc" );
704+ ffStrbufSubstr (& strbuf , 2 , 3 );
705+ VERIFY (ffStrbufEqualS (& strbuf , "c" ));
706+
707+ ffStrbufSetS (& strbuf , "abc" );
708+ ffStrbufSubstr (& strbuf , 0 , 3 );
709+ VERIFY (ffStrbufEqualS (& strbuf , "abc" ));
710+
711+ ffStrbufDestroy (& strbuf );
712+ }
713+
668714 //Success
669715 puts ("\e[32mAll tests passed!" FASTFETCH_TEXT_MODIFIER_RESET );
670716}
0 commit comments