{"id":17562197,"url":"https://github.com/dup4/snapshot-cpp","last_synced_at":"2026-06-22T16:32:15.326Z","repository":{"id":41534326,"uuid":"480352799","full_name":"Dup4/snapshot-cpp","owner":"Dup4","description":"Similar to Jest Snapshot, but implemented in C++.","archived":false,"fork":false,"pushed_at":"2023-09-24T03:25:04.000Z","size":228,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T01:56:31.430Z","etag":null,"topics":["cpp","snapshot","unittest"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dup4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Dup4"}},"created_at":"2022-04-11T11:36:43.000Z","updated_at":"2023-09-12T02:41:02.000Z","dependencies_parsed_at":"2024-12-09T16:38:13.131Z","dependency_job_id":"ad8e834b-049f-4231-8f63-3fccde211cc9","html_url":"https://github.com/Dup4/snapshot-cpp","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/Dup4/snapshot-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dup4%2Fsnapshot-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dup4%2Fsnapshot-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dup4%2Fsnapshot-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dup4%2Fsnapshot-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dup4","download_url":"https://codeload.github.com/Dup4/snapshot-cpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dup4%2Fsnapshot-cpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34657892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","snapshot","unittest"],"created_at":"2024-10-21T12:26:05.047Z","updated_at":"2026-06-22T16:32:15.308Z","avatar_url":"https://github.com/Dup4.png","language":"C++","funding_links":["https://github.com/sponsors/Dup4"],"categories":[],"sub_categories":[],"readme":"\u003cimg align=\"right\" width=\"96px\" src=\"./assets/1200px_cpp_logo.svg.png\"\u003e\n\n# snapshot-cpp\n\n[![Clang Format][clang-format-badge]][clang-format-action]\n[![Test][test-badge]][test-action]\n[![codecov][codecov-badge]][codecov]\n[![GitHub release][release-badge]][release-page]\n\nSimilar to [Jest Snapshot][jest-snapshot], but implemented in C++.\n\n## Feature\n\n* `SNAPSHOT(content)`\n* `SNAPSHOT_INLINE(content)`\n* `SNAPSHOT_DIFF(before_content, after_content)` required `git` binary.\n* Support Linux and macOS.\n\n## Integration\n\n### CMake\n\n```cmake\nFetchContent_Declare(\n    snapshot\n    QUIET\n    GIT_REPOSITORY https://github.com/Dup4/snapshot-cpp.git\n    GIT_TAG v{x.y.z} # Where `x.y.z` is the release version you want to use.\n)\n```\n\n### Bazel\n\n```bazel\ngit_repository(\n    name = \"snapshot\",\n    remote = \"https://github.com/Dup4/snapshot-cpp.git\",\n    tag = \"v{x.y.z}\",  # Where `x.y.z` is the release version you want to use.\n)\n```\n\n## Usage\n\n\u003ca href=\"https://asciinema.org/a/608449\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://asciinema.org/a/608449.svg\" /\u003e\n\u003c/a\u003e\n\n```cpp\nconst std::string tmp = \"snapshot-cpp\";\nconst std::string tmp_diff = tmp + \"-diff\";\n\nEXPECT_EQ(tmp, SNAPSHOT_INLINE(tmp));\n// EXPECT_EQ(tmp, std::string(\"snapshot-cpp\"));\n\nSNAPSHOT(tmp);\n// // /home/Dup4/snapshot-cpp/test/snapshot_test.cc.TestBody.58.0\n// std::string(\"snapshot-cpp\")\n\nSNAPSHOT_DIFF(tmp, tmp_diff);\n// // /home/Dup4/snapshot-cpp/test/snapshot_test.cc.TestBody.59.0\n// // before\n// std::string(\"snapshot-cpp\")\n// // after\n// std::string(\"snapshot-cpp-diff\")\n// // diff\n// diff --git a/tmp/snapshot_test.cc.TestBody.59.0.snap.before b/tmp/snapshot_test.cc.TestBody.59.0.snap.after\n// index aeb786e..3982900 100644\n// --- a/tmp/snapshot_test.cc.TestBody.59.0.snap.before\n// +++ b/tmp/snapshot_test.cc.TestBody.59.0.snap.after\n// @@ -1 +1 @@\n// -std::string(\"snapshot-cpp\")\n// \\ No newline at end of file\n// +std::string(\"snapshot-cpp-diff\")\n// \\ No newline at end of file\n```\n\n## License\n\n[MIT](./LICENSE) License © 2022 - PRESENT [Dup4][dup4]\n\n[clang-format-badge]: https://github.com/Dup4/snapshot-cpp/workflows/Clang%20Format/badge.svg\n[clang-format-action]: https://github.com/Dup4/snapshot-cpp/actions/workflows/clang_format.yml\n[test-badge]: https://github.com/Dup4/snapshot-cpp/workflows/Test/badge.svg\n[test-action]: https://github.com/Dup4/snapshot-cpp/actions/workflows/test.yml\n[codecov-badge]: https://codecov.io/gh/Dup4/snapshot-cpp/branch/main/graph/badge.svg\n[codecov]: https://codecov.io/gh/Dup4/snapshot-cpp\n[release-badge]: https://img.shields.io/github/release/Dup4/snapshot-cpp.svg\n[release-page]: https://GitHub.com/Dup4/snapshot-cpp/releases/\n[jest-snapshot]: https://jestjs.io/docs/snapshot-testing\n[dup4]: https://github.com/Dup4\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdup4%2Fsnapshot-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdup4%2Fsnapshot-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdup4%2Fsnapshot-cpp/lists"}