aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mouse-button-support' of https://github.com/CendioHalim/tigervncPierre Ossman2024-11-181-3/+3
|\
| * vncviewer: support for back/forward mouse buttonsAdam Halim2024-10-221-3/+3
| | | | | | | | | | | | | | | | This commit implements the pseudo-encoding ExtendedMouseButtons which makes it possible to use the back/forward mouse buttons. This commit contains work originally done by PixelSmith <manny33@frontbuffer.com>.
* | Use standard exception classesPierre Ossman2024-11-061-1/+2
| | | | | | | | | | Use the more specific already included exception classes for common errors to keep things more understandable.
* | Subclass exceptions from std::exceptionPierre Ossman2024-11-061-1/+1
|/ | | | | Make sure our exceptions are part of the standard exception class hierarchy.
* Better type for pointer button maskPierre Ossman2024-08-121-3/+3
| | | | | This is a very limited bit field, so use an 8 bit type to clearly show how many bits are available.
* Avoid shadowing variablesPierre Ossman2024-06-241-1/+1
| | | | | It's a source of confusion and possibly bugs to reuse the same variable name for multiple things.
* Mark overridden virtual functionsPierre Ossman2024-06-242-2/+2
| | | | | Use the new "override" keyword to properly differentiate between new virtual methods, and existing virtual methods being overridden.
* Use nullptr in all C++ codePierre Ossman2024-06-241-2/+2
| | | | | It's more readable than 0, and a bit safer than NULL, so let's try to follow modern norms.
* Merge branch 'types2' of https://github.com/CendioOssman/tigervncPierre Ossman2023-06-301-0/+54
|\
| * Don't allow surrugate code points in UTF-8Pierre Ossman2023-06-301-0/+5
| | | | | | | | | | | | These are not valid outside of UTF-16 so seeing them in a UTF-8 sequence means that something is wrong with that sequence. Best to filter them out rather than letting them propagate and have unknown effects.
| * Clean up string encoding handlingPierre Ossman2023-06-301-0/+49
| | | | | | | | | | | | We should handle this in the low-level protocol code as much as possible to avoid mistakes. This way the rest of the code can assume that strings are always UTF-8 with \n line endings.
* | Prefer target_include_directories()Pierre Ossman2023-03-311-1/+1
|/ | | | | It is more specific, and it properly sets up propagation when include directories also need to be used further down a dependency chain.
* Remove custom CharArray typePierre Ossman2023-02-041-0/+1
| | | | | It has now been replaced, mostly by std::string, so remove the actual type definition.
* Return std::string instead of dynamic allocationsPierre Ossman2023-02-043-25/+15
| | | | | | We mostly use classical C strings, but the memory management around them can get confusing and error prone. Let's use std::string for the cases where we need to return a newly allocated string.
* Use stdint typesPierre Ossman2023-02-011-13/+13
| | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* Explicitly mark unused parametersPierre Ossman2023-01-047-7/+7
| | | | | This allows us to separate accidentally unused, from explicitly unused parameters, which allows us to turn on such checks in the compiler.
* Mark system include paths correctlyPierre Ossman2023-01-041-1/+1
| | | | | This makes sure the compiler doesn't complain about problems in those files.
* Ignore whitespace around components of host-and-port specificationCatherine Tower2022-09-011-0/+12
| | | | This is to make the code more tolerant of typos when entering a hostname
* Move include_directories() to proper placesPierre Ossman2022-08-251-1/+2
| | | | We should scope these as narrowely as possible to avoid side effects.
* Be consistent in including config.hPierre Ossman2021-12-307-0/+28
| | | | | | The generally recommended way is to include it from source files, not headers. We had a mix of both. Let's try to be consistent and follow the recommended way.
* Correctly handle invalid UTF-16 code pointsPierre Ossman2020-10-051-0/+2
| | | | | Some code points are reserved for the UTF-16 coding itself and must not appear as input data to the algorithm.
* Fix conversion of latin-1 to UTF-8Pierre Ossman2020-10-051-0/+34
| | | | Signed bug prevented anything not ASCII from being coded correctly.
* Fix UTF-16 encoding/decoding of high code pointsPierre Ossman2020-10-051-0/+4
| | | | | Everything outside of BMP was handled incorrectly and was coded as completely different code points.
* Return the correct number of consumed UTF-8 bytesPierre Ossman2020-10-052-0/+168
| | | | | | | | This would mess up most conversions from UTF-8 as the caller wouldn't know how far to step to get to the next valid character, resulting in markers for invalid data to be injected here and there. Also add some unit tests to avoid this reoccurring.
* Update gesture unit test to cover angle cornercaseSamuel Mannehed2020-06-151-3/+3
| | | | | | If the difference in angle is larger than 180 degrees we hit a corner case. This commit modifies the coordinates of an existing test to cover this.
* Improve names of many gesturehandler unit testsSamuel Mannehed2020-06-051-24/+24
| | | | Makes it easier to understand what the tests do.
* Remove unnecessary touchEnd from unit testsSamuel Mannehed2020-06-051-1/+0
|
* Implement touch gesture handling on UnixAaron Sowry2020-05-292-0/+1248
| | | | | Allows the user to perform certain important mouse operations using touch gestures instead.
* Fix position for click and drag with EmulateMBAlex Tanskanen2020-05-261-2/+60
| | | | | | | If you have the setting "Emulate middle mouse button" turned on, a click and drag can fail if it is done very quickly. The position of the initial click will be incorrect in such a case because the timeout will delay events.
* Add unit tests for EmulateMBAlex Tanskanen2020-05-262-0/+433
|
* Handle pixel formats with odd shift valuesPierre Ossman2019-11-151-0/+6
| | | | | | | | | Our fast paths assume that each channel fits in to a separate byte. That means the shift needs to be a multiple of 8. Start actually checking this so that a client cannot trip us up and possibly cause incorrect code exection. Issue found by Pavel Cheremushkin from Kaspersky Lab.
* Add unit tests for PixelFormat.is888() detectionPierre Ossman2019-11-151-1/+59
|
* Add sanity checks for PixelFormat shift valuesPierre Ossman2019-11-151-0/+6
| | | | | | | | | | | | Otherwise we might be tricked in to reading and writing things at incorrect offsets for pixels which ultimately could result in an attacker writing things to the stack or heap and executing things they shouldn't. This only affects the server as the client never uses the pixel format suggested by th server. Issue found by Pavel Cheremushkin from Kaspersky Lab.
* Fix depth sanity test in PixelFormatPierre Ossman2019-11-151-0/+4
|
* Add unit test for PixelFormat sanity checksPierre Ossman2019-11-152-0/+117
|
* Add unit tests for convertLF() and convertCRLF()Pierre Ossman2019-09-252-0/+127
|
* Split test programs to benchmarking and unit testsPierre Ossman2019-09-253-0/+448
They have very different purpose, so make things easier to work with by having multiple directories.