Commit Graph
49 Commits
Author SHA1 Message Date
Sergio d136a5f54c COMMON: fix String::rfind for default value of pos (max value of size_t) 2022-11-26 23:13:42 +02:00
Cameron Cawley 3441c7230d COMMON: Fix handling escaped percents in Common::U32String::format 2022-11-20 14:23:30 +01:00
Cameron Cawley 29024cded7 COMMON: Fix handling negative numbers in Common::U32String::format 2022-11-20 14:23:30 +01:00
Eugene Sandulenko 5e7fe2dc57 JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Vladimir Menshakov 0a4154318c COMMON: implement %c formatter (used in hardware-input.cpp)
Fix invalid descriptor name for half-axis.
Add some tests for U32String::Format.
2020-09-12 11:56:17 +01:00
Vladimir Menshakov 8ddcbf8120 COMMON: Fix warnings about different signedness (uint32/char comparison), remove unused var
Add tests for both str/ustr comparison operators.
2020-09-02 20:35:43 +01:00
Jaromir Wysoglad 56397ae457 COMMON: add tests for Common::String
I added tests for firstChar, setChar, insertChar
2019-04-06 15:02:58 +03:00
sluicebox 85333d8050 COMMON: Allow '\#' to match '#' in matchString
matchString patterns couldn't be used to find files with the # character
as it was only treated as a digit wildcard. SCI expected that to work as
it looks for files that start with the # character.
2019-03-03 22:44:29 +02:00
Colin Snover b89b9095d6 TESTS: Remove zero-length string and associated -Wformat massage
This was being patched out downstream in Debian. A solution that
works for everybody is to just not use a zero-length string when
testing formatting with no conversion specifications.
2017-11-20 21:50:06 -06:00
Colin Snover dda0f77bcf COMMON: Add basic fixed-width word wrap to Common::String 2017-11-10 09:57:41 -06:00
Willem Jan Palenstijn c919c9996c TESTS: Fix warnings 2017-01-05 22:07:24 +01:00
Colin Snover 9d3893459f COMMON: Add strnlen for safer C string length reads
This API is intended for use in cases where C strings come
from untrusted sources like game files, where malformed data
missing the null terminator would cause strlen to read out of
bounds.
2017-01-05 22:07:24 +01:00
Eugene Sandulenko 355c4fa646 JANITORIAL: Remove more trailing spaces 2016-10-09 15:02:02 +02:00
Borja Lorente Escobar a19b50ddf2 COMMON: Add replace functions to Common and String.
COMMON: Add replacement to common/algorithm.h

COMMON: Intermediate commit to show doubts.

 COMMON: Basic String::replace() methods implemented.

COMMON: Fix typo in the algorithm.h documentation.

COMMON: Fix documentation of String::replace()

COMMON: Fix formatting issues in method signatures.

COMMON: Add assert and reformat loops in str and algorithm.

COMMON: Fix typo in comment.

COMMON: Fix style in string test cases.

COMMON: Add Doxygen documentation to algorithm and String.

COMMON: Add Doxygen documentation to algorithm and String.

COMMON: Add Doxygen documentation to algorithm.

COMMON: Fix style in algorithm comments.

COMMON: Add Doxygen comments to String.

COMMON: Add Doxygen comments to algorithm test function.

COMMON: Add String support for substring replace.

COMMON: Fix string replace to comply with STL

COMMON: Fix documentation on string replace

COMMON: Fix style in string replace

COMMON: Fix unwanted reference problem in String::replace().

COMMON: Fix indentation in comments for replace

COMMON: Fix indentation in replace

COMMON: Fix comments in String::replace to match implementation.

COMMON: Remove assert to allow for not-null-terminated character arrays

COMMON: Add new test for String::replace

COMMON: Fix broken comments on String::replace

COMMON: Fix sharing bug on ensureCapacity

COMMON: Remove superfluous call to makeUnique()
2016-05-16 22:01:21 +02:00
Johannes Schickel 06641f29a7 COMMON: Allow '#' to only match digits in matchString. 2016-01-26 16:35:30 +01:00
richiesams e1ff60da7a COMMON: Add erase method to String class 2013-06-20 15:40:25 -05:00
Max Horn 0a0258edcf COMMON: Let Common::normalizePath normalize '..' in paths
There are some unit tests to verify that this works correctly.
There is a small chance that this causes regressions in weird setups.
2011-06-03 17:33:07 +02:00
Max Horn 8e3aafd30d COMMON: Provide our own implementations for scumm_str(n)icmp
This takes up a tiny little bit of extra binary size, but gets
rid of some awful #ifdef hackery.
2011-05-23 19:12:25 +02:00
Max Horn e27b05ef35 COMMON: Rename String::printf() to String::format()
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.

The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.

svn-id: r54004
2010-11-01 16:02:28 +00:00
Max Horn b1b41da650 TEST: Use TS_ASSERT_EQUALS instead of TS_ASSERT + operator==
svn-id: r53121
2010-10-10 14:40:45 +00:00
Willem Jan Palenstijn 532663c742 COMMON: Fix edge case for wildcard in matchString
svn-id: r52618
2010-09-07 11:40:44 +00:00
Johannes Schickel 7b51537be2 Common: Fix bug in lastPathComponent.
Prior to this change lastPathComponent would not create a correct result,
when the input of lastPathComponent did not contain a single separator.

