Commit Graph

210 Commits

Author SHA1 Message Date
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
f83bfc0bbf TEST: Tweak "make test" build rules to ignore -Wglobal-constructors
On my OS X machine, -Wglobal-constructors is always added by configure.
But the test runner makes heavy use of global constructors.
This change allows me to run "make test" even when using -Werror.

svn-id: r54083
2010-11-05 01:20:53 +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
Ori Avtalion
024d44f3e3 Remove semicolon
svn-id: r48647
2010-04-12 21:30:47 +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
fa2a1cd22d Add some additional tests for SubLoopingAudioStream and LoopingAudioStream. (Currently SubLoopingAudioStream tests fail for a reason unknown to me...)
svn-id: r48019
2010-02-09 21:52:08 +00:00
Johannes Schickel
d349be1fb8 Add unit test for SubLoopingAudioStream. (Currently they fail though :-/)
svn-id: r48017
2010-02-09 21:51:28 +00:00
Johannes Schickel
a4f46767d9 Add test cases for RawStream playing from a stream via a block list.
svn-id: r48014
2010-02-09 15:23:03 +00:00
Johannes Schickel
4e86741d9a Make the "seek after the end of the stream" test case a bit "harder".
svn-id: r48008
2010-02-08 21:25:10 +00:00
Johannes Schickel
cf1b03f694 Add test case for partial reads in LoopingAudioStream too.
svn-id: r47938
2010-02-06 18:25:57 +00:00
Johannes Schickel
75b2b13f7f Some slight extension for the LoopingAudioStream unit test(s).
svn-id: r47937
2010-02-06 18:20:33 +00:00
Johannes Schickel
e3d4d5e379 Add (currently failing :-/) unit tests for LoopingAudioStream.
svn-id: r47934
2010-02-06 16:41:53 +00:00
Johannes Schickel
4fca64d1b0 Move test AudioStream creation to a new file.
svn-id: r47933
2010-02-06 16:41:27 +00:00
Johannes Schickel
87534da624 Remove code duplication.
svn-id: r47863
2010-02-03 17:03:46 +00:00
Johannes Schickel
5030ba3596 Add tests for RawStream's seek implementation.
svn-id: r47862
2010-02-03 16:57:46 +00:00
Johannes Schickel
9da2b4eac2 Add tests for stereo mode of RawStream.
svn-id: r47861
2010-02-03 16:02:25 +00:00
Johannes Schickel
8fcaa28a7f Test various sample rates with RawStream's getLength implementation (just in case...).
svn-id: r47860
2010-02-03 16:02:04 +00:00
Johannes Schickel
2cb82808eb Add unit test for RawStream::getLength.
svn-id: r47858
2010-02-03 15:45:29 +00:00
Johannes Schickel
e9f831c1da Some additional tests of RawStream::readBuffer.
svn-id: r47857
2010-02-03 15:45:08 +00:00
Johannes Schickel
274f6e5033 Add test for rewind functionality of RawStream.
svn-id: r47856
2010-02-03 15:44:43 +00:00
Johannes Schickel
6b2e9be345 Add tests for unsigned sample data for RawStream.
svn-id: r47855
2010-02-03 15:25:06 +00:00
Johannes Schickel
a5e4741775 Less noisy output in case something goes wrong.
svn-id: r47854
2010-02-03 15:24:44 +00:00
Johannes Schickel
c0f5a5d2d9 Test both BE and LE 16bit samples.
svn-id: r47853
2010-02-03 15:24:24 +00:00
Johannes Schickel
ba5e2b3362 Cleanup.
svn-id: r47852
2010-02-03 15:24:03 +00:00
Johannes Schickel
baf6b53431 Add some (lame) first version of RawStream unit tests. Currently all it does it, checking, whether readBuffer works for 8bit and 16bit samples.
svn-id: r47849
2010-02-03 10:36:14 +00:00
Johannes Schickel
a7fb459277 Add some basic tests for Audio::convertTimeToStreamPos.
svn-id: r47804
2010-02-01 21:55:34 +00:00
Johannes Schickel
94e821f1eb Prepare test module build to allow for instantiating AudioStreams.
svn-id: r47803
2010-02-01 21:32:33 +00:00
Johannes Schickel
709bf1214c Strip trailing whitespaces/tabs in documentation files too.
svn-id: r47543
2010-01-25 01:53:32 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Johannes Schickel
8c28155848 Fix gcc warnings.
svn-id: r47535
2010-01-25 00:45:52 +00:00
Max Horn
590481b12d Improve support for negative Timestamps, and add + and - operators
svn-id: r47244
2010-01-11 10:17:55 +00:00
Max Horn
4a832ceb01 Fix Timestamp::addMsecs; some cleanup
svn-id: r47212
2010-01-09 22:36:32 +00:00
Max Horn
32ec5746be Add Timestamp::totalNumberOfFrames() method, clarify some comments
svn-id: r47120
2010-01-07 15:12:20 +00:00
Johannes Schickel
f32aeb01bf Add a constructor to Timestamp, which allows for specifying seconds + start frames directly.
svn-id: r47091
2010-01-06 20:24:56 +00:00
Max Horn
dd76e2bda0 Rename some Timestamp methods: getNumberOfFrames -> numberOfFrames and getFramerate -> framerate
svn-id: r47083
2010-01-06 15:56:04 +00:00
Johannes Schickel
e72707b04e - Add some functionallity to query the seconds and number of frames stored in a Timestamp.
- Add tests for these

svn-id: r47081
2010-01-06 15:33:54 +00:00
Max Horn
1c6ccf8000 Add more comparision operators to Timestamp
svn-id: r47071
2010-01-06 12:15:05 +00:00
Max Horn
5b635fd610 Change the way Timestamp stores its data.
Instead of storing milliseconds and frames (which causes rounding errors,
and causes ambiguity in how a given time is stored), we now do things
differently: We store a number of seconds, and frames. To make sure that
we can still handle milliseconds accurately, though, we change the
framerate to the least common multiple of the original framerate and
1000. So 60 becomes 6000, and 44100 becomes 441000. There are no visible
changes for client code, except for the increased accuracy.

svn-id: r47070
2010-01-06 12:09:14 +00:00
Johannes Schickel
664ace90e7 Add some test for operator== in Timestamp.
svn-id: r47053
2010-01-05 22:00:38 +00:00
Max Horn
4ae9412a3a Make some improvements for Audio::Timestamp.
* Add convertToFramerate() method
* Add framerate() method
* Add operator == and !=
* Improve frameDiff() to work for two timestamps with distinct framerates
* Improve Doxygen comments

svn-id: r46994
2010-01-04 22:48:28 +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
494a2ab94d TEST: Workaround for 'make test' when using -Werror
svn-id: r46131
2009-11-24 22:11:27 +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
Eugene Sandulenko
ea87405ae4 Patch #2840212: "Quiet make process"
svn-id: r43635
2009-08-22 11:03:00 +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
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
1c552779a0 Renamed Common::Serializer::syncMagic to matchBytes, and added version paarms to it (we migh want to add corresponding matchUint32LE etc. functions if needed)
svn-id: r40909
2009-05-26 11:31:45 +00:00
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