<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_sweep_skeletyl/tests/basic/test_keypress.cpp, 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>2022-12-18T20:55:14+00:00</updated>
<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>[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>
</author>
<published>2022-08-06T10:51:13+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=f27b617f36d55ac5469247016a1b79304f892366'/>
<id>urn:sha1:f27b617f36d55ac5469247016a1b79304f892366</id>
<content type='text'>
</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>[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>
</author>
<published>2021-12-14T18:40:18+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=8b865a9d6445e3bce6c991224f373d71c67e87e5'/>
<id>urn:sha1:8b865a9d6445e3bce6c991224f373d71c67e87e5</id>
<content type='text'>
</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>
<entry>
<title>Revert "[Tests] Increase QMK test coverage (#13789)"</title>
<updated>2021-11-22T22:54:04+00:00</updated>
<author>
<name>Nick Brassel</name>
</author>
<published>2021-11-22T22:54:04+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=7746aefe94cc4cd492bfafdef73d95d073f0603b'/>
<id>urn:sha1:7746aefe94cc4cd492bfafdef73d95d073f0603b</id>
<content type='text'>
This reverts commit b6054c0206609f3755f71d819643644d250288b0.
</content>
</entry>
<entry>
<title>[Tests] Increase QMK test coverage (#13789)</title>
<updated>2021-11-22T21:15:04+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
</author>
<published>2021-11-22T21:15:04+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=b6054c0206609f3755f71d819643644d250288b0'/>
<id>urn:sha1:b6054c0206609f3755f71d819643644d250288b0</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

* `qmk format-c

* Fix tests

Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;</content>
</entry>
<entry>
<title>Basic keycode overhaul (#14726)</title>
<updated>2021-11-04T05:22:17+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2021-11-04T05:22:17+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=f529580860cf5a1de4afc10432f218a45daae17a'/>
<id>urn:sha1:f529580860cf5a1de4afc10432f218a45daae17a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>format code according to conventions [skip ci]</title>
<updated>2020-03-13T18:44:56+00:00</updated>
<author>
<name>QMK Bot</name>
</author>
<published>2020-03-13T18:44:56+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=5e98eaaaff8fde1ce25b9bad6c00a982718cb467'/>
<id>urn:sha1:5e98eaaaff8fde1ce25b9bad6c00a982718cb467</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix pressing two keys with the same keycode but different modifiers (#2710)</title>
<updated>2020-03-13T18:09:38+00:00</updated>
<author>
<name>fredizzimo</name>
</author>
<published>2020-03-13T18:09:38+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=9e8767917d628afd3dc43759d1d50151c61944a1'/>
<id>urn:sha1:9e8767917d628afd3dc43759d1d50151c61944a1</id>
<content type='text'>
* Fix extra keyboard report during test_fixture teardown

* Add tests for pressing two keys with only different modifers

* Fix #1708

When two keys that use the same keycode, but different modifiers were
pressed at the same time, the second keypress wasn't registered. This is
fixed by forcing a key release when we detect a new press for the same
keycode.

* Fix the NKRO version of is_key_pressed

* Fix uninitalized loop variable

Co-authored-by: Jack Humbert &lt;jack.humb@gmail.com&gt;</content>
</entry>
</feed>
