Commit Graph

243 Commits

Author SHA1 Message Date
Tobia Tesan
4f7d92acb4 TEST: tests for common/huffman.h
A few tests for the Huffman decoder.

The encoding is the example from Wikipedia.
This could be improved by someone more knowledgeable by
generating one at runtime or using multiple encodings
which would each contain one edge case.
2013-07-10 13:17:41 +02:00
richiesams
e1ff60da7a COMMON: Add erase method to String class 2013-06-20 15:40:25 -05:00
Willem Jan Palenstijn
da8eeb9dbe TESTS: Add failing test for repeated seeks in BufferedSeekableReadStream 2013-01-26 19:25:41 +01:00
Bastien Bouclet
c5f368d115 TEST: Add missing include 2012-12-16 10:45:31 +01:00
Bastien Bouclet
0f432b9003 TEST: Add some tests for Common::BitStreamImpl 2012-12-16 10:29:58 +01:00
Johannes Schickel
6b6b7532ae TEST: Add two (simple) tests for MemoryWriteStream. 2012-10-09 23:06:35 +02:00
Johannes Schickel
a5f4ff36ff TEST: Add a test case for SafeSeekableSubReadStream::eos handling. 2012-03-11 01:23:57 +01:00
Johannes Schickel
22c5dadb41 TEST: Add a test case for MemoryReadStream::eos handling. 2012-03-11 01:22:39 +01:00
Johannes Schickel
da96f80016 TEST: Silence some signed/unsigned comparison warnings. 2012-02-22 20:25:26 +01:00
Tarek Soliman
a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Tarek Soliman
edc5249772 JANITORIAL: Fix template definition whitespace 2012-02-10 21:17:27 -06:00
Johannes Schickel
38164ba66a AUDIO: Simplify RawStream code.
This drops the (unused) ability to play based on a list of input blocks. This
was formely only used by the NDS specific VOC streaming code, which has been
removed in 9fa9f68789.
2011-11-06 14:19:17 +01:00
Johannes Schickel
a877ae2704 TEST: Extend Common::Array copy-constructor test a bit. 2011-10-09 03:30:32 +02:00
Littleboy
24579ceba9 TEST: Allow building the test runner with MinGW
It needs the same workaround as our dev tools (see bug #1800764)
2011-09-07 19:41:27 -04:00
Johannes Schickel
1e0b05ff99 TEST: Add a very tiny and simple unit test for intLog2. 2011-08-19 01:14:09 +02:00
Christoph Mallon
ab80b20a30 COMMON: Replace x + ARRAYSIZE(x) by the simpler ARRAYEND(x). 2011-08-07 15:19:08 +02:00
Christoph Mallon
23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Christoph Mallon
bf580e6e6b JANITORIAL: Add missing NL at EOF. 2011-08-07 13:53:33 +02:00
Max Horn
8db8a0b3fc TEST: Remove backends hack again 2011-06-08 14:58:53 +02:00
Max Horn
afb06b51cc BACKENDS: Unify AudioCD manager instantiation 2011-06-06 15:02:33 +02: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
88319a727a COMMON: Fix inserting an array into itself under certain conditions 2011-05-16 15:23:17 +02:00
Max Horn
a564a10e7f TEST: Explicitly disable exceptions and std lib usage 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
dhewg
2def212de7 ALL: s/PI/M_PI/
Tip of the day: git grep -w PI
2011-03-19 11:24:06 +01:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00: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
a35a45aa2e Patch #3149416: Support for linking with "as-needed"
svn-id: r55588
2011-01-28 10:27:50 +00:00
Max Horn
5d791cb090 TEST: Add/extend MemoryReadStream(Endian) test cases
svn-id: r54440
2010-11-23 22:27:00 +00:00
Johannes Schickel
199a1c7619 TEST: Make cxxtest work with Python 3.1 too.
svn-id: r54387
2010-11-19 18:19:34 +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
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