Commit Graph

521 Commits

Author SHA1 Message Date
Ted John 9d617958cf Return date and park by reference from game state 2018-05-30 13:12:19 +01:00
Michał Janiszewski afdcd35fb9 Fix MultiLaunch test. 2018-05-30 11:53:32 +02:00
Ted John 6af0cb2b88 Fix import of S4 and S6 2018-05-29 18:39:12 +01:00
Aaron van Geffen b836ad050d Rewrite CodePageFromUTF8 as CodePageFromUnicode. 2018-05-22 19:51:34 +02:00
Ted John 71a2cb46d2 Fix ToUpper tests on Windows
LCMapStringEx does not unfold ligatures if there is no uppercase equivalent.
2018-05-22 17:37:07 +02:00
Aaron van Geffen bf1fd997d0 Do not require ICU on MinGW and MSVC targets. 2018-05-22 17:37:07 +02:00
Aaron van Geffen 4c67c0eaca Split ToUpper tests into more granular subtests. 2018-05-22 17:37:07 +02:00
Fusxfaranto a91dd6a356 Implement ICU support for uppercasing, with tests. 2018-05-22 17:37:07 +02:00
Aaron van Geffen ee8bf9bd4a Use ICU for converting strings to UTF-8 instead of our own tables.
Co-authored-by: Fusxfaranto <fusxfaranto@gmail.com>
2018-05-22 17:37:07 +02:00
Ted John 44764874a3 Add test for ImageImporter 2018-05-13 01:11:56 +01:00
Ted John ad6ebd646c Remove work around in TileElement test fixture 2018-05-11 20:39:00 +01:00
Michał Janiszewski 090c444353 Destroy context in TileElementWantsFootpathConnection::TearDownTestCase
Not destroying the context might upset some compilers due to the order
of destruction of variables the context might still require.
2018-05-11 20:37:48 +01:00
Ted John 7dc170ef85 Use shared_ptr for long-life objects
Use unique_ptr and shared_ptr for IContext, IPlatformEnvironment, IUiContext, and IAudioContext.
2018-05-11 20:37:48 +01:00
Hielke Morsink 8d10bfb5a1 Add namespace closing comments 2018-05-04 22:54:43 +02:00
Ted John 6d76d76f98 Protect against bad RCT2 strings 2018-04-19 22:36:14 +01:00
Ted John a4ee512378 Fix test data in Localisation tests 2018-04-18 13:16:20 +02:00
Ted John 1226402d6e Enable localisation tests for cmake 2018-04-18 13:16:20 +02:00
Ted John e7fb20c283 Add tests for rct2 <-> utf8 conversions 2018-04-18 13:16:20 +02:00
Ted John 100b9cbba2 Add tests for String::Convert 2018-04-18 13:16:20 +02:00
Michał Janiszewski 4d7d7500a1 Fix CMake for test_tile_elements 2018-04-17 20:43:49 +02:00
Hielke Morsink f661d48d90 Add tests for tile_element_wants_path_connection_towards 2018-04-17 20:43:49 +02:00
Michał Janiszewski 22c755f820 Fix tests on travis 2018-04-12 22:06:42 +02:00
Ted John 58306e8055 Set tests output directory to bin
This is the easiest way to allow the tests to use the OpenRCT2 data for msbuild.
2018-04-10 18:00:02 +01:00
Ted John 9a10de7442 Enable integration tests on CI 2018-04-10 13:28:26 +01:00
Ted John fe3c136083 Set no graphics for integration tests 2018-04-10 13:19:48 +01:00
Michał Janiszewski 764520076f
Reduce header inclusion
* Update includes in PlatformEnvironment.cpp

* Update includes in ParkImporter.h

* Update includes of OpenRCT2.h

* Update includes in Intro.h

* Remove unused include from Input.cpp

* Update includes of Imaging.h

* Update includes in Game.h

* Update includes in Editor.h

* Update includes of Context.cpp

* Update includes in Cheats.cpp, CmdlineSprite.cpp

* Update includes of some source files

* Update includes in some cpp files

* Update includes in some cpp files

* Update includes in TextureCache.h

* Fix tests

* Update includes in Font.cpp

* Update includes in LightFX files

* Update some includes

* Fix GCC builds

* Update some includes

* Update some includes

* Update includes in FontsFamilies.*

