myk002
88074dacf0
move tests into the same dir as the main files
2022-11-28 17:31:10 -08:00
myk002
7fbeb215d7
Merge branch 'myk_unit_testing' into myk_ctest
2022-11-28 17:26:27 -08:00
myk002
f921b02a1b
Merge remote-tracking branch 'cppcooper/unit-testing' into myk_ctest
2022-11-28 17:25:10 -08:00
myk002
ae035d5836
simplify unit testing setup
2022-11-28 17:16:48 -08:00
Josh Cooper
25f87306b4
Removes separated unit test executables
2022-11-25 09:43:04 -08:00
Josh Cooper
79551f7ef0
Updates CMake TESTING vars
2022-11-25 09:43:04 -08:00
Josh Cooper
de91fa7f28
Adds -Wno-sign-compare to test targets
2022-11-25 09:43:04 -08:00
Josh Cooper
268719ed1f
Integrates googletest
2022-11-25 09:43:04 -08:00
Tim Siegel
8e18d610f5
cmake: Add SDL dep for Linux dfhack; deprecate BUILD_TESTS
...
On Linux, libdfhack.so depends on libSDL.so, but that was not marked
inside CMake. As it's only used via LD_PRELOAD, there was no problem.
But when linking unit tests against it, this becomes necessary. It may
be wise to add a find_package(SDL) to provide the user with more
control, but just a hard-coded "SDL" should work for most installs.
The CTest module creates a BUILD_TESTING option, which clashes
(thematically, not in code) with the existing BUILD_TESTS option.
Resolve it thus:
- Deprecate BUILD_TESTS; it still works, but is marked as an advanced
option so it doesn't show in the CMake UI by default.
- Add a new BUILD_TEST_SCRIPTS that does what BUILD_TESTS used to do,
but is a "dependent" option so it goes away if BUILD_TESTING=OFF.
The up-shot is that, by default, the C++ unit tests will be built
(BUILD_TESTING=ON) and the Lua integration tests are not installed
(BUILD_TEST_SCRIPTS=OFF).
2022-11-25 09:43:04 -08:00
Tim Siegel
face558dd0
unit testing: Link test executables against libdfhack
...
Note: Hard-coded "SDL" here is wrong, but requires some refactoring in
top-level CMakeLists.txt to fix.
2022-11-25 09:43:04 -08:00
Tim Siegel
c5be87e381
unit tests: Add CTest support, and a trivial first unit test
...
If BUILD_TESTS=ON:
- Adds a 'test' target for ninja
- Adds a library/MiscUtils.test unit test executable
2022-11-25 09:43:04 -08:00
myk002
c9cf5ecca8
we kept editfield as MOUSE_L for click and drag
2022-11-21 17:51:24 -08:00
myk002
24dc879888
adapt library code to newly correct mouse events
2022-11-21 17:36:46 -08:00
myk002
e2218d0429
make mouse button event behavior conform to docs
...
before, when a mouse button was held down, we'd send a single _MOUSE_L
and _MOUSE_L_DOWN event and that's it. now we properly send a single
_MOUSE_L_DOWN event and _MOUSE_L events for as long as the button is
held down. similar for the right mouse button
2022-11-21 17:35:14 -08:00
myk002
0190cfb117
ensure foo.init runs before foo.*.init
2022-11-20 17:27:14 -08:00
Myk
ac5a1d35ae
remove duplicate function definition
2022-11-18 17:39:49 -08:00
Myk
11c27d40dd
Merge branch 'develop' into Bumber64-patch-2
2022-11-18 17:34:00 -08:00
DFHack-Urist via GitHub Actions
acd561ec9c
Auto-update submodules
...
library/xml: master
scripts: master
2022-11-18 20:59:44 +00:00
DFHack-Urist via GitHub Actions
822a1c8359
Auto-update submodules
...
library/xml: master
scripts: master
2022-11-15 07:17:03 +00:00
Myk
966623a919
Merge pull request #2387 from cppcooper/units-checking
...
Extends Units module
2022-11-14 16:55:42 -08:00
myk002
94c6bc8063
refactor generic lua function caller to Lua ns
2022-11-14 16:40:35 -08:00
Josh Cooper
aa5c6515e0
Removes rogue indent
2022-11-13 11:39:20 -08:00
Josh Cooper
78021ec672
Adds indentation
2022-11-13 11:35:01 -08:00
Josh Cooper
7e1bdb5302
Matches Units.h ordering in LuaApi.cpp
2022-11-12 17:05:11 -08:00
Josh Cooper
d112649886
Organizes and documents Units::is*(unit) functions
2022-11-12 16:40:20 -08:00
Josh Cooper
ebd450af0e
Adds isUnitInBox to Units module
2022-11-12 14:42:41 -08:00
Myk
afe85137c3
Merge branch 'develop' into cmake-ctest
2022-11-12 11:50:33 -08:00
Myk
5136bbbc03
Merge pull request #2383 from cppcooper/em-fixes
...
Fixes JOB_STARTED event
2022-11-11 19:58:46 -08:00
myk002
5b1ebdf72a
don't return list idx when mouse is on scrollbar
2022-11-11 10:40:10 -08:00
DFHack-Urist via GitHub Actions
4d97c90f53
Auto-update submodules
...
library/xml: master
scripts: master
2022-11-10 07:18:00 +00:00
Josh Cooper
34de030ba9
Units module
...
- Updates `Lua API.rst`
- Only adds the most important additions (complicated enough to need explaining)
- Adds new functions to LuaApi.cpp
- Revises isUndead to accommodate `dfhack.units.isUndead(u)` => `Units::isUndead(u, false)` instead of taking the default value
2022-11-09 22:03:39 -08:00
Josh Cooper
f3ae193914
Update EventManager.cpp
2022-11-09 16:49:35 -08:00
Myk
eac7fac8e9
Merge pull request #2389 from myk002/myk_gui_anywhere
...
[Gui] add "anywhere" keybinding guard
2022-11-09 15:48:04 -08:00
Josh Cooper
80824f5b75
Extends Units module
2022-11-09 14:41:45 -08:00
myk002
0344595e4e
add "anywhere" keybinding guard
2022-11-09 14:32:51 -08:00
Josh Cooper
c0ffcc2f79
Updates Units::isDemon()
2022-11-09 12:37:41 -08:00
myk002
d95a5ac238
add string_to_int to MiscUtils.h
2022-11-09 11:55:29 -08:00
Josh Cooper
beee445f6f
Extends Units module
...
Adds unit check functions for
- animals
- demons
- titans
- megabeasts
- semimegabeasts
- night creatures
2022-11-09 11:44:28 -08:00
Myk
ccd43f1710
Merge pull request #2381 from myk002/myk_framed_panel
...
[widgets.Panel] support frames around panel widgets
2022-11-09 10:32:23 -08:00
Myk
9fed02435e
Merge pull request #2378 from myk002/myk_list_mouse
...
Allow widgets.List to report hover target and respond to shift-click
2022-11-09 10:32:06 -08:00
Myk
4924fd0d52
Merge pull request #2377 from myk002/myk_gui_convenience
...
Make View:getMousePos() and Screen:show() a bit more flexible
2022-11-09 10:31:58 -08:00
Myk
f2a386f0e1
Merge pull request #2375 from myk002/myk_uicommon
...
Move generally useful string functions from uicommon to MiscUtils
2022-11-09 10:31:50 -08:00
Josh Cooper
92645ccb5b
Fixes JOB_STARTED event
2022-11-08 12:43:23 -08:00
Myk
22eb9ca8b3
Merge pull request #2380 from myk002/myk_instrument_keybinding
...
instrument core keybinding resolution
2022-11-08 10:16:13 -08:00
myk002
4668d8c4a3
Add Lua::Push method for maps
2022-11-08 10:15:28 -08:00
myk002
e4d0bb9e46
move Lua push methods into LuaTools.cpp
2022-11-08 10:15:28 -08:00
myk002
b82a604c8d
factor out keys -> lua onInput code to LuaTools
2022-11-08 10:15:28 -08:00
Myk
193d29ba67
include cctype to fix build error
2022-11-08 09:53:08 -08:00
myk002
32dc80729a
support drawing frames around panels
2022-11-07 16:50:21 -08:00
myk002
351ecbfb59
instrument core keybinding resolution
2022-11-07 16:41:53 -08:00