{"id":18996547,"url":"https://github.com/sinonjs/referee","last_synced_at":"2025-03-17T14:11:27.788Z","repository":{"id":518703,"uuid":"2540669","full_name":"sinonjs/referee","owner":"sinonjs","description":"Test-framework agnostic assertion and expectation library","archived":false,"fork":false,"pushed_at":"2024-02-27T05:33:36.000Z","size":7999,"stargazers_count":40,"open_issues_count":10,"forks_count":21,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-04-23T09:10:30.080Z","etag":null,"topics":["assert","assertions","javascript","matchers","tdd"],"latest_commit_sha":null,"homepage":"https://sinonjs.github.io/referee/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinonjs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null}},"created_at":"2011-10-09T00:14:46.000Z","updated_at":"2024-02-08T23:15:46.000Z","dependencies_parsed_at":"2024-03-14T17:07:31.572Z","dependency_job_id":"b0cc01a9-771b-4771-8d8a-02698ba13be3","html_url":"https://github.com/sinonjs/referee","commit_stats":{"total_commits":865,"total_committers":33,"mean_commits":26.21212121212121,"dds":0.661271676300578,"last_synced_commit":"f762928d0f46f320adefc55a92d3402a315192ed"},"previous_names":["busterjs/referee"],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Freferee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Freferee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Freferee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Freferee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinonjs","download_url":"https://codeload.github.com/sinonjs/referee/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243016116,"owners_count":20222195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["assert","assertions","javascript","matchers","tdd"],"created_at":"2024-11-08T17:35:51.368Z","updated_at":"2025-03-17T14:11:27.769Z","avatar_url":"https://github.com/sinonjs.png","language":"JavaScript","funding_links":["https://opencollective.com/sinon","https://opencollective.com/sinon/backer/0/website","https://opencollective.com/sinon/backer/1/website","https://opencollective.com/sinon/backer/2/website","https://opencollective.com/sinon/backer/3/website","https://opencollective.com/sinon/backer/4/website","https://opencollective.com/sinon/backer/5/website","https://opencollective.com/sinon/backer/6/website","https://opencollective.com/sinon/backer/7/website","https://opencollective.com/sinon/backer/8/website","https://opencollective.com/sinon/backer/9/website","https://opencollective.com/sinon/backer/10/website","https://opencollective.com/sinon/backer/11/website","https://opencollective.com/sinon/backer/12/website","https://opencollective.com/sinon/backer/13/website","https://opencollective.com/sinon/backer/14/website","https://opencollective.com/sinon/backer/15/website","https://opencollective.com/sinon/backer/16/website","https://opencollective.com/sinon/backer/17/website","https://opencollective.com/sinon/backer/18/website","https://opencollective.com/sinon/backer/19/website","https://opencollective.com/sinon/backer/20/website","https://opencollective.com/sinon/backer/21/website","https://opencollective.com/sinon/backer/22/website","https://opencollective.com/sinon/backer/23/website","https://opencollective.com/sinon/backer/24/website","https://opencollective.com/sinon/backer/25/website","https://opencollective.com/sinon/backer/26/website","https://opencollective.com/sinon/backer/27/website","https://opencollective.com/sinon/backer/28/website","https://opencollective.com/sinon/backer/29/website"],"categories":[],"sub_categories":[],"readme":"# referee\n\n[![codecov](https://codecov.io/gh/sinonjs/referee/branch/main/graph/badge.svg)](https://codecov.io/gh/sinonjs/referee)\n\u003ca href=\"CODE_OF_CONDUCT.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg\" alt=\"Contributor Covenant\" /\u003e\u003c/a\u003e\n\n**referee** is in your unit tests, deciding who passes and who fails.\n\nIt is a test-framework agnostic assertion and expectation library, designed to work with your choice of test runner.\nSome highlights:\n\n- Rich library of assertions\n- Supports custom assertions\n- Complementary `assert/refute` (`refute` is referee's `assert.not`)\n- Evented: Emits success and failure events\n- Failing assertions throw exceptions by default, but can be configured to not\n- API to add custom assertions that provides quite a bit of plumbing for free\n- 100% test coverage (enforced with `test-check-coverage` in `package.json`)\n\n**referee** works in browsers (including old and rowdy ones, like IE11) and Node ([LTS versions](https://github.com/nodejs/Release#release-schedule)).\nIt will define itself as an AMD module if you want it to (i.e. if there's a\n`define` function available).\n\n## Documentation\n\nhttps://sinonjs.github.io/referee/\n\n## Backers\n\nSupport us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/sinon#backer)]\n\n\u003ca href=\"https://opencollective.com/sinon/backer/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/9/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/10/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/11/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/12/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/13/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/14/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/15/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/16/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/16/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/17/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/17/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/18/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/18/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/19/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/19/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/20/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/20/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/21/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/21/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/22/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/22/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/23/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/23/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/24/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/24/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/25/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/25/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/26/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/26/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/27/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/27/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/28/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/28/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/backer/29/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/backer/29/avatar.svg\"\u003e\u003c/a\u003e\n\n## Sponsors\n\nBecome a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/sinon#sponsor)]\n\n\u003ca href=\"https://opencollective.com/sinon/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/10/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/11/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/12/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/13/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/14/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/15/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/16/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/16/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/17/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/17/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/18/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/18/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/19/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/19/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/20/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/20/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/21/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/21/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/22/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/22/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/23/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/23/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/24/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/24/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/25/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/25/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/26/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/26/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/27/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/27/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/28/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/28/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/sinon/sponsor/29/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/sinon/sponsor/29/avatar.svg\"\u003e\u003c/a\u003e\n\n## Licence\n\nreferee was released under [BSD-3](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinonjs%2Freferee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinonjs%2Freferee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinonjs%2Freferee/lists"}