Commit Graph

77 Commits

Author SHA1 Message Date
Max Horn
94dfc8f638 Fixed a bug in Common::Array (including a unit test for it), and changed the way the internal storage growth over time.
The bug could result in incorrect results when using push_back (or insert_at)
to insert data from an array into itself if this insertions would cause the
internal array storage to grow. Also added a unit test for this bug.

Furthermore, if the internal storage needs to grow, it will now be resized to the next power of two,
instead of being increased by 32.

svn-id: r40907
2009-05-26 11:28:38 +00:00
Johannes Schickel
b3c6751b9b Strip trailing whitespaces in the whole code base.
svn-id: r40867
2009-05-24 15:17:42 +00:00
Max Horn
6be7da1c83 fix warning
svn-id: r40737
2009-05-20 17:51:37 +00:00
Johannes Schickel
67f1b6fae7 - Formatting
- Warning fixes
- Rename "test_read_v2_as_v1" to "test_read_v1_as_v2", to match behavior

svn-id: r40726
2009-05-19 12:39:53 +00:00
Max Horn
42cd218400 Improved Common::Serializer in several ways:
* Added support versioned serialization
* Added a convenience API for handling 'magic IDs' transparently
* Exposed the err()/clearErr() methods of the underlying streams
* Added a basic unit test for versioned loading (more should be added, in particular for saving)
* Removed the syncString(char *, uint16) alias for syncBytes(byte *buf, uint32 size)