* Update includes of Console.h

* Improve includes in Window.h

* Improve headers in Viewport.h/Window.h

* Fix MSVC build

* Fix network-less builds

* Reduce inclusion of Map.h
2018-03-13 13:14:02 +01:00
Michael Steenbeek 755add6c9a
Compile localisation folder as C++ 2018-01-06 18:32:25 +01:00
Aaron van Geffen d768a467b7 Implement std::string variant of TrimStart; add tests.
This also makes String::TrimStart handle all-whitespace strings.
2017-12-25 00:30:21 +01:00
Aaron van Geffen 4bc2ad18c4 Trim ideographic spaces as well. 2017-12-25 00:30:21 +01:00
Aaron van Geffen 6c26009f19 Fix #6097: String::Trim wasn't taking multibyte chars into account.
Extends StringTest with multibyte tests.
NB: ストリング is a katakana transcription of 'string'.
2017-12-25 00:30:21 +01:00
Aaron van Geffen 02abdb3709 Change failing test to expect nullptr rather than "". (#6832) 2017-12-16 12:06:22 +00:00
Michael Steenbeek 1a9975d683 Compile util and cheats as C++ 2017-12-14 10:03:21 +01:00
Michael Steenbeek 6dc49d643a Compile files in base dir as C++ 2017-12-13 08:03:48 +01:00
Michael Steenbeek 171271215e Change some ride type names for clarity, fix Americanism 2017-12-08 07:59:44 +01:00
Michael Steenbeek 0ffa2b541a Use more consistent terminology and remove some Americanisms 2017-12-05 10:23:36 +01:00
Michael Steenbeek 60d8865efb Compile game.c and game.h as C++ 2017-12-05 09:10:27 +01:00
Ted John a737848e8e Remove old C decoding functions and fix tests 2017-10-22 16:21:13 +02:00
Michał Janiszewski 69914b3078 Mark templates as static 2017-10-19 23:57:30 +02:00
Michał Janiszewski e01cd0fd40 Use googletest with google/googletest#1045 2017-10-10 22:26:35 +02:00
Michał Janiszewski 5ab9f938a7 Update files missed in the great extern "C" cleanup of 2017 2017-09-28 23:29:16 +02:00
Michał Janiszewski 00fd18809c Move extern "C" {} blocks to headers (#6282) 2017-09-18 17:05:28 +02:00
Gymnasiast 3891b9874d Fix testpaint 2017-09-12 11:29:43 +02:00
Michał Janiszewski ef5ad36cf5 Build RCT2 tests even when not running them 2017-08-31 11:02:25 +02:00
Richard Jenkins 71e580a58f Refactor game load functions, resolves #6011 2017-08-23 08:04:36 +02:00
Michał Janiszewski ede8054726 Make multilaunch retest ride count after some updates 2017-08-02 23:50:49 +02:00
Michał Janiszewski b3b2a1ece2 Improve multilaunch test to delete the load result 2017-08-02 23:50:38 +02:00
Michał Janiszewski 01271f68d8 Call game_load_init() in multilaunch test 2017-08-02 19:39:52 +02:00
Michał Janiszewski c3dd3f193f Extend multilaunch test to perform game_logic_updates 2017-08-02 19:39:52 +02:00
Hendrik v. Raven 75275d64b7 add a warning when using system gtest
gtest upstream advices against using a globally installed gtest. Make
sure the user is aware of this.
2017-07-26 11:44:06 +02:00
Hendrik v. Raven 5b3f0454dd reformatting to match if clause
reformat the existing code to match the newly introduced indention level
2017-07-26 11:44:06 +02:00
Hendrik v. Raven 0f111de224 add SYSTEM_GTEST option to use gtest of the system
This adds a new configure option forcing the system to use googletest
installed on the system instead of downloading a version. The default
is still to download googletest.
2017-07-26 11:44:06 +02:00
Hendrik v. Raven cfa20d2117 rename GTEST_INCLUDE_DIR to GTEST_INCLUDE_DIRS
GTEST_INCLUDE_DIRS is the name used by the CMake GTest package. This
is a preparation for the optional usage of a system installed gtest.
2017-07-26 11:44:06 +02:00
Brian Callahan e7da549920 No -ldl on the BSDs, so make sure only Linux gets it 2017-06-25 23:28:04 +02:00
Ted John f275e5ba9b Remove all platform.h includes from header files
System headers, particularly windows.h polute the namespace too much with macros and unwanted definitions. Do not use them in header files.
2017-06-25 18:59:56 +01:00
Michał Janiszewski 21e65934d6 Change number of launches in multilaunch test to 3
[ci skip]
2017-06-24 09:56:51 +02:00
Michał Janiszewski 6aa4722c22 Add MultiLaunch test 2017-06-24 09:56:51 +02:00
Michał Janiszewski 61d38511bc Expand tabs to spaces
This commit expands tabs to spaces (ts=4) in all the files under src/
and test/.

Until now we had two wildly different code styles with C using tabs and
new C++ using spaces. It is painful to maintain as none of the commonly
used tools support this kind of setup and in reality is needless, as we
can simply convert all the sources to spaces and have opened PRs do the
same, where needed.

Additionally, trailing whitespace has been removed.
2017-06-06 23:46:14 +02:00
Michał Janiszewski 105f353092 Fix symlink created for ride ratings test 2017-06-05 23:09:43 +02:00
Michał Janiszewski eafd2ac7a7 Add option to force-disable RCT2 tests 2017-06-05 23:08:45 +02:00
Michał Janiszewski c64076e17d Disable ride ratings test on CI 2017-06-05 22:51:57 +02:00
Michał Janiszewski 46e9978262 Create symlink for rides test 2017-06-05 22:46:49 +02:00
Ted John 9a619b3e0a Clean up branch 2017-06-05 17:38:14 +01:00
Ted John 38fb37c84c Enable ride ratings test for cmake 2017-06-04 00:48:45 +01:00
Ted John 0662f1630a Fix ride ratings test to work with new Context flow 2017-06-04 00:48:45 +01:00
Ted John f2524c07b3 Add rating test data 2017-06-04 00:47:34 +01:00
Ted John e9898ba82f Use new rating test data 2017-06-04 00:47:33 +01:00
Ted John 7ca1173bcb Fix warning 2017-06-04 00:47:33 +01:00
Ted John b28fde6ae7 Create test data helpers 2017-06-04 00:47:33 +01:00
Ted John cf7f1b7335 Change location of test data 2017-06-04 00:47:33 +01:00
Ted John d65d31f632 Fix test expectations and describe ride types 2017-06-04 00:47:33 +01:00
Ted John 443e17c8fc Force rating update on each ride before testing 2017-06-04 00:47:33 +01:00
Ted John c5306d72f7 Add ride ratings test 2017-06-04 00:47:33 +01:00
Ted John 00199051c1 Add SDL2 include to test cmake 2017-05-29 22:38:45 +02:00
Ted John 1f8f354e49 Update root cmake and enable tests 2017-05-29 22:38:44 +02:00
Ted John 23a314d4ba Convert tabs to spaces for test cmakelists 2017-05-29 22:38:44 +02:00
CraigCraig e0b875398b Tons of spelling fixes (#5413)
[ci skip]
2017-04-30 06:39:24 +02:00
Ted John 0ec43e3611 Improve String::Split and add tests 2017-03-08 19:06:42 +00:00
Michał Janiszewski 6181d968e8 Add case insensitive test to INI tests 2017-03-06 22:28:33 +01:00
Michał Janiszewski d610ef5447 Remove unnecessary libs from linking to tests
[ci skip]
2017-02-25 00:10:27 +01:00
Michał Janiszewski e39444b592 Add more test cases to StringTest 2017-02-25 00:07:45 +01:00
Michał Janiszewski 62ab0e0e03 Add missing include to IniReaderTest 2017-02-25 00:07:45 +01:00
Ted John f851198645 Fix and format test data 2017-02-24 23:01:06 +00:00
Ted John fe2cb79d18 Use strings for test data in IniReaderTest 2017-02-24 22:57:32 +00:00
Michał Janiszewski 7d0cc83908 Add tests for untrimmed INI 2017-02-24 23:39:01 +01:00
Michał Janiszewski 5f43c37ca0 Add String test to CMake 2017-02-24 23:04:36 +01:00
Michał Janiszewski d41293fa6b Extract common test sources into library 2017-02-24 23:04:20 +01:00
Ted John 3b341de835 Fix String::Trim and add test 2017-02-24 21:48:06 +00:00
Michał Janiszewski 84d69b797b Change type of variable used in test 2017-02-24 20:58:01 +01:00
Michał Janiszewski 58da1cde84 Make IniReader not throw while parsing invalid values 2017-02-24 20:26:49 +01:00
Michał Janiszewski 21827c91ab Extend duplicate INI tests with values 2017-02-24 20:18:30 +01:00
Michał Janiszewski 94f0b39f0f Add tests for duplicate sections 2017-02-24 20:15:15 +01:00
Michał Janiszewski 0a77374899 Move MemoryStreams in INI tests to stack 2017-02-24 19:53:23 +01:00
Michał Janiszewski d23edb0f91 Fix INI tests for Windows' 2-byte newlines 2017-02-24 00:10:04 +01:00
Michał Janiszewski e5d569ac6c Add INI tests to MSVC 2017-02-23 23:38:25 +01:00
Michał Janiszewski 8143be0707 Add IniReader, IniWriter tests 2017-02-23 23:37:22 +01:00
Ted John e649e7ad4a Move creation of version string to Version.cpp 2017-02-09 17:58:19 +00:00
Ted John 3a4bc87198 Allow control of assertion behaviour
This allows tests to change the behaviour at runtime so that OpenRCT2 aborts instead of showing a message box.
2017-02-09 17:57:39 +00:00
Michał Janiszewski 99032651d2 Add BUILD_BYPRODUCTS entries to CMakeLists for googletest
This allows building tests with ninja build system
2017-01-11 12:10:40 +01:00
Ted John b7b58817bb Rename openrct2-lib to libopenrct2 2017-01-10 17:29:03 +00:00
Ted John 73b21b5880 Convert openrct2 to static library 2017-01-10 17:29:02 +00:00
Michał Janiszewski 0d88276abe Fix tests for new source layout 2017-01-04 18:28:39 +00:00
Ted John a2e3f10ca1 Update VS project files 2017-01-04 18:28:37 +00:00
Ted John c8dbc24ceb Enable all C++ features for MSVC 2016-12-16 01:19:41 +00:00
Michał Janiszewski 2e674b9202 Migrate Linux Travis-CI jobs to docker containers 2016-12-15 16:55:17 +00:00
Michał Janiszewski f9424455e7 Merge pull request janisozaur/OpenRCT2#23
Add msbuild / msvc / windows support for tests
2016-12-02 22:52:07 +01:00
Michał Janiszewski 3253ef7cae Verify decoded chunk length 2016-12-02 22:12:55 +01:00
Michał Janiszewski 28098776b2 Convert tests to class + fixtures
This makes test data not require `extern`
2016-12-02 22:00:02 +01:00
Ted John 756e26ad45 Fix main function 2016-12-02 17:16:12 +00:00
Ted John d26e1df21e Automatically download googletest 2016-12-02 13:36:03 +00:00
Ted John 4ccb50409b Add test configurations 2016-12-02 02:49:50 +00:00
Ted John 91e19c7d48 Move a lot of the common properties to a shared props file 2016-12-02 00:59:52 +00:00
Ted John a08af1a253 Get tests to build for Windows and VS 2016-12-02 00:34:14 +00:00
Michał Janiszewski 86a336dd3d Extend LanguagePack test with negative tests 2016-12-01 23:28:01 +01:00
Michał Janiszewski a2d30ac405 Add multibyte LanguagePack test 2016-12-01 23:21:35 +01:00
Michał Janiszewski e3a3cf375d Add LanguagePackTest 2016-12-01 23:04:10 +01:00
Michał Janiszewski 729934193c Improve tests' CMakeLists.txt 2016-12-01 16:03:27 +01:00
Michał Janiszewski b0e5333ce6 Improve sawyercoding_test.cpp 2016-12-01 16:03:27 +01:00
Michał Janiszewski cae3f776f3 Run tests on travis 2016-12-01 16:03:27 +01:00
Michał Janiszewski f496fceb00 Download and compile our own gtest 2016-12-01 16:03:27 +01:00
Michał Janiszewski be1028b20e Add CMakeLists.txt file for tests 2016-12-01 16:03:27 +01:00
Michał Janiszewski fdcbd583e3 Add first test for sawyercoding 2016-12-01 16:03:27 +01:00