Vitest snapshot manager
File system snapshot - serialize and deserialize file system trees to binary or JSON
Delightful JavaScript Testing.
Delightful JavaScript Testing.
rrweb's component to take a snapshot of DOM, aka DOM serializer
rrweb's component to take a snapshot of DOM, aka DOM serializer
Snapshot a list or static directory of web pages.
Jest matcher for image comparisons. Most commonly used for visual regression testing.
rrweb's component to take a snapshot of DOM, aka DOM serializer
No description provided.
Easy test setup without side effects
rrweb's component to take a snapshot of DOM, aka DOM serializer
TypeScript definitions for jest-image-snapshot
rrweb's component to take a snapshot of DOM, aka DOM serializer
Reads a v8 heapsnapshot
Provide snapshot test for eslint rule
Cypress bindings for jest-image-snapshot.
Jest snapshot serializer that beautifies HTML.
[](https://circleci.com/gh/igor-dv/jest-specific-snapshot)
The core component of Percy's CLI and SDKs that handles creating builds, discovering snapshot assets, uploading snapshots, and finalizing builds. Uses `@percy/client` for API communication, a Chromium browser for asset discovery, and starts a local API se
Jest matcher to write snapshots to a separate file instead of the default snapshot file used by Jest
Diffing Jest snapshots utility
Cypress Image Snapshot binds jest-image-snapshot's image diffing logic to Cypress commands.
Provides "ui" for testing frameworks such as mocha/jasmine which allows to define lazy variables and subjects
Adding snapshot testing to RSpec
Make sure API behavior is not changing by taking and storing a snapshot from an API response on a first run and check if they match on next spec runs.
Inline snapshot expectations for RSpec
This is an RSpec matcher that compares an actual value with the expected value from an autogenerated snapshot file.
Create snapshots of your data for simpler testing.
Snapshot testing for Minitest - compare your test outputs against saved reference snapshots
RSpec::Cheki supports snapshot testing, inspired by Jest
Rspec-page-regression provides a mechanism for headless regression testing of web page renders in RSpec. It takes into account HTML, CSS, and JavaScript, by virtue of using PhantomJS (via the Poltergeist gem) to render snapshots. It provides an RSpec matcher that compares the test snapshot to an expected image, and facilitates management of the images.
tui-td drives terminal applications in a PTY, captures ANSI state as structured data, and provides PNG screenshots and HTML renders. Includes an MCP server for AI-driven testing, a JSON test runner, RSpec matchers, Minitest assertions, semantic selectors, and named snapshot testing.
# Crowdfund (Alec) Ferramenta de linha de comando e biblioteca Ruby para simular um programa de **arrecadação de fundos** com rodadas, promessas (pledges) e diferentes tipos de projetos (básico, com *matching*, e *grant*). ## Instalação ```bash gem install crowdfund_alec ``` Ou rode a partir do código-fonte: ```bash ruby bin/crowdfund ``` ## Como funciona - Você carrega projetos via CSV (nome, fundos_iniciais, meta). - Em cada rodada, um dado é rolado para **adicionar** (+25) ou **remover** (–15) fundos do projeto. - Em paralelo, o projeto recebe **pledges** aleatórios: bronze ($50), silver ($75), gold ($100). - Projetos podem ter comportamento especial: - **MatchingProject**: quando chega a 50% da meta, cada `add_fund` passa a dobrar (+50). - **GrantProject**: nunca perde fundos em `remove_fund`. - Ao sair, o relatório salva os **subfinanciados** em `needmoremoney.txt` e imprime estatísticas. ## Uso (CLI) ```bash # (1) CSV padrão (bin/projects.csv) ruby bin/crowdfund # (2) Informando um CSV customizado ruby bin/crowdfund caminho/para/projetos.csv ``` Durante a execução: - Digite um número para a quantidade de rodadas. - Digite `q` ou `e` para sair e ver o relatório final. ### Formato do CSV ``` NomeDoProjeto,fundos_iniciais,meta BuyaBoat,5,10000 TraveltoVictoriaIsland,5,3000 GetaPuppy,5,300 ``` ## Saída esperada - Resumo por rodada dos fundos e pledges recebidos. - Arquivo `needmoremoney.txt` contendo: - Título do relatório. - Projetos totalmente financiados. - Projetos subfinanciados ordenados por **quanto falta**. - Snapshot CSV de todos os projetos. ## API (uso como biblioteca) Requerendo as classes principais: ```ruby require 'crowdfund/project' require 'crowdfund/fund_request' ``` Criando projetos e executando rodadas: ```ruby project = Project.new("My App", 500, 2000) funding = FundRequest.new("Startup do Alec") funding.add_project(project) funding.request_funding(5) funding.print_results ``` ### Classes principais - `Project` - Atributos: `name`, `fund_amount`, `target_fund_amount` - Métodos: `add_fund`, `remove_fund`, `funds_needed`, `funded?`, `received_pledge`, `pledges`, `total_funds`, `each_received_pledge`, `to_csv`, `status` - `FundRequest` - Gerencia lista de projetos, executa rodadas, imprime e salva relatórios. - `MatchingProject < Project` - Dobra `add_fund` quando `halfway_funded?` (>= 50% da meta). - `GrantProject < Project` - Sobrescreve `remove_fund` para nunca diminuir fundos. - `Pledgesmod` - Constante `PLEDGES` e `.random` para escolher bronze/silver/gold. - `FundingRound` - Regras de uma rodada: rola `Die`, aplica `add/remove`, atribui pledge. - `Fundable` (mixin) - Implementa `add_fund`, `remove_fund`, `funds_needed`, `funded?`. - `Die` - D6 simples com `roll`. ## Testes Rodar todos os testes: ```bash rspec ``` Principais cenários cobertos: - Regras de `add_fund`/`remove_fund`. - Comportamento de `MatchingProject` e `GrantProject`. - Integração de `FundingRound` e `Pledgesmod`. - Geração do relatório em `FundRequest`. ## Licença MIT — consulte o arquivo `LICENSE`.