<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_sweep_skeletyl/tests/test_common/test_driver.hpp, branch master</title>
<subtitle>my qmk configs</subtitle>
<id>http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master</id>
<link rel='self' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/'/>
<updated>2025-03-21T07:47:22+00:00</updated>
<entry>
<title>[Core] use `keycode_string` in unit tests (#25042)</title>
<updated>2025-03-21T07:47:22+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
</author>
<published>2025-03-21T07:47:22+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=c9d62ddc78e879053241202b288d0129073b07dc'/>
<id>urn:sha1:c9d62ddc78e879053241202b288d0129073b07dc</id>
<content type='text'>
* tests: use keycode_string feature

With a proper keycode to string implementation in qmk there is no need
to use the unit tests only implementation anymore.

Signed-off-by: Stefan Kerkmann &lt;karlk90@pm.me&gt;

* tests: remove keycode_util feature

This feature is no longer used as we switched the tests to the
keycode string implementation.

Signed-off-by: Stefan Kerkmann &lt;karlk90@pm.me&gt;</content>
</entry>
<entry>
<title>Add pointing tests (#24513)</title>
<updated>2024-11-23T16:34:32+00:00</updated>
<author>
<name>Dasky</name>
</author>
<published>2024-11-23T16:34:32+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=1f7d10902a7e603a47b9291664fcb9ab0b21f690'/>
<id>urn:sha1:1f7d10902a7e603a47b9291664fcb9ab0b21f690</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Separate 6KRO and NKRO report structs (#22267)</title>
<updated>2023-10-23T04:43:46+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2023-10-23T04:43:46+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=0c160e1fbafbf477c74e64fd8ab9a9121eb0f42a'/>
<id>urn:sha1:0c160e1fbafbf477c74e64fd8ab9a9121eb0f42a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[Core] Add Repeat Key ("repeat last key") as a core feature. (#19700)</title>
<updated>2023-05-20T12:35:06+00:00</updated>
<author>
<name>Pascal Getreuer</name>
</author>
<published>2023-05-20T12:35:06+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=3993b15f054265071730cdb450f43457dcf4c64a'/>
<id>urn:sha1:3993b15f054265071730cdb450f43457dcf4c64a</id>
<content type='text'>
Co-authored-by: casuanoob &lt;96005765+casuanoob@users.noreply.github.com&gt;
Co-authored-by: Sergey Vlasov &lt;sigprof@gmail.com&gt;
</content>
</entry>
<entry>
<title>Introduce VERIFY_AND_CLEAR shorthand (#19370)</title>
<updated>2022-12-18T20:55:14+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
</author>
<published>2022-12-18T20:55:14+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=c2b13bd77b71ea73db12a6cda64871565036a6dc'/>
<id>urn:sha1:c2b13bd77b71ea73db12a6cda64871565036a6dc</id>
<content type='text'>
Which is just a syntactic sugar for
testing::Mock::VerifyAndClearExpectations to reduce the visual clutter
in unit-tests.</content>
</entry>
<entry>
<title>Normalise Unicode keycodes (#18898)</title>
<updated>2022-10-31T21:15:12+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2022-10-31T21:15:12+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=5974d989fe72f6c576901a065bee4487a58c351d'/>
<id>urn:sha1:5974d989fe72f6c576901a065bee4487a58c351d</id>
<content type='text'>
* `UC_MOD`/`UC_RMOD` -&gt; `UC_NEXT`/`UC_PREV`

* `UNICODE_MODE_*` -&gt; `QK_UNICODE_MODE_*`

* `UC_MAC` -&gt; `UNICODE_MODE_MACOS`

* `UC_LNX` -&gt; `UNICODE_MODE_LINUX`

* `UC_WIN` -&gt; `UNICODE_MODE_WINDOWS`

* `UC_BSD` -&gt; `UNICODE_MODE_BSD`

* `UC_WINC` -&gt; `UNICODE_MODE_WINCOMPOSE`

* `UC_EMACS` -&gt; `UNICODE_MODE_EMACS`

* `UC__COUNT` -&gt; `UNICODE_MODE_COUNT`

* `UC_M_MA` -&gt; `UC_MAC`

* `UC_M_LN` -&gt; `UC_LINX`

* `UC_M_WI` -&gt; `UC_WIN`

* `UC_M_BS` -&gt; `UC_BSD`

* `UC_M_WC` -&gt; `UC_WINC`

* `UC_M_EM` -&gt; `UC_EMAC`

* Docs

* Update quantum/unicode/unicode.h</content>
</entry>
<entry>
<title>Refactor `send_extra` (#18615)</title>
<updated>2022-10-07T02:35:01+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2022-10-07T02:35:01+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=6dbbeea46a0ac7527235982cb6406802df846805'/>
<id>urn:sha1:6dbbeea46a0ac7527235982cb6406802df846805</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify extrakeys sending at the host driver level (#18230)</title>
<updated>2022-09-02T19:38:27+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2022-09-02T19:38:27+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=09d668eb0ed3ff6fa48ce1db98910b022bca2d90'/>
<id>urn:sha1:09d668eb0ed3ff6fa48ce1db98910b022bca2d90</id>
<content type='text'>
* Simplify extrakeys sending at the host driver level

* There are two arguments here

* Wrong syntax

* Adjust keyboards which use a custom host driver</content>
</entry>
<entry>
<title>Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, Retro Shift. (#17284)</title>
<updated>2022-06-05T07:14:02+00:00</updated>
<author>
<name>Pascal Getreuer</name>
</author>
<published>2022-06-05T07:14:02+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=95d20e6d8bb1ffaf3024af793daf789ee0b75727'/>
<id>urn:sha1:95d20e6d8bb1ffaf3024af793daf789ee0b75727</id>
<content type='text'>
* Fix Caps Word and Unicode Map

* Tests for Caps Word + Auto Shift and Unicode Map.

* Fix formatting

* Add additional keyboard report expectation macros

This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE,
EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with
TestDriver.

EXPECT_REPORT sets a gmock expectation that a given keyboard report will
be sent. For instance,

  EXPECT_REPORT(driver, (KC_LSFT, KC_A));

is shorthand for

  EXPECT_CALL(driver,
      send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A)));

EXPECT_UNICODE sets a gmock expectation that a given Unicode code point
will be sent using UC_LNX input mode. For instance for U+2013,

  EXPECT_UNICODE(driver, 0x2013);

expects the sequence of keys:

  "Ctrl+Shift+U, 2, 0, 1, 3, space".

EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard
report will be sent. For instance

  EXPECT_EMPTY_REPORT(driver);

expects a single report without keypresses or modifiers.

EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard
report will be sent, without matching its contents. For instance

  EXPECT_ANY_REPORT(driver).Times(1);

expects a single arbitrary keyboard report will be sent.

EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will
be sent at all.

* Add tap_key() and tap_keys() to TestFixture.

This commit adds a `tap_key(key)` method to TestFixture that taps a
given KeymapKey, optionally with a specified delay between press and
release.

Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of
KeymapKeys.

* Use EXPECT_REPORT, tap_keys, etc. in most tests.

This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT,
EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the
previous two commits in most tests. Particularly the EXPECT_REPORT
macro is frequently useful and makes a nice reduction in boilerplate
needed to express many tests.

Co-authored-by: David Kosorin &lt;david@kosorin.net&gt;</content>
</entry>
<entry>
<title> [Tests] Increase QMK test coverage take 2 (#15269)</title>
<updated>2021-11-23T02:31:01+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
</author>
<published>2021-11-23T02:31:01+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=a24bdccee0580d1263733bc7e66e4e4f97713f19'/>
<id>urn:sha1:a24bdccee0580d1263733bc7e66e4e4f97713f19</id>
<content type='text'>
* Add per-test keymaps

* Add better trace and info logs for failed unit-tests

* Add layer state assertion with tracing message

* Use individual test binaries configuration options

* Add basic qmk functionality tests

* Add tap hold configurations tests

* Add auto shift tests

Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;</content>
</entry>
</feed>
