Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Simple and complete DOM testing playground that encourage good testing practices.
| Date | Stars |
|---|---|
| 2026-07-24 | 814 |
| 2026-07-25 | 814 |
| 2026-07-28 | 814 |
| 2026-07-30 | 814 |
| 2026-08-06 | 814 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<div align="center">
<h1>Testing-Playground</h1>
[][emojione]
Simple and complete DOM testing playground that encourage good testing
practices.
[**online playground**][playground]
</div>
<hr />
<!-- prettier-ignore-start -->
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
<!-- prettier-ignore-end -->
**Playground for [testing-library/dom]**

Testing-Library makes it easy to get started with testing. But even then, it can still be challenging to find the right queries or to understand why an element isn't being matched.
Testing-Playground provides you with direct feedback. Trying to visualize the direct impact of adding and removing specific (aria) attributes. All to give you some visual support while learning about the importance of aria roles, labels, and attributes.
## Embedding
[Testing-Playground][playground] can also be embedded. There is are two embed modes. Manual integration, and `oembed`.
### Oembed
To get started with `oembed`, you'll simply need to copy / paste your direct playground links into a supporting platform.
### Manual integration ([demo][embed-demo])
Follow the following steps if you wish to have an interactive playground on your website.
Add the following snippet directly before your closing `</body>` tag:
```html
<script async src="https://testing-playground.com/embed.js"></script>
```
Create a template element, in which you add to `script` tags. One for `html` and one for `javascript`. Make sure to type them correctly, as that's what our embedder uses to populate the different panes.
Note that the `data-testing-playground` attribute is required as well.
```html
<template data-testing-playground>
<script type="text/html"></script>
<script type="text/javascript"></script>
</template>
```
Now, you can populate the `html` and `javascript` elements:
```html
<template data-testing-playground>
<script type="text/html">
<button>one</button>
</script>
<script type="text/javascript">
screen.getByRole('button');
</script>
</template>
```
#### options
To configure your playground even further, add one or more of the following attributes to your opening `<template>` tag. Note, don't remove the `data-testing-playground` attribute!
| attribute | type | default | description |
| ------------ | -------------------------------------------------- | ---------------------------------------- | ----------------------------------------------- |
| data-panes | [markup | preview | query | result] | ['markup', 'preview', 'query', 'result'] | which panes to show, and in what order |
| data-height | number | string | 300 | height of the element |
| data-width | number | string | '100% ' | width of the element |
| data-loading | eager | lazy | 'lazy' | load the frame eager or lazy (see iframe specs) |
#### dynamic updates
Playground can be updated using [cross-window messaging](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage)
after it has been loaded. After the playground is loaded, you can update it with following message: `{type: 'UPDATE_DATA', markup: 'new markup', query: 'new query'}` with both `markup` and `query` being optional.
To find out, if playground is ready, you can listen for a message `{source: 'embedded-testing-playground', type: 'READY'}`
in window from whichExcerpt of 12,913 characters
Read on GitHub172
28
Marco Moretti · ICTandMore
23
23
Michaël De Boey · @BeanCounterBE / @iStart-be · Belgium
12
10
8
5
3
2
Nicky McCurdy
2
2
2
Tim Deschryver · @dotNetLab-eu · Belgium
1
1
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:1ae8996ce8db77a5, topic:testing
matched fp:1ae8996ce8db77a5, name:playground, desc:playground, readme:playground