<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_sweep_skeletyl/tests/test_common/test_fixture.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>2025-03-21T12:38:34+00:00</updated>
<entry>
<title>Non-volatile memory data repository pattern (#24356)</title>
<updated>2025-03-21T12:38:34+00:00</updated>
<author>
<name>Nick Brassel</name>
</author>
<published>2025-03-21T12:38:34+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=2b00b846dce1d1267dfdb2a3c2972a367cc0dd44'/>
<id>urn:sha1:2b00b846dce1d1267dfdb2a3c2972a367cc0dd44</id>
<content type='text'>
* First batch of eeconfig conversions.

* Offset and length for datablocks.

* `via`, `dynamic_keymap`.

* Fix filename.

* Commentary.

* wilba leds

* satisfaction75

* satisfaction75

* more keyboard whack-a-mole

* satisfaction75

* omnikeyish

* more whack-a-mole

* `generic_features.mk` to automatically pick up nvm repositories

* thievery

* deferred variable resolve

* whitespace

* convert api to structs/unions

* convert api to structs/unions

* convert api to structs/unions

* fixups

* code-side docs

* code size fix

* rollback

* nvm_xxxxx_erase

* Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too.

* Fixup build.

* Fixup compilation error with encoders.

* Build fixes.

* Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof.

* Build failure rectification.</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>Add housekeeping execution to unit tests (#22999)</title>
<updated>2024-05-13T17:15:52+00:00</updated>
<author>
<name>leep-frog</name>
</author>
<published>2024-05-13T17:15:52+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=6d222b71c6de320097e3dd25ef3f2783da0d638f'/>
<id>urn:sha1:6d222b71c6de320097e3dd25ef3f2783da0d638f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove some use of keymap.h (#20006)</title>
<updated>2023-03-03T17:50:40+00:00</updated>
<author>
<name>Joel Challis</name>
</author>
<published>2023-03-03T17:50:40+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=3be5d90b6d1c4534bcfce9725808e8c4d469a845'/>
<id>urn:sha1:3be5d90b6d1c4534bcfce9725808e8c4d469a845</id>
<content type='text'>
</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>[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>
</author>
<published>2022-12-14T15:31:08+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=962e4c0e1854b10612bab547c3d842c5f967dd23'/>
<id>urn:sha1:962e4c0e1854b10612bab547c3d842c5f967dd23</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix Caps Word capitalization when used with Combos + Auto Shift. (#17549)</title>
<updated>2022-08-13T13:48:51+00:00</updated>
<author>
<name>Pascal Getreuer</name>
</author>
<published>2022-08-13T13:48:51+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=6a0d90f81a9b9938591b32f9321530e68e5cea0b'/>
<id>urn:sha1:6a0d90f81a9b9938591b32f9321530e68e5cea0b</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>Format code according to conventions (#16322)</title>
<updated>2022-02-12T18:29:31+00:00</updated>
<author>
<name>QMK Bot</name>
</author>
<published>2022-02-12T18:29:31+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=63646e8906e062d1c1de3925cba70c4e3426a855'/>
<id>urn:sha1:63646e8906e062d1c1de3925cba70c4e3426a855</id>
<content type='text'>
</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>
</feed>
