<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_firmware.git/tests/basic, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/'/>
<entry>
<title>Fix Layer Mod handling of with right-handed mods. (#19845)</title>
<updated>2023-02-14T20:44:42+00:00</updated>
<author>
<name>Pascal Getreuer</name>
<email>50221757+getreuer@users.noreply.github.com</email>
</author>
<published>2023-02-14T20:44:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=7d692d64f3997b816607c282b09fecae14212fe6'/>
<id>7d692d64f3997b816607c282b09fecae14212fe6</id>
<content type='text'>

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

</pre>
</div>
</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>
<email>karlk90@pm.me</email>
</author>
<published>2022-12-18T20:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=c2b13bd77b71ea73db12a6cda64871565036a6dc'/>
<id>c2b13bd77b71ea73db12a6cda64871565036a6dc</id>
<content type='text'>
Which is just a syntactic sugar for
testing::Mock::VerifyAndClearExpectations to reduce the visual clutter
in unit-tests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Which is just a syntactic sugar for
testing::Mock::VerifyAndClearExpectations to reduce the visual clutter
in unit-tests.</pre>
</div>
</content>
</entry>
<entry>
<title>[Test] Reset timer for every unit test and provide timestamps for log messages (#17028)</title>
<updated>2022-12-14T15:31:08+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
<email>karlk90@pm.me</email>
</author>
<published>2022-12-14T15:31:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=962e4c0e1854b10612bab547c3d842c5f967dd23'/>
<id>962e4c0e1854b10612bab547c3d842c5f967dd23</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Bug17281 - Retain momentary layers until the end of tapping (#17282)</title>
<updated>2022-11-28T08:16:38+00:00</updated>
<author>
<name>Felix Kuehling</name>
<email>67731127+fxkuehl@users.noreply.github.com</email>
</author>
<published>2022-11-28T08:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=4ae75259233a45583b6a0d73f1f7224cb50e0398'/>
<id>4ae75259233a45583b6a0d73f1f7224cb50e0398</id>
<content type='text'>
* Make process_tapping more readable

Move most #ifdefs into conditionally defined macros to make the logic
easier to follow.

* Retain momentary layers until the end of tapping

This allows mod-tap and layer-tap keys on layers to behave as expected.

Bug: https://github.com/qmk/qmk_firmware/issues/17281

* Add tests for delayed mod/layer release while tapping

Mods and layer key release is delayed while tapping is in progress to
ensure that the tap is registered with the modifier state and on the
layer where the key was first pressed.

Signed-off-by: Felix Kuehling &lt;felix.kuehling@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make process_tapping more readable

Move most #ifdefs into conditionally defined macros to make the logic
easier to follow.

* Retain momentary layers until the end of tapping

This allows mod-tap and layer-tap keys on layers to behave as expected.

Bug: https://github.com/qmk/qmk_firmware/issues/17281

* Add tests for delayed mod/layer release while tapping

Mods and layer key release is delayed while tapping is in progress to
ensure that the tap is registered with the modifier state and on the
layer where the key was first pressed.

Signed-off-by: Felix Kuehling &lt;felix.kuehling@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Don't clear keys on layer change unless STRICT_LAYER_RELEASE is enabled (#18577)</title>
<updated>2022-11-12T02:11:50+00:00</updated>
<author>
<name>Drashna Jaelre</name>
<email>drashna@live.com</email>
</author>
<published>2022-11-12T02:11:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=1caedd10c45adef49724f5aa0967e23286f4dd38'/>
<id>1caedd10c45adef49724f5aa0967e23286f4dd38</id>
<content type='text'>
* Don't clear mousekeys unless clearing keys

* Revert "Don't clear mousekeys unless clearing keys"

This reverts commit 29a0c06b547d72b80d416a8b6fab478c77fbd247.

* Just don't clear anything on layer set

* Fix lint

* Enable test?</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Don't clear mousekeys unless clearing keys

* Revert "Don't clear mousekeys unless clearing keys"

This reverts commit 29a0c06b547d72b80d416a8b6fab478c77fbd247.

* Just don't clear anything on layer set

* Fix lint

* Enable test?</pre>
</div>
</content>
</entry>
<entry>
<title>[Core] Process all changed keys in one scan loop, deprecate `QMK_KEYS_PER_SCAN` (#15292)</title>
<updated>2022-08-06T10:51:13+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
<email>karlk90@pm.me</email>
</author>
<published>2022-08-06T10:51:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=f27b617f36d55ac5469247016a1b79304f892366'/>
<id>f27b617f36d55ac5469247016a1b79304f892366</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</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>
<email>50221757+getreuer@users.noreply.github.com</email>
</author>
<published>2022-06-05T07:14:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=95d20e6d8bb1ffaf3024af793daf789ee0b75727'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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;</pre>
</div>
</content>
</entry>
<entry>
<title>Rip out old macro and action_function system (#16025)</title>
<updated>2022-01-24T21:22:20+00:00</updated>
<author>
<name>Ryan</name>
<email>fauxpark@gmail.com</email>
</author>
<published>2022-01-24T21:22:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=1d11ae3087f583c4f4756169802b33adea71ed94'/>
<id>1d11ae3087f583c4f4756169802b33adea71ed94</id>
<content type='text'>
* Rip out old macro and action_function system

* Update quantum/action_util.c

Co-authored-by: Joel Challis &lt;git@zvecr.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Rip out old macro and action_function system

* Update quantum/action_util.c

Co-authored-by: Joel Challis &lt;git@zvecr.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[Core] Don't send keyboard reports that propagate no changes to the host  (#14065)</title>
<updated>2021-12-14T18:40:18+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
<email>karlk90@pm.me</email>
</author>
<published>2021-12-14T18:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=8b865a9d6445e3bce6c991224f373d71c67e87e5'/>
<id>8b865a9d6445e3bce6c991224f373d71c67e87e5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</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>
<email>karlk90@pm.me</email>
</author>
<published>2021-11-23T02:31:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/qmk_firmware.git/commit/?id=a24bdccee0580d1263733bc7e66e4e4f97713f19'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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;</pre>
</div>
</content>
</entry>
</feed>