svn-id: r40723
2009-05-19 11:23:13 +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
c24559877d Updated link to CxxTest homepage
svn-id: r40721
2009-05-19 11:22:20 +00:00
Max Horn
c379927d3a Added unit test for Common::Array::resize()
svn-id: r40261
2009-05-03 09:00:13 +00:00
Max Horn
7f20f3bb3e COMMON: Improved efficiency of some Common::List methods; added more unit tests and some doxygen comments for Common::List and Common::Array
svn-id: r40164
2009-04-27 14:25:16 +00:00
Max Horn
e579f91b5c COMMON: Made sure Common::List and Common::array each have all front/back/push_back/push_front, as have their STL counterparts
svn-id: r40163
2009-04-27 14:23:20 +00:00
Max Horn
b98f79fe12 COMMON: changed class StringList to a simple typedef; enhanced the Common::Array constructor which converts regular arrays to Array objects to be more flexible in its type (allows e.g. to assign an array of char* to a StringList
svn-id: r40077
2009-04-22 17:52:56 +00:00
Johannes Schickel
1453f1849b Fix warnings (patch for array.h was supplied via salty-horse on IRC).
svn-id: r40054
2009-04-21 19:14:11 +00:00
Max Horn
78cf5a4ccf COMMON & TESTS: Added new constructor to Array<T>, namely Array(const T* data, int n), which makes it possible to clone a regular array into a Common::Array; added a unit test for that and slightly extended existing Common::Array unit tests
svn-id: r40027
2009-04-20 19:27:11 +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
Max Horn
7db2648ba0 COMMON: Added unit test for Common::List::size(); made List::size() slightly more efficient; same for remove() and operator=
svn-id: r39921
2009-04-11 00:29:34 +00:00
Max Horn
a1dc2ecc63 Rewrote Common::Rect::contains(Rect) to do what the name suggests (check whether one rect contains the other). Previously, foo.contains(foo) would return false. Added/enabled unit tets for this
svn-id: r39911
2009-04-09 17:08:09 +00:00
Max Horn
da90b7e015 Patch #2735283: GSOC09: A few unit tests for Common::Rect
svn-id: r39907
2009-04-09 17:07:00 +00:00
Jordi Vilalta Prat
16cd161df5 Fix running the testsuite when building outside the source tree
svn-id: r39601
2009-03-21 22:11:16 +00:00
Johannes Schickel
00c6d2c91c Fix compiler warnings.
svn-id: r39280
2009-03-09 22:39:53 +00:00
Max Horn
77b40251ca Added some more Audio::Timestamp unit tests
svn-id: r39262
2009-03-09 16:15:25 +00:00
Max Horn
05b4370c21 Fix for bug #2664460: Various SeekableReadStream::seek() implementations (as well as our unit tests, ouch) handled SEEK_END incorrectly (using -offset instead of offset), contrary to what the docs said and what fseek does. Hopefully I found and fixed all affected parts, but still watch out for regressions
svn-id: r39135
2009-03-05 20:37:53 +00:00
Max Horn
673a21b249 Added Audio::Timestamp class, based on SCI's sfx_timestamp_t; also provide a unit test for it, based on the old (and very outdated) timetest.cpp. To be used by Audio::Mixer one day...
svn-id: r39112
2009-03-04 06:58:28 +00:00
Max Horn
53cd1361c5 Made Common::Stack return refs, thus ensuring that it matches exactly the behavior of FixedStack; added unit tests
svn-id: r35974
2009-01-21 02:23:09 +00:00
Willem Jan Palenstijn
eed76226d3 test re-adding elements to emptied hashmap
svn-id: r35829
2009-01-11 15:24:11 +00:00
Eugene Sandulenko
696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Max Horn
9d96d9d380 Fix sign warnings in unit tests
svn-id: r34580
2008-09-16 11:57:45 +00:00
Willem Jan Palenstijn
c8eeae8d4d Big patch changing semantics of ReadStream::eos():
eos() now only returns true _after_ trying to read past the end of the stream.

This has a large potential for regressions. Please test!

svn-id: r34549
2008-09-14 22:28:53 +00:00
Max Horn
6cb09e311a Added some unit tests for Stream::readLine_NEW, and clarified that readLine_NEW is essentially fgets in disguise
svn-id: r34384
2008-09-06 16:46:28 +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
Johannes Schickel
2db5747642 - Added tests for newly added Common::Queue
- Changed Common::Queue::front and Common::Queue::back to return references instead of values

svn-id: r34240
2008-09-01 16:52:09 +00:00
Johannes Schickel
c2f2269852 Fixed warnings.
svn-id: r34239
2008-09-01 15:39:48 +00:00
Max Horn
9eaa119f31 Some extra HashMap tests
svn-id: r34200
2008-08-28 09:03:43 +00:00
Johannes Schickel
342d0bd287 - Added Common::mem_fun_ref for object references instead of pointers.
- Added simple tests for a little bit functionallity from common/func.h

svn-id: r33470
2008-07-31 13:36:13 +00:00
Max Horn
aaa4d104f7 Added two new classes, BufferedReadStream & BufferedSeekableReadStream, as proposed on scummvm-devel
svn-id: r33419
2008-07-29 17:42:19 +00:00
Johannes Schickel
290f76a623 Added a reset method to SharedPtr, which allows NULLifying it.
svn-id: r33400
2008-07-29 09:16:53 +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
Willem Jan Palenstijn
90bf3de2d6 Decrement _nele when erasing an element from hashmap, and add a test-case for this bug.
svn-id: r32343
2008-05-28 18:32:05 +00:00
Johannes Schickel
311e9165ed Proper delete[] formatting (this time all occurences should've been changed...)
svn-id: r31929
2008-05-07 15:09:10 +00:00
Johannes Schickel
da9701d19b Implemented transparent List::iterator to List::const_iterator conversion and updated our tests accordingly.
svn-id: r31357
2008-04-02 02:15:00 +00:00
Johannes Schickel
a51c2657b6 Added checks for implicit SharedPtr casting functionallity.
svn-id: r31329
2008-03-30 13:13:51 +00:00
Johannes Schickel
06cf3d3c54 Add test for copying hashmaps.
svn-id: r31315
2008-03-30 02:39:21 +00:00
Johannes Schickel
3db24addcd - Added support for custom deletion operator (aka deleter) support for SharedPtr.
- Removed two failing comparison tests of SharedPtr in our test suite (those were not supported according to our documentation anyway)

svn-id: r31312
2008-03-30 01:26:51 +00:00
Max Horn
f93c076a7b Document SharedPtr bool conversion operator; added test cases for it; also added two test cases for the comparision operators, which currently fail
svn-id: r31299
2008-03-29 00:08:56 +00:00
Johannes Schickel
e29b4bb0cd Committed shared pointer implementation of patch #1895703 "COMMON: Managed List".
Unlike the patch on the tracker this commit includes documentation for SharedPtr.

svn-id: r31287
2008-03-28 06:03:59 +00:00