Commit Graph

117 Commits

Author SHA1 Message Date
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
88319a727a COMMON: Fix inserting an array into itself under certain conditions 2011-05-16 15:23:17 +02:00
Max Horn
65fc72e30a COMMON: Add some testcases for common/endian.h 2011-04-12 17:23:32 +02:00
Max Horn
97bfd60e61 COMMON: Reduce overflow risk in Common::Rational += and -= operators
svn-id: r55839
2011-02-09 00:12:02 +00:00
Johannes Schickel
867c0d9645 COMMON: Add an erase method which takes an iterator to HashMap.
Currently there is no iterator returned from this method, to have some
similarity to associative containers of the STL.

I also "added" one unit test for this method, which is basically just
a copy of the HashMap::erase(const Key &) test with the required adaptions.

svn-id: r55661
2011-01-30 17:28:35 +00:00
Max Horn
5d791cb090 TEST: Add/extend MemoryReadStream(Endian) test cases
svn-id: r54440
2010-11-23 22:27:00 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn
152e52d015 COMMON: Make implementation of Buffered*Stream classes internal
svn-id: r54326
2010-11-18 17:02:51 +00:00
Max Horn
4d3a07b494 COMMON: Rename and tweak MD5 functions
* names now comply to our naming conventions
* the function computeStreamMD5AsString which computes the MD5
  as a hex string now returns it as a Common::String
* add doxygen comments

svn-id: r54121
2010-11-07 17:16:59 +00: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
f98536eef5 SCI: Allow multiple word groups in parser
In SCI01 and up, each typed word may be interpreted as multiple
class,group pairs. This patch adds support to the vocabulary and
parser. It uses the matcher support added in r52985.

This fixes parser issues in German LSL3, but needs testing.

svn-id: r52989
2010-10-03 10:49:42 +00:00
Max Horn
6bc9340df5 COMMON: Add unit tests for recently fixed Common::Rational bugs
Specifically, the bugs in operators - and / for mixed Rational/int args,
fixed in rev #52675, are tested for.

svn-id: r52680
2010-09-12 07:24:57 +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
Willem Jan Palenstijn
0e80aa7088 TESTS: Add more Rational (in)equality tests
This tests for the bug fixed by r52535, among other things.

svn-id: r52617
2010-09-07 09:19:25 +00:00
Willem Jan Palenstijn
8cd0cfe5eb COMMON: Add test for BufferedReadStream's eos
This test is currently failing.

svn-id: r52382
2010-08-25 11:46:50 +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
e5e94d4511 Strip trailing whitespaces in our common code base.
svn-id: r51094
2010-07-21 18:17:51 +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
Max Horn
c56a481f88 Use TS_ASSERT_EQUALS in test cases
svn-id: r49065
2010-05-17 22:08:19 +00:00
Max Horn
00cd966f3d Some tweaks and fixes for Common::Rational
* Fix Common::gcd to work with negative input
* This fixes a bug in Common::Rational's multiplication code
* Add some more basic unit tests (including one which checks for
  the now fixed multiplication bug)
* cleanup

svn-id: r49064
2010-05-17 22:07:58 +00:00
Matthew Hoops
ea84abf588 Add tests for Common::Rational from patch #2963496 (VideoDecoder Rewrite), also courtesy of DrMcCoy who wrote the main Common::Rational class too
svn-id: r49062
2010-05-17 20:57:36 +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
Max Horn
726500a2f3 Slightly tweak Common::StringTokenizer tests, cleanup
svn-id: r48614
2010-04-10 23:13:18 +00:00
Max Horn
fcee4f2ad7 Part of patch #2982224: "GSoC: Added unit test and unified error message display"
svn-id: r48613
2010-04-10 23:12:22 +00:00
Max Horn
dd7891cdad Add simple testcase for ScopedPtr and SharedPtr
The new test verifies that a given object is indeed deleted after
the smart pointer leaves scope.

svn-id: r48358
2010-03-22 20:26:57 +00:00
Max Horn
c934642bdb COMMON: Move typedef StringList from str.h to new header str-array.h
This removes the dependency on array.h from str.h.
Also, begun migration from the confusing type name "StringList" to
the more appropriate StringArray.

svn-id: r48282
2010-03-18 15:09:24 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Max Horn
d083e02215 Rename Common::Stream::readLine_NEW to readLine
svn-id: r46779
2009-12-30 23:00:55 +00:00
Vladimir Menshakov
3936861b7c allowed list to be sorted with default comparator
svn-id: r46644
2009-12-27 14:13:39 +00:00
Johannes Schickel
3c99391b49 Add some tests for checkSort just in case... :-)
svn-id: r46622
2009-12-27 11:12:26 +00:00
Johannes Schickel
11a835b6ce Typo.
svn-id: r46621
2009-12-27 11:12:05 +00:00
Johannes Schickel
cbeb001189 Do not use TS_ASSERT_EQUALS in checkSort, but rather let return checkSort an
boolean, which indicates whether the sequence is sorted by the given predicate.
This allows for easier checking which order related tests failed.

svn-id: r46620
2009-12-27 11:06:05 +00:00
Johannes Schickel
1cd917f674 More cleanup.
svn-id: r46619
2009-12-27 11:05:43 +00:00
Johannes Schickel
7f8beedda7 Use some pseudo random numbers in test_container_sort.
svn-id: r46618
2009-12-27 11:05:22 +00:00
Johannes Schickel
835c6c0d63 Cleanup.
svn-id: r46617
2009-12-27 10:47:34 +00:00
Vladimir Menshakov
18d4bbdccc fixed typo
svn-id: r46616
2009-12-27 10:05:37 +00:00
Vladimir Menshakov
60b3365686 added tests for sort() functions
svn-id: r46615
2009-12-27 09:54:11 +00:00
Max Horn
6b8dd7ab7a COMMON: Remove various variants of the md5_file / md5_file_string funcs; turned the (disabled) MD5 test code into a working unit test
svn-id: r46108
2009-11-23 22:30:22 +00:00
Max Horn
4d43c8a121 Added operator== and != to Common::Array
svn-id: r45247
2009-10-19 17:46:50 +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
46511f3c63 Add basic test for HashMap::iterator
svn-id: r44259
2009-09-22 12:49:32 +00:00
Max Horn
ae16d496b9 COMMON: HashMap::getVal now allows specifying a default value.
A new variant of HashMap::getVal with a second 'default value' parameter
has been added. This helps avoid many contains() + getVal() combos
(which incur double lookup penalty), and is much lighter than using
find() (which has to create an iterator).

svn-id: r43983
2009-09-06 12:59:07 +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
Johannes Schickel
91d62c0a61 Changed some lines to tabs instead of whitespaces for identation.
svn-id: r41401
2009-06-09 15:34:02 +00:00
Willem Jan Palenstijn
fcc0b69c07 Add (failing) hashmap test case for collision handling
svn-id: r41400
2009-06-09 15:26:09 +00:00
Max Horn
a39048877a Added some new method variants to Common::String
svn-id: r41333
2009-06-07 13:04:03 +00:00