From 77cae6942271d229c0e41a1eb86e98c368560698 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 13 Jan 2023 20:31:30 +0100 Subject: [PATCH 1/5] docs: add TrustNoOneElse as a contributor for code (#355) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 ++++++ README.md | 73 +++++++++++++++++++++++---------------------- 2 files changed, 47 insertions(+), 35 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 8f50d57..7780dd0 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -341,6 +341,15 @@ "bug", "ideas" ] + }, + { + "login": "TrustNoOneElse", + "name": "Florian Pabst", + "avatar_url": "https://avatars.githubusercontent.com/u/25935352?v=4", + "profile": "https://github.com/TrustNoOneElse", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index e0b7702..46f5c6a 100644 --- a/README.md +++ b/README.md @@ -185,49 +185,52 @@ Thanks goes to these people ([emoji key][emojis]): <table> <tbody> <tr> - <td align="center"><a href="http://timdeschryver.dev"><img src="https://avatars1.githubusercontent.com/u/28659384?v=4?s=100" width="100px;" alt="Tim Deschryver"/><br /><sub><b>Tim Deschryver</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=timdeschryver" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=timdeschryver" title="Documentation">๐</a> <a href="#infra-timdeschryver" title="Infrastructure (Hosting, Build-Tools, etc)">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=timdeschryver" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://michaeldeboey.be"><img src="https://avatars3.githubusercontent.com/u/6643991?v=4?s=100" width="100px;" alt="Michaรซl De Boey"/><br /><sub><b>Michaรซl De Boey</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=MichaelDeBoey" title="Documentation">๐</a></td> - <td align="center"><a href="https://github.com/flakolefluk"><img src="https://avatars0.githubusercontent.com/u/11986564?v=4?s=100" width="100px;" alt="Ignacio Le Fluk"/><br /><sub><b>Ignacio Le Fluk</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=flakolefluk" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=flakolefluk" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://hu.linkedin.com/pub/tamas-szabo/57/a4b/242"><img src="https://avatars0.githubusercontent.com/u/3720079?v=4?s=100" width="100px;" alt="Tamรกs Szabรณ"/><br /><sub><b>Tamรกs Szabรณ</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=szabototo89" title="Code">๐ป</a></td> - <td align="center"><a href="https://medium.com/@gregor.woiwode"><img src="https://avatars3.githubusercontent.com/u/444278?v=4?s=100" width="100px;" alt="Gregor Woiwode"/><br /><sub><b>Gregor Woiwode</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=GregOnNet" title="Code">๐ป</a></td> - <td align="center"><a href="https://github.com/tonivj5"><img src="https://avatars2.githubusercontent.com/u/7110786?v=4?s=100" width="100px;" alt="Toni Villena"/><br /><sub><b>Toni Villena</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Atonivj5" title="Bug reports">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=tonivj5" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=tonivj5" title="Documentation">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=tonivj5" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://github.com/ShPelles"><img src="https://avatars0.githubusercontent.com/u/43875468?v=4?s=100" width="100px;" alt="ShPelles"/><br /><sub><b>ShPelles</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=ShPelles" title="Documentation">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="http://timdeschryver.dev"><img src="https://avatars1.githubusercontent.com/u/28659384?v=4?s=100" width="100px;" alt="Tim Deschryver"/><br /><sub><b>Tim Deschryver</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=timdeschryver" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=timdeschryver" title="Documentation">๐</a> <a href="#infra-timdeschryver" title="Infrastructure (Hosting, Build-Tools, etc)">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=timdeschryver" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://michaeldeboey.be"><img src="https://avatars3.githubusercontent.com/u/6643991?v=4?s=100" width="100px;" alt="Michaรซl De Boey"/><br /><sub><b>Michaรซl De Boey</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=MichaelDeBoey" title="Documentation">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/flakolefluk"><img src="https://avatars0.githubusercontent.com/u/11986564?v=4?s=100" width="100px;" alt="Ignacio Le Fluk"/><br /><sub><b>Ignacio Le Fluk</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=flakolefluk" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=flakolefluk" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://hu.linkedin.com/pub/tamas-szabo/57/a4b/242"><img src="https://avatars0.githubusercontent.com/u/3720079?v=4?s=100" width="100px;" alt="Tamรกs Szabรณ"/><br /><sub><b>Tamรกs Szabรณ</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=szabototo89" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://medium.com/@gregor.woiwode"><img src="https://avatars3.githubusercontent.com/u/444278?v=4?s=100" width="100px;" alt="Gregor Woiwode"/><br /><sub><b>Gregor Woiwode</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=GregOnNet" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/tonivj5"><img src="https://avatars2.githubusercontent.com/u/7110786?v=4?s=100" width="100px;" alt="Toni Villena"/><br /><sub><b>Toni Villena</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Atonivj5" title="Bug reports">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=tonivj5" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=tonivj5" title="Documentation">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=tonivj5" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/ShPelles"><img src="https://avatars0.githubusercontent.com/u/43875468?v=4?s=100" width="100px;" alt="ShPelles"/><br /><sub><b>ShPelles</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=ShPelles" title="Documentation">๐</a></td> </tr> <tr> - <td align="center"><a href="https://github.com/miluoshi"><img src="https://avatars1.githubusercontent.com/u/1130547?v=4?s=100" width="100px;" alt="Miluoshi"/><br /><sub><b>Miluoshi</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=miluoshi" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=miluoshi" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://nickmccurdy.com/"><img src="https://avatars0.githubusercontent.com/u/927220?v=4?s=100" width="100px;" alt="Nick McCurdy"/><br /><sub><b>Nick McCurdy</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=nickmccurdy" title="Documentation">๐</a></td> - <td align="center"><a href="https://github.com/SrinivasanTarget"><img src="https://avatars2.githubusercontent.com/u/8896549?v=4?s=100" width="100px;" alt="Srinivasan Sekar"/><br /><sub><b>Srinivasan Sekar</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=SrinivasanTarget" title="Documentation">๐</a></td> - <td align="center"><a href="https://www.linkedin.com/in/serkan-sipahi-59b20081/"><img src="https://avatars2.githubusercontent.com/u/1880749?v=4?s=100" width="100px;" alt="Bitcollage"/><br /><sub><b>Bitcollage</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=SerkanSipahi" title="Documentation">๐</a></td> - <td align="center"><a href="https://github.com/krokofant"><img src="https://avatars0.githubusercontent.com/u/5908498?v=4?s=100" width="100px;" alt="Emil Sundin"/><br /><sub><b>Emil Sundin</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=krokofant" title="Code">๐ป</a></td> - <td align="center"><a href="https://github.com/Ombrax"><img src="https://avatars0.githubusercontent.com/u/7486723?v=4?s=100" width="100px;" alt="Ombrax"/><br /><sub><b>Ombrax</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=Ombrax" title="Code">๐ป</a></td> - <td align="center"><a href="https://github.com/rafaelss95"><img src="https://avatars0.githubusercontent.com/u/11965907?v=4?s=100" width="100px;" alt="Rafael Santana"/><br /><sub><b>Rafael Santana</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=rafaelss95" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=rafaelss95" title="Tests">โ ๏ธ</a> <a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Arafaelss95" title="Bug reports">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/miluoshi"><img src="https://avatars1.githubusercontent.com/u/1130547?v=4?s=100" width="100px;" alt="Miluoshi"/><br /><sub><b>Miluoshi</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=miluoshi" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=miluoshi" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://nickmccurdy.com/"><img src="https://avatars0.githubusercontent.com/u/927220?v=4?s=100" width="100px;" alt="Nick McCurdy"/><br /><sub><b>Nick McCurdy</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=nickmccurdy" title="Documentation">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/SrinivasanTarget"><img src="https://avatars2.githubusercontent.com/u/8896549?v=4?s=100" width="100px;" alt="Srinivasan Sekar"/><br /><sub><b>Srinivasan Sekar</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=SrinivasanTarget" title="Documentation">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/serkan-sipahi-59b20081/"><img src="https://avatars2.githubusercontent.com/u/1880749?v=4?s=100" width="100px;" alt="Bitcollage"/><br /><sub><b>Bitcollage</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=SerkanSipahi" title="Documentation">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/krokofant"><img src="https://avatars0.githubusercontent.com/u/5908498?v=4?s=100" width="100px;" alt="Emil Sundin"/><br /><sub><b>Emil Sundin</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=krokofant" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/Ombrax"><img src="https://avatars0.githubusercontent.com/u/7486723?v=4?s=100" width="100px;" alt="Ombrax"/><br /><sub><b>Ombrax</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=Ombrax" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/rafaelss95"><img src="https://avatars0.githubusercontent.com/u/11965907?v=4?s=100" width="100px;" alt="Rafael Santana"/><br /><sub><b>Rafael Santana</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=rafaelss95" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=rafaelss95" title="Tests">โ ๏ธ</a> <a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Arafaelss95" title="Bug reports">๐</a></td> </tr> <tr> - <td align="center"><a href="https://twitter.com/B_Blackwo"><img src="https://avatars0.githubusercontent.com/u/7598058?v=4?s=100" width="100px;" alt="Benjamin Blackwood"/><br /><sub><b>Benjamin Blackwood</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=BBlackwo" title="Documentation">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=BBlackwo" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="http://gustavoporto.dev"><img src="https://avatars2.githubusercontent.com/u/3718120?v=4?s=100" width="100px;" alt="Gustavo Porto"/><br /><sub><b>Gustavo Porto</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=portothree" title="Documentation">๐</a></td> - <td align="center"><a href="http://wwww.reibo.be"><img src="https://avatars1.githubusercontent.com/u/1673799?v=4?s=100" width="100px;" alt="Bo Vandersteene"/><br /><sub><b>Bo Vandersteene</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=bovandersteene" title="Code">๐ป</a></td> - <td align="center"><a href="https://github.com/jbchr"><img src="https://avatars1.githubusercontent.com/u/23141806?v=4?s=100" width="100px;" alt="Janek"/><br /><sub><b>Janek</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=jbchr" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=jbchr" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://github.com/GlebIrovich"><img src="https://avatars.githubusercontent.com/u/33176414?v=4?s=100" width="100px;" alt="Gleb Irovich"/><br /><sub><b>Gleb Irovich</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=GlebIrovich" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=GlebIrovich" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://github.com/the-ult"><img src="https://avatars.githubusercontent.com/u/4863062?v=4?s=100" width="100px;" alt="Arjen"/><br /><sub><b>Arjen</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=the-ult" title="Code">๐ป</a> <a href="#maintenance-the-ult" title="Maintenance">๐ง</a></td> - <td align="center"><a href="https://lacolaco.net"><img src="https://avatars.githubusercontent.com/u/1529180?v=4?s=100" width="100px;" alt="Suguru Inatomi"/><br /><sub><b>Suguru Inatomi</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=lacolaco" title="Code">๐ป</a> <a href="#ideas-lacolaco" title="Ideas, Planning, & Feedback">๐ค</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://twitter.com/B_Blackwo"><img src="https://avatars0.githubusercontent.com/u/7598058?v=4?s=100" width="100px;" alt="Benjamin Blackwood"/><br /><sub><b>Benjamin Blackwood</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=BBlackwo" title="Documentation">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=BBlackwo" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="http://gustavoporto.dev"><img src="https://avatars2.githubusercontent.com/u/3718120?v=4?s=100" width="100px;" alt="Gustavo Porto"/><br /><sub><b>Gustavo Porto</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=portothree" title="Documentation">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="http://wwww.reibo.be"><img src="https://avatars1.githubusercontent.com/u/1673799?v=4?s=100" width="100px;" alt="Bo Vandersteene"/><br /><sub><b>Bo Vandersteene</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=bovandersteene" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/jbchr"><img src="https://avatars1.githubusercontent.com/u/23141806?v=4?s=100" width="100px;" alt="Janek"/><br /><sub><b>Janek</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=jbchr" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=jbchr" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/GlebIrovich"><img src="https://avatars.githubusercontent.com/u/33176414?v=4?s=100" width="100px;" alt="Gleb Irovich"/><br /><sub><b>Gleb Irovich</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=GlebIrovich" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=GlebIrovich" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/the-ult"><img src="https://avatars.githubusercontent.com/u/4863062?v=4?s=100" width="100px;" alt="Arjen"/><br /><sub><b>Arjen</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=the-ult" title="Code">๐ป</a> <a href="#maintenance-the-ult" title="Maintenance">๐ง</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://lacolaco.net"><img src="https://avatars.githubusercontent.com/u/1529180?v=4?s=100" width="100px;" alt="Suguru Inatomi"/><br /><sub><b>Suguru Inatomi</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=lacolaco" title="Code">๐ป</a> <a href="#ideas-lacolaco" title="Ideas, Planning, & Feedback">๐ค</a></td> </tr> <tr> - <td align="center"><a href="https://github.com/amitmiran137"><img src="https://avatars.githubusercontent.com/u/47772523?v=4?s=100" width="100px;" alt="Amit Miran"/><br /><sub><b>Amit Miran</b></sub></a><br /><a href="#infra-amitmiran137" title="Infrastructure (Hosting, Build-Tools, etc)">๐</a></td> - <td align="center"><a href="https://github.com/jwillebrands"><img src="https://avatars.githubusercontent.com/u/8925?v=4?s=100" width="100px;" alt="Jan-Willem Willebrands"/><br /><sub><b>Jan-Willem Willebrands</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=jwillebrands" title="Code">๐ป</a></td> - <td align="center"><a href="https://www.sandroroth.com"><img src="https://avatars.githubusercontent.com/u/16229645?v=4?s=100" width="100px;" alt="Sandro"/><br /><sub><b>Sandro</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=rothsandro" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Arothsandro" title="Bug reports">๐</a></td> - <td align="center"><a href="https://github.com/michaelwestphal"><img src="https://avatars.githubusercontent.com/u/1829174?v=4?s=100" width="100px;" alt="Michael Westphal"/><br /><sub><b>Michael Westphal</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=michaelwestphal" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=michaelwestphal" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://github.com/Lukas-Kullmann"><img src="https://avatars.githubusercontent.com/u/387547?v=4?s=100" width="100px;" alt="Lukas"/><br /><sub><b>Lukas</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=Lukas-Kullmann" title="Code">๐ป</a></td> - <td align="center"><a href="https://matan.io"><img src="https://avatars.githubusercontent.com/u/12711091?v=4?s=100" width="100px;" alt="Matan Borenkraout"/><br /><sub><b>Matan Borenkraout</b></sub></a><br /><a href="#maintenance-MatanBobi" title="Maintenance">๐ง</a></td> - <td align="center"><a href="https://github.com/mleimer"><img src="https://avatars.githubusercontent.com/u/14271564?v=4?s=100" width="100px;" alt="mleimer"/><br /><sub><b>mleimer</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=mleimer" title="Documentation">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=mleimer" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/amitmiran137"><img src="https://avatars.githubusercontent.com/u/47772523?v=4?s=100" width="100px;" alt="Amit Miran"/><br /><sub><b>Amit Miran</b></sub></a><br /><a href="#infra-amitmiran137" title="Infrastructure (Hosting, Build-Tools, etc)">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/jwillebrands"><img src="https://avatars.githubusercontent.com/u/8925?v=4?s=100" width="100px;" alt="Jan-Willem Willebrands"/><br /><sub><b>Jan-Willem Willebrands</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=jwillebrands" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://www.sandroroth.com"><img src="https://avatars.githubusercontent.com/u/16229645?v=4?s=100" width="100px;" alt="Sandro"/><br /><sub><b>Sandro</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=rothsandro" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Arothsandro" title="Bug reports">๐</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/michaelwestphal"><img src="https://avatars.githubusercontent.com/u/1829174?v=4?s=100" width="100px;" alt="Michael Westphal"/><br /><sub><b>Michael Westphal</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=michaelwestphal" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=michaelwestphal" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/Lukas-Kullmann"><img src="https://avatars.githubusercontent.com/u/387547?v=4?s=100" width="100px;" alt="Lukas"/><br /><sub><b>Lukas</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=Lukas-Kullmann" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://matan.io"><img src="https://avatars.githubusercontent.com/u/12711091?v=4?s=100" width="100px;" alt="Matan Borenkraout"/><br /><sub><b>Matan Borenkraout</b></sub></a><br /><a href="#maintenance-MatanBobi" title="Maintenance">๐ง</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/mleimer"><img src="https://avatars.githubusercontent.com/u/14271564?v=4?s=100" width="100px;" alt="mleimer"/><br /><sub><b>mleimer</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=mleimer" title="Documentation">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=mleimer" title="Tests">โ ๏ธ</a></td> </tr> <tr> - <td align="center"><a href="https://github.com/meirka"><img src="https://avatars.githubusercontent.com/u/750901?v=4?s=100" width="100px;" alt="MeIr"/><br /><sub><b>MeIr</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Ameirka" title="Bug reports">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=meirka" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://github.com/jadengis"><img src="https://avatars.githubusercontent.com/u/13421336?v=4?s=100" width="100px;" alt="John Dengis"/><br /><sub><b>John Dengis</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=jadengis" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=jadengis" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://github.com/dzonatan"><img src="https://avatars.githubusercontent.com/u/5166666?v=4?s=100" width="100px;" alt="Rokas Brazdลพionis"/><br /><sub><b>Rokas Brazdลพionis</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=dzonatan" title="Code">๐ป</a></td> - <td align="center"><a href="https://github.com/mateusduraes"><img src="https://avatars.githubusercontent.com/u/19319404?v=4?s=100" width="100px;" alt="Mateus Duraes"/><br /><sub><b>Mateus Duraes</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=mateusduraes" title="Code">๐ป</a></td> - <td align="center"><a href="https://github.com/JJosephttg"><img src="https://avatars.githubusercontent.com/u/23690250?v=4?s=100" width="100px;" alt="Josh Joseph"/><br /><sub><b>Josh Joseph</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=JJosephttg" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=JJosephttg" title="Tests">โ ๏ธ</a></td> - <td align="center"><a href="https://github.com/shaman-apprentice"><img src="https://avatars.githubusercontent.com/u/3596742?v=4?s=100" width="100px;" alt="Torsten Knauf"/><br /><sub><b>Torsten Knauf</b></sub></a><br /><a href="#maintenance-shaman-apprentice" title="Maintenance">๐ง</a></td> - <td align="center"><a href="https://github.com/antischematic"><img src="https://avatars.githubusercontent.com/u/12976684?v=4?s=100" width="100px;" alt="antischematic"/><br /><sub><b>antischematic</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Aantischematic" title="Bug reports">๐</a> <a href="#ideas-antischematic" title="Ideas, Planning, & Feedback">๐ค</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/meirka"><img src="https://avatars.githubusercontent.com/u/750901?v=4?s=100" width="100px;" alt="MeIr"/><br /><sub><b>MeIr</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Ameirka" title="Bug reports">๐</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=meirka" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/jadengis"><img src="https://avatars.githubusercontent.com/u/13421336?v=4?s=100" width="100px;" alt="John Dengis"/><br /><sub><b>John Dengis</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=jadengis" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=jadengis" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/dzonatan"><img src="https://avatars.githubusercontent.com/u/5166666?v=4?s=100" width="100px;" alt="Rokas Brazdลพionis"/><br /><sub><b>Rokas Brazdลพionis</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=dzonatan" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/mateusduraes"><img src="https://avatars.githubusercontent.com/u/19319404?v=4?s=100" width="100px;" alt="Mateus Duraes"/><br /><sub><b>Mateus Duraes</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=mateusduraes" title="Code">๐ป</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/JJosephttg"><img src="https://avatars.githubusercontent.com/u/23690250?v=4?s=100" width="100px;" alt="Josh Joseph"/><br /><sub><b>Josh Joseph</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=JJosephttg" title="Code">๐ป</a> <a href="https://github.com/testing-library/angular-testing-library/commits?author=JJosephttg" title="Tests">โ ๏ธ</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/shaman-apprentice"><img src="https://avatars.githubusercontent.com/u/3596742?v=4?s=100" width="100px;" alt="Torsten Knauf"/><br /><sub><b>Torsten Knauf</b></sub></a><br /><a href="#maintenance-shaman-apprentice" title="Maintenance">๐ง</a></td> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/antischematic"><img src="https://avatars.githubusercontent.com/u/12976684?v=4?s=100" width="100px;" alt="antischematic"/><br /><sub><b>antischematic</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/issues?q=author%3Aantischematic" title="Bug reports">๐</a> <a href="#ideas-antischematic" title="Ideas, Planning, & Feedback">๐ค</a></td> + </tr> + <tr> + <td align="center" valign="top" width="14.28%"><a href="https://github.com/TrustNoOneElse"><img src="https://avatars.githubusercontent.com/u/25935352?v=4?s=100" width="100px;" alt="Florian Pabst"/><br /><sub><b>Florian Pabst</b></sub></a><br /><a href="https://github.com/testing-library/angular-testing-library/commits?author=TrustNoOneElse" title="Code">๐ป</a></td> </tr> </tbody> </table> From 8bdc12ede8f68c975e403618e9129b0c9f23f798 Mon Sep 17 00:00:00 2001 From: Tim Deschryver <28659384+timdeschryver@users.noreply.github.com> Date: Sat, 21 Jan 2023 17:22:44 +0100 Subject: [PATCH 2/5] test: reproduce #358 (#359) --- .../src/app/issues/issue-358.spec.ts | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 apps/example-app/src/app/issues/issue-358.spec.ts diff --git a/apps/example-app/src/app/issues/issue-358.spec.ts b/apps/example-app/src/app/issues/issue-358.spec.ts new file mode 100644 index 0000000..6d936c0 --- /dev/null +++ b/apps/example-app/src/app/issues/issue-358.spec.ts @@ -0,0 +1,40 @@ +import { Component, Input } from '@angular/core'; +import { render, screen, fireEvent } from '@testing-library/angular'; + +@Component({ + selector: 'app-root', + template: ` <button (click)="decrement()">-</button> + <span data-testid="count">Current Count: {{ counter }}</span> + <button (click)="increment()">+</button>`, +}) +class AppComponent { + @Input() counter = 0; + + increment() { + this.counter += 1; + } + + decrement() { + this.counter -= 1; + } +} + +describe('Counter', () => { + it('should render counter', async () => { + await render(AppComponent, { + componentProperties: { counter: 5 }, + }); + + expect(screen.getByText('Current Count: 5')).toBeInTheDocument(); + }); + + it('should increment the counter on click', async () => { + await render(AppComponent, { + componentProperties: { counter: 5 }, + }); + + fireEvent.click(screen.getByText('+')); + + expect(screen.getByText('Current Count: 6')).toBeInTheDocument(); + }); +}); From 52a25864de96c24d908abd1462adc1169c76fb6b Mon Sep 17 00:00:00 2001 From: Tim Deschryver <28659384+timdeschryver@users.noreply.github.com> Date: Sat, 28 Jan 2023 16:03:49 +0100 Subject: [PATCH 3/5] add checkbox example (#363) --- .../app/examples/04-forms-with-material.spec.ts | 17 +++++++++++++++++ .../src/app/examples/04-forms-with-material.ts | 3 +++ apps/example-app/src/app/material.module.ts | 3 ++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/apps/example-app/src/app/examples/04-forms-with-material.spec.ts b/apps/example-app/src/app/examples/04-forms-with-material.spec.ts index 64ace4a..e1e16e3 100644 --- a/apps/example-app/src/app/examples/04-forms-with-material.spec.ts +++ b/apps/example-app/src/app/examples/04-forms-with-material.spec.ts @@ -13,12 +13,14 @@ test('is possible to fill in a form and verify error messages (with the help of const scoreControl = screen.getByRole('spinbutton', { name: /score/i }); const colorControl = screen.getByPlaceholderText(/color/i); const dateControl = screen.getByRole('textbox', { name: /Choose a date/i }); + const checkboxControl = screen.getByRole('checkbox', { name: /agree/i }); const errors = screen.getByRole('alert'); expect(errors).toContainElement(screen.queryByText('name is required')); expect(errors).toContainElement(screen.queryByText('score must be greater than 1')); expect(errors).toContainElement(screen.queryByText('color is required')); + expect(errors).toContainElement(screen.queryByText('agree is required')); userEvent.type(nameControl, 'Tim'); userEvent.clear(scoreControl); @@ -26,9 +28,15 @@ test('is possible to fill in a form and verify error messages (with the help of userEvent.click(colorControl); userEvent.click(screen.getByText(/green/i)); + expect(checkboxControl).not.toBeChecked(); + userEvent.click(checkboxControl); + expect(checkboxControl).toBeChecked(); + expect(checkboxControl).toBeValid(); + expect(screen.queryByText('name is required')).not.toBeInTheDocument(); expect(screen.getByText('score must be lesser than 10')).toBeInTheDocument(); expect(screen.queryByText('color is required')).not.toBeInTheDocument(); + expect(screen.queryByText('agree is required')).not.toBeInTheDocument(); expect(scoreControl).toBeInvalid(); userEvent.clear(scoreControl); @@ -42,6 +50,7 @@ test('is possible to fill in a form and verify error messages (with the help of expect(nameControl).toHaveValue('Tim'); expect(scoreControl).toHaveValue(7); expect(colorControl).toHaveTextContent('Green'); + expect(checkboxControl).toBeChecked(); const form = screen.getByRole('form'); expect(form).toHaveFormValues({ @@ -50,6 +59,7 @@ test('is possible to fill in a form and verify error messages (with the help of }); // material doesn't add these to the form + expect((fixture.componentInstance as MaterialFormsComponent).form?.get('agree')?.value).toBe(true); expect((fixture.componentInstance as MaterialFormsComponent).form?.get('color')?.value).toBe('G'); expect((fixture.componentInstance as MaterialFormsComponent).form?.get('date')?.value).toEqual(new Date(2022, 7, 11)); }); @@ -64,22 +74,29 @@ test('set and show pre-set form values', async () => { score: 4, color: 'B', date: new Date(2022, 7, 11), + agree: true, }); detectChanges(); const nameControl = screen.getByLabelText(/name/i); const scoreControl = screen.getByRole('spinbutton', { name: /score/i }); const colorControl = screen.getByPlaceholderText(/color/i); + const checkboxControl = screen.getByRole('checkbox', { name: /agree/i }); expect(nameControl).toHaveValue('Max'); expect(scoreControl).toHaveValue(4); expect(colorControl).toHaveTextContent('Blue'); + expect(checkboxControl).toBeChecked(); + userEvent.click(checkboxControl); const form = screen.getByRole('form'); expect(form).toHaveFormValues({ name: 'Max', score: 4, }); + + // material doesn't add these to the form + expect((fixture.componentInstance as MaterialFormsComponent).form?.get('agree')?.value).toBe(false); expect((fixture.componentInstance as MaterialFormsComponent).form?.get('color')?.value).toBe('B'); expect((fixture.componentInstance as MaterialFormsComponent).form?.get('date')?.value).toEqual(new Date(2022, 7, 11)); }); diff --git a/apps/example-app/src/app/examples/04-forms-with-material.ts b/apps/example-app/src/app/examples/04-forms-with-material.ts index ed510d1..48b1410 100644 --- a/apps/example-app/src/app/examples/04-forms-with-material.ts +++ b/apps/example-app/src/app/examples/04-forms-with-material.ts @@ -10,6 +10,8 @@ import { UntypedFormBuilder, Validators } from '@angular/forms'; <input matInput placeholder="Name" name="name" formControlName="name" required /> </mat-form-field> + <mat-checkbox formControlName="agree">I Agree</mat-checkbox> + <mat-form-field> <mat-label>Score</mat-label> <input @@ -76,6 +78,7 @@ export class MaterialFormsComponent { score: [0, [Validators.min(1), Validators.max(10)]], color: [null, Validators.required], date: [null, Validators.required], + agree: [null, Validators.requiredTrue], }); constructor(private formBuilder: UntypedFormBuilder) {} diff --git a/apps/example-app/src/app/material.module.ts b/apps/example-app/src/app/material.module.ts index 297c9d7..51a9189 100644 --- a/apps/example-app/src/app/material.module.ts +++ b/apps/example-app/src/app/material.module.ts @@ -1,11 +1,12 @@ import { NgModule } from '@angular/core'; +import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatInputModule } from '@angular/material/input'; import { MatSelectModule } from '@angular/material/select'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatNativeDateModule } from '@angular/material/core'; @NgModule({ - exports: [MatInputModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule], + exports: [MatInputModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatCheckboxModule], }) export class MaterialModule {} From 701dc5e2a2988eb8bc0ae8838b0ec19f98428efc Mon Sep 17 00:00:00 2001 From: Tim Deschryver <28659384+timdeschryver@users.noreply.github.com> Date: Sat, 28 Jan 2023 16:12:54 +0100 Subject: [PATCH 4/5] docs: refactor form examples to typed forms --- apps/example-app/src/app/examples/03-forms.ts | 9 +++++---- .../src/app/examples/04-forms-with-material.ts | 12 ++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/apps/example-app/src/app/examples/03-forms.ts b/apps/example-app/src/app/examples/03-forms.ts index df861a3..cbf0a31 100644 --- a/apps/example-app/src/app/examples/03-forms.ts +++ b/apps/example-app/src/app/examples/03-forms.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { UntypedFormBuilder, Validators } from '@angular/forms'; +import { FormBuilder, Validators } from '@angular/forms'; @Component({ selector: 'app-fixture', @@ -35,13 +35,14 @@ export class FormsComponent { { id: 'B', value: 'Blue' }, { id: 'G', value: 'Green' }, ]; + form = this.formBuilder.group({ - name: ['', Validators.required], + name: ['', [Validators.required]], score: [0, { validators: [Validators.min(1), Validators.max(10)], updateOn: 'blur' }], - color: ['', Validators.required], + color: [null as string | null, Validators.required], }); - constructor(private formBuilder: UntypedFormBuilder) {} + constructor(private formBuilder: FormBuilder) {} get formErrors() { return Object.keys(this.form.controls) diff --git a/apps/example-app/src/app/examples/04-forms-with-material.ts b/apps/example-app/src/app/examples/04-forms-with-material.ts index 48b1410..852a345 100644 --- a/apps/example-app/src/app/examples/04-forms-with-material.ts +++ b/apps/example-app/src/app/examples/04-forms-with-material.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { UntypedFormBuilder, Validators } from '@angular/forms'; +import { FormBuilder, Validators } from '@angular/forms'; @Component({ selector: 'app-fixture', @@ -74,14 +74,14 @@ export class MaterialFormsComponent { { id: 'G', value: 'Green' }, ]; form = this.formBuilder.group({ - name: ['', Validators.required], + name: ['', [Validators.required]], score: [0, [Validators.min(1), Validators.max(10)]], - color: [null, Validators.required], - date: [null, Validators.required], - agree: [null, Validators.requiredTrue], + color: [null as string | null, Validators.required], + date: [null as Date | null, Validators.required], + agree: [false, Validators.requiredTrue], }); - constructor(private formBuilder: UntypedFormBuilder) {} + constructor(private formBuilder: FormBuilder) {} get colorControlDisplayValue(): string | undefined { const selectedId = this.form.get('color')?.value; From d3407ca2f2541ec2f954a5ad975bfb32f35be04b Mon Sep 17 00:00:00 2001 From: Josh Joseph <jjosephttg@gmail.com> Date: Sat, 18 Feb 2023 12:31:23 -0500 Subject: [PATCH 5/5] feat: add initialRoute parameter to avoid resolver issues with using a default route (#367) --- projects/testing-library/src/lib/models.ts | 15 ++++++ .../src/lib/testing-library.ts | 3 ++ projects/testing-library/tests/render.spec.ts | 46 +++++++++++++++++++ 3 files changed, 64 insertions(+) diff --git a/projects/testing-library/src/lib/models.ts b/projects/testing-library/src/lib/models.ts index 51fe5f7..0e4b404 100644 --- a/projects/testing-library/src/lib/models.ts +++ b/projects/testing-library/src/lib/models.ts @@ -328,6 +328,21 @@ export interface RenderComponentOptions<ComponentType, Q extends Queries = typeo */ routes?: Routes; + /** + * @description + * Specifies which route should be initially navigated to + * + * @example + * const component = await render(AppComponent, { + * initialRoute: 'myroute', + * routes: [ + * { path: '', component: HomeComponent }, + * { path: 'myroute', component: SecondaryComponent } + * ] + * }) + */ + initialRoute?: string; + /** * @description * Removes the Angular attributes (ng-version, and root-id) from the fixture. diff --git a/projects/testing-library/src/lib/testing-library.ts b/projects/testing-library/src/lib/testing-library.ts index 1b5e759..d2cf3ad 100644 --- a/projects/testing-library/src/lib/testing-library.ts +++ b/projects/testing-library/src/lib/testing-library.ts @@ -64,6 +64,7 @@ export async function render<SutType, WrapperType = SutType>( routes = [], removeAngularAttributes = false, defaultImports = [], + initialRoute = '', } = { ...globalConfig, ...renderOptions }; dtlConfigure({ @@ -107,6 +108,8 @@ export async function render<SutType, WrapperType = SutType>( const zone = safeInject(NgZone); const router = safeInject(Router); + if (initialRoute) await router.navigate([initialRoute]); + if (typeof router?.initialNavigation === 'function') { if (zone) { zone.run(() => router.initialNavigation()); diff --git a/projects/testing-library/tests/render.spec.ts b/projects/testing-library/tests/render.spec.ts index 12a1f62..28e5996 100644 --- a/projects/testing-library/tests/render.spec.ts +++ b/projects/testing-library/tests/render.spec.ts @@ -12,6 +12,7 @@ import { import { NoopAnimationsModule, BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { TestBed } from '@angular/core/testing'; import { render, fireEvent, screen } from '../src/public_api'; +import { Resolve, RouterModule } from '@angular/router'; @Component({ selector: 'atl-fixture', @@ -296,3 +297,48 @@ describe('DebugElement', () => { expect(view.debugElement.componentInstance).toBeInstanceOf(FixtureComponent); }); }); + +describe('initialRoute', () => { + @Component({ + standalone: true, + selector: 'atl-fixture2', + template: `<button>Secondary Component</button>`, + }) + class SecondaryFixtureComponent {} + + @Component({ + standalone: true, + selector: 'atl-router-fixture', + template: `<router-outlet></router-outlet>`, + imports: [RouterModule], + }) + class RouterFixtureComponent {} + + @Injectable() + class FixtureResolver implements Resolve<void> { + public isResolved = false; + + public resolve() { + this.isResolved = true; + } + } + + it('allows initially rendering a specific route to avoid triggering a resolver for the default route', async () => { + const initialRoute = 'initial-route'; + const routes = [ + { path: initialRoute, component: FixtureComponent }, + { path: '**', resolve: { data: FixtureResolver }, component: SecondaryFixtureComponent }, + ]; + + await render(RouterFixtureComponent, { + initialRoute, + routes, + providers: [FixtureResolver], + }); + const resolver = TestBed.inject(FixtureResolver); + + expect(resolver.isResolved).toBe(false); + expect(screen.queryByText('Secondary Component')).not.toBeInTheDocument(); + expect(screen.getByText('button')).toBeInTheDocument(); + }); +});