I also added a test case for this in our unit tests.

svn-id: r52123
2010-08-16 16:01:31 +00:00
Johannes Schickel ff3f0f5d65 Split test cases for internal and external storage.
svn-id: r49325
2010-05-30 13:42:04 +00:00
Johannes Schickel 0e9156c7c4 Add a (currently) failing test for reference logic in Common::String. (Taken from an example by fuzzie)
svn-id: r49322
2010-05-30 13:10:23 +00:00
Johannes Schickel d4e74e62a1 Typo.
svn-id: r48956
2010-05-05 17:54:34 +00:00
Johannes Schickel 388e4b65bf Add a custom implementation of OpenBSD's strlcat and strlcpy.
This includes both an implementation and some basic unit tests for
the above mentioned functions.

svn-id: r48953
2010-05-05 17:52:59 +00:00
Willem Jan Palenstijn 5ab01ded3d Add unit test for bug fixed by r44979
svn-id: r44980
2009-10-12 11:54:32 +00:00
Willem Jan Palenstijn 744112ceb0 Add Common::String::printf to format a string
svn-id: r42743
2009-07-25 10:25:57 +00:00
Max Horn a39048877a Added some new method variants to Common::String
svn-id: r41333
2009-06-07 13:04:03 +00:00
Johannes Schickel 0f8926982a Extend self asignment test a bit more (both using internal and allocated storage).
svn-id: r41083
2009-05-31 22:19:38 +00:00
Johannes Schickel b0f49a6211 Add unit tests for Common::String operators. These test cases will for example cover tests on String instances, which will be added to itself (foo += foo). NOTE: Those fail currently.
svn-id: r41082
2009-05-31 22:11:06 +00:00
Max Horn 2b32ba7cb3 Converted unit tests to use TS_ASSERT_EQUALS / TS_ASSERT_DIFFERS where possible; also made them comply a bit more to our code formatting guideline
svn-id: r40722
2009-05-19 11:22:49 +00:00
Max Horn faa9117949 TESTS: Code formatting; also changed some TS_ASSERT to TS_ASSERT_EQUALS
svn-id: r40026
2009-04-20 19:26:50 +00:00
Willem Jan Palenstijn b00f8dc2ed additional Common::String tests
svn-id: r34369
2008-09-05 20:53:30 +00:00
Max Horn 0dcb30e75c Optimized matchString for the common case where there is a trailing * (if that is the case, abort immediately instead of scanning the rest of the string)
svn-id: r34367
2008-09-05 20:29:03 +00:00
Max Horn 9bf7aa308e Moved matchString from util.* to str.*; added new String::matchString method; fixed matchString doxygen comment (it confused pattern & string); added unit tests for matchString
svn-id: r34364
2008-09-05 20:07:34 +00:00
Max Horn 155b8606c1 Added two new global funcs which ease proper handling of 'path' strings: Common::lastPathComponent() and Common::normalizePath()
svn-id: r34272
2008-09-02 11:32:38 +00:00
Max Horn 15c610a069 Added convenience method String::makeUnique(); simplified String::operator=(char c); extended String unit tests
svn-id: r33246
2008-07-23 16:33:53 +00:00
Max Horn d5e2c6d4bf Fix String::trim to work right for shared strings; augemented test cases to cover this
svn-id: r33234
2008-07-23 09:53:29 +00:00
Max Horn 705c92ddc3 Added String::trim() method
svn-id: r33203
2008-07-22 14:39:26 +00:00
Max Horn c625a6a647 Fixed potential issue in Common::String when asserting a substring of a string X back to X (memcpy -> memmove); also added some other sanity checks, and merged some duplicate code into a new method String::initWithCStr
svn-id: r33137
2008-07-20 16:42:56 +00:00
Nicola Mettifogo 258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn aecd100f93 Added Common::String::contains() method
svn-id: r26514
2007-04-15 18:27:10 +00:00
Max Horn a403a8e83b Added some String tests, to verify copy-on-write works correctly
svn-id: r24045
2006-09-30 18:58:09 +00:00
Max Horn 9f93e5bb81 Renamed various container isEmpty() methods to empty() to match STL conventions
svn-id: r21472
2006-03-28 09:42:54 +00:00
Eugene Sandulenko 6b4484472b Remove trailing whitespaces.
svn-id: r18604
2005-07-30 21:11:48 +00:00
Max Horn 8b1d7b9166 When including files from common/, explicitly use the common/ prefix
svn-id: r18444
2005-06-24 15:23:51 +00:00
Max Horn 490bba8ecb Add testcases for String::hasSuffix and hasPrefix
svn-id: r16745
2005-02-06 19:01:23 +00:00
Max Horn 1af37210a6 simple unit tests for List/Map/String classes
svn-id: r11886
2003-12-24 16:16:00 +00:00