1<!DOCTYPE html> 2<html lang="en" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width,initial-scale=1"> 6 <title>Sinon.JS | SinonJS</title> 7 <meta name="description" content="A library for stubbing, spying, and mocking in JavaScript tests. Works with any unit testing framework."> 8 <meta name="generator" content="VitePress v2.0.0-alpha.17"> 9 <link rel="preload stylesheet" href="/assets/style.GVjLPI_1.css" as="style"> 10 <link rel="preload stylesheet" href="/vp-icons.css" as="style"> 11 12
12<script type="module" src="/assets/app.CIwuSTk3.js"></script>
12 13 <link rel="preload" href="/assets/inter-roman-latin.Cy4MYw_J.woff2" as="font" type="font/woff2" crossorigin=""> 14 <link rel="modulepreload" href="/assets/chunks/theme.Dyj0Wzc0.js"> 15 <link rel="modulepreload" href="/assets/chunks/framework.D8qnfZE7.js"> 16 <link rel="modulepreload" href="/assets/index.md.k6WKE2N1.lean.js"> 17 <link rel="icon" type="image/png" href="/assets/images/favicon.png"> 18
18<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
18 19
19<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
19 20 </head> 21 <body> 22 <div id="app"><div class="Layout" data-v-c109192d><!--[--><!--]--><!--[--><span tabindex="-1" data-v-10d4d845></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-10d4d845>Skip to content</a><!--]--><!----><header class="VPNav" data-v-c109192d data-v-d5bf7c8e><div class="VPNavBar top" data-v-d5bf7c8e data-v-cc1d9f2e><div class="wrapper" data-v-cc1d9f2e><div class="container" data-v-cc1d9f2e><div class="title" data-v-cc1d9f2e><div class="VPNavBarTitle" data-v-cc1d9f2e data-v-d4488dd0><a class="title" href="/" data-v-d4488dd0><!--[--><!--]--><!--[--><img class="VPImage logo" src="/assets/images/logo.png" alt data-v-ab19afbb><!--]--><span data-v-d4488dd0>SinonJS</span><!--[--><!--]--></a></div></div><div class="content" data-v-cc1d9f2e><div class="content-body" data-v-cc1d9f2e><!--[--><!--]--><div class="VPNavBarSearch search" data-v-cc1d9f2e data-v-bdd98725><!--[--><button type="button" class="VPNavBarSearchButton" aria-label="Search" aria-keyshortcuts="/ control+k meta+k" data-v-bdd98725 data-v-69351052><span class="vpi-search" aria-hidden="true" data-v-69351052></span><span class="text" data-v-69351052>Search</span><span class="keys" aria-hidden="true" data-v-69351052><kbd class="key-cmd" data-v-69351052>â</kbd><kbd class="key-ctrl" data-v-69351052>Ctrl</kbd><kbd data-v-69351052>K</kbd></span></button><!----><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-cc1d9f2e data-v-020be4db><span id="main-nav-aria-label" class="visually-hidden" data-v-020be4db> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/getting-started" tabindex="0" data-v-020be4db data-v-727dd4ba><!--[--><span data-v-727dd4ba>Getting Started</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-020be4db data-v-d8fae6e2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-d8fae6e2><span class="text" data-v-d8fae6e2><!----><span data-v-d8fae6e2>Guides</span><span class="vpi-chevron-down text-icon" data-v-d8fae6e2></span></span></button><div class="menu" data-v-d8fae6e2><div class="VPMenu" data-v-d8fae6e2 data-v-fcd1d7a8><div class="items" data-v-fcd1d7a8><!--[--><!--[--><div class="VPMenuLink" data-v-fcd1d7a8 data-v-6e27a530><a class="VPLink link" href="/guides/how-to/" data-v-6e27a530><!--[--><span data-v-6e27a530>How-to articles</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-fcd1d7a8 data-v-6e27a530><a class="VPLink link" href="/guides/faq" data-v-6e27a530><!--[--><span data-v-6e27a530>FAQ</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-fcd1d7a8 data-v-6e27a530><a class="VPLink link" href="/guides/migration" data-v-6e27a530><!--[--><span data-v-6e27a530>Migration</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-fcd1d7a8 data-v-6e27a530><a class="VPLink link" href="/guides/external-resources" data-v-6e27a530><!--[--><span data-v-6e27a530>External resources</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-020be4db data-v-d8fae6e2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-d8fae6e2><span class="text" data-v-d8fae6e2><!----><span data-v-d8fae6e2>Concepts</span><span class="vpi-chevron-down text-icon" data-v-d8fae6e2></span></span></button><div class="menu" data-v-d8fae6e2><div class="VPMenu" data-v-d8fae6e2 data-v-fcd1d7a8><div class="items" data-v-fcd1d7a8><!--[--><!--[--><div class="VPMenuGroup" data-v-fcd1d7a8 data-v-5474bd6a><p class="title" data-v-5474bd6a>Core</p><!--[--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/fakes" data-v-6e27a530><!--[--><span data-v-6e27a530>Fakes</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/spies" data-v-6e27a530><!--[--><span data-v-6e27a530>Spies</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/stubs" data-v-6e27a530><!--[--><span data-v-6e27a530>Stubs</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/fake-timers" data-v-6e27a530><!--[--><span data-v-6e27a530>Fake Timers</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/sandboxes" data-v-6e27a530><!--[--><span data-v-6e27a530>Sandboxes</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[-->
22<div class="VPMenuGroup" data-v-fcd1d7a8 data-v-5474bd6a><p class="title" data-v-5474bd6a>Advanced</p><!--[--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/matchers" data-v-6e27a530><!--[--><span data-v-6e27a530>Matchers</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/assertions" data-v-6e27a530><!--[--><span data-v-6e27a530>Assertions</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/mocks" data-v-6e27a530><!--[--><span data-v-6e27a530>Mocks</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-fcd1d7a8 data-v-5474bd6a><p class="title" data-v-5474bd6a>Extras</p><!--[--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/promises" data-v-6e27a530><!--[--><span data-v-6e27a530>Promises</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-5474bd6a data-v-6e27a530><a class="VPLink link" href="/concepts/utils" data-v-6e27a530><!--[--><span data-v-6e27a530>Utils</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-020be4db data-v-d8fae6e2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-d8fae6e2><span class="text" data-v-d8fae6e2><!----><span data-v-d8fae6e2>About</span><span class="vpi-chevron-down text-icon" data-v-d8fae6e2></span></span></button><div class="menu" data-v-d8fae6e2><div class="VPMenu" data-v-d8fae6e2 data-v-fcd1d7a8><div class="items" data-v-fcd1d7a8><!--[--><!--[--><div class="VPMenuLink" data-v-fcd1d7a8 data-v-6e27a530><a class="VPLink link" href="/sponsors" data-v-6e27a530><!--[--><span data-v-6e27a530>Sponsors</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-cc1d9f2e data-v-3f90c1a5><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-3f90c1a5 data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-cc1d9f2e data-v-ef6192dc data-v-a1a7286e><!--[--><a class="VPSocialLink no-icon" href="https://github.com/sinonjs/sinon" aria-label="github" target="_blank" rel="me noopener" data-v-a1a7286e data-v-32d78712><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-cc1d9f2e data-v-2a0cad91 data-v-d8fae6e2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-d8fae6e2><span class="vpi-more-horizontal icon" data-v-d8fae6e2></span></button><div class="menu" data-v-d8fae6e2><div class="VPMenu" data-v-d8fae6e2 data-v-fcd1d7a8><!----><!--[--><!--[--><!----><div class="group" data-v-2a0cad91><div class="item appearance" data-v-2a0cad91><p class="label" data-v-2a0cad91>Appearance</p><div class="appearance-action" data-v-2a0cad91><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-2a0cad91 data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div></div></div><div class="group" data-v-2a0cad91><div class="item social-links" data-v-2a0cad91><div class="VPSocialLinks social-links-list" data-v-2a0cad91 data-v-a1a7286e><!--[--><a class="VPSocialLink no-icon" href="https://github.com/sinonjs/sinon" aria-label="github" target="_blank" rel="me noopener" data-v-a1a7286e data-v-32d78712><span class="vpi-social-github"></span></a>
22<!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-cc1d9f2e data-v-6bee1efd><span class="container" data-v-6bee1efd><span class="top" data-v-6bee1efd></span><span class="middle" data-v-6bee1efd></span><span class="bottom" data-v-6bee1efd></span></span></button></div></div></div></div><div class="divider" data-v-cc1d9f2e><div class="divider-line" data-v-cc1d9f2e></div></div></div><!----></header><div class="VPLocalNav empty fixed" data-v-c109192d data-v-73add737><div class="container" data-v-73add737><!----><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-73add737 data-v-e28a51a6><button data-v-e28a51a6>Return to top</button><!----></div></div></div><!----><div class="VPContent" id="VPContent" data-v-c109192d data-v-529a4999><div class="VPDoc has-aside" data-v-529a4999 data-v-d668f7cc><!--[--><!--]--><div class="container" data-v-d668f7cc><div class="aside" data-v-d668f7cc><div class="aside-curtain" data-v-d668f7cc></div><div class="aside-container" data-v-d668f7cc><div class="aside-content" data-v-d668f7cc><div class="VPDocAside" data-v-d668f7cc data-v-cb998dce><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-cb998dce data-v-c8b19031><div class="content" data-v-c8b19031><div class="outline-marker" data-v-c8b19031></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-c8b19031>On this page</div><ul class="VPDocOutlineItem root" data-v-c8b19031 data-v-63c57e50><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-cb998dce></div><!--[--><!--]--><div class="VPDocAsideCarbonAds" data-v-cb998dce><div class="VPCarbonAds" data-v-ae645167></div></div><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-d668f7cc><div class="content-container" data-v-d668f7cc><!--[--><!--]--><main class="main" data-v-d668f7cc><div style="position:relative;" class="vp-doc _" data-v-d668f7cc><div><div style="display:none;" hidden="true" aria-hidden="true">Are you an LLM? View /llms.txt for optimized Markdown documentation, or /llms-full.txt for full documentation bundle</div><div style="display:flex;justify-content:center;"><img src="/assets/logo.CZCQHqhn.png" alt="Sinon.JS logo" width="200"></div><p style="font-size:1.25rem;text-align:center;"> A library for stubbing, spying, and mocking in JavaScript tests. Works with any unit testing framework. </p><h2 id="install" tabindex="-1">Install <a class="header-anchor" href="#install" aria-label="Permalink to âInstallâ">â</a></h2><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sinon</span></span></code></pre></div><h2 id="quick-start" tabindex="-1">Quick Start <a class="header-anchor" href="#quick-start" aria-label="Permalink to âQuick Startâ">â</a></h2><div class="language-js"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">
22 tap </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "tap"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span> 23<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> *</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sinon </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "sinon"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span> 24<span class="line"></span> 25<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> myAPI</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span> 26<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> doSomething</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: () </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "real result"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span> 27<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> doSomethingElse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: () </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "other result"</span></span> 28<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">};</span></span> 29<span class="line"></span> 30<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">tap.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">test</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"myAPI"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">t</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span> 31<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> spy</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sinon.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spy</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(myAPI, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"doSomething"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span> 32<span class="line"></span> 33<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> myAPI.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">doSomething</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span> 34<span class="line"></span> 35<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ok</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(spy.calledOnce, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"spy was called once"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span> 36<span class="line"></span> 37<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> spy.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">restore</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span> 38<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">end</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span> 39<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});
39</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-d668f7cc data-v-1bcd8184><!--[--><!--]--><!----><!----></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div> 40
40<script>window.__VP_HASH_MAP__=JSON.parse("{\"concepts_assertions_api__index.md\":\"CEXZMfJ0\",\"concepts_assertions_api_always-called-on.md\":\"DHu4zjOg\",\"concepts_assertions_api_always-called-with-exactly.md\":\"ByVxftVZ\",\"concepts_assertions_api_always-called-with-match.md\":\"BBruVl36\",\"concepts_assertions_api_always-called-with.md\":\"DFSnvQ-c\",\"concepts_assertions_api_always-threw.md\":\"10IGiAXB\",\"concepts_assertions_api_call-count.md\":\"DeUKwmmo\",\"concepts_assertions_api_call-order.md\":\"DpBF1bgU\",\"concepts_assertions_api_called-on.md\":\"BUJGGczA\",\"concepts_assertions_api_called-once-with-exactly.md\":\"DDL2X6_J\",\"concepts_assertions_api_called-once-with-match.md\":\"DbECDKBR\",\"concepts_assertions_api_called-once.md\":\"_r7Vb2Om\",\"concepts_assertions_api_called-thrice.md\":\"_h1SNI7a\",\"concepts_assertions_api_called-twice.md\":\"BYs3g_hc\",\"concepts_assertions_api_called-with-exactly.md\":\"DG51B2rI\",\"concepts_assertions_api_called-with-match.md\":\"SrnOeCDb\",\"concepts_assertions_api_called-with-new.md\":\"A-E7zjBO\",\"concepts_assertions_api_called-with.md\":\"De8uSRZk\",\"concepts_assertions_api_called.md\":\"DVBfbWzY\",\"concepts_assertions_api_expose.md\":\"CDE5J3EY\",\"concepts_assertions_api_fail.md\":\"9WiGGsXh\",\"concepts_assertions_api_index.md\":\"DjRxwTlC\",\"concepts_assertions_api_match.md\":\"DcTagqNe\",\"concepts_assertions_api_never-called-with-match.md\":\"kaMWUtjg\",\"concepts_assertions_api_never-called-with.md\":\"ll5dkpyr\",\"concepts_assertions_api_not-called.md\":\"BZ7t8uKS\",\"concepts_assertions_api_pass.md\":\"DH6HjC28\",\"concepts_assertions_api_threw.md\":\"DvNuBdPJ\",\"concepts_assertions_index.md\":\"0bcwGRWr\",\"concepts_fake-timers_count-timers.md\":\"Bz-w-Bp-\",\"concepts_fake-timers_index.md\":\"DLjYCuY1\",\"concepts_fake-timers_jump.md\":\"DDhgDhCu\",\"concepts_fake-timers_next.md\":\"CR6Cx2rV\",\"concepts_fake-timers_now.md\":\"DRIX544m\",\"concepts_fake-timers_reset.md\":\"DvtIPb7y\",\"concepts_fake-timers_restore.md\":\"qa0QadOs\",\"concepts_fake-timers_run-all.md\":\"Ch086b7f\",\"concepts_fake-timers_run-microtasks.md\":\"AUo1pFrF\",\"concepts_fake-timers_run-to-frame.md\":\"DStZzTeg\",\"concepts_fake-timers_run-to-last.md\":\"BltOZu-b\",\"concepts_fake-timers_set-system-time.md\":\"CmSXjBDw\",\"concepts_fake-timers_tick.md\":\"Cd_djwfD\",\"concepts_fake-timers_use-fake-timers.md\":\"cmnLEF1z\",\"concepts_fakes_api_index.md\":\"Dbbq3E5B\",\"concepts_fakes_api_rejects.md\":\"DXCXlDL5\",\"concepts_fakes_api_resolves.md\":\"BdV-bBry\",\"concepts_fakes_api_returns.md\":\"D-ZNa5yx\",\"concepts_fakes_api_throws.md\":\"DAmKhkt1\",\"concepts_fakes_api_yields-async.md\":\"DMx5Qiy-\",\"concepts_fakes_api_yields.md\":\"0HiwBcPd\",\"concepts_fakes_error-handling.md\":\"CbXoSs9Y\",\"concepts_fakes_index.md\":\"BAFYKNMp\",\"concepts_matchers_api_any.md\":\"D_n2Lzhs\",\"concepts_matchers_api_array.md\":\"Lzibl4iY\",\"concepts_matchers_api_bool.md\":\"nCvYWpo9\",\"concepts_matchers_api_date.md\":\"Dcqe39cR\",\"concepts_matchers_api_defined.md\":\"Bvl2S18D\",\"concepts_matchers_api_every.md\":\"B40MKG_M\",\"concepts_matchers_api_falsy.md\":\"A8gYSb2_\",\"concepts_matchers_api_func.md\":\"CdhGk1J4\",\"concepts_matchers_api_has-nested.md\":\"DonamiL0\",\"concepts_matchers_api_has-own.md\":\"D63eUtf9\",\"concepts_matchers_api_has.md\":\"Dyv2AVv5\",\"concepts_matchers_api_in.md\":\"BlHVJGnZ\",\"concepts_matchers_api_index.md\":\"BVwpgVvc\",\"concepts_matchers_api_instance-of.md\":\"B1XKuocC\",\"concepts_matchers_api_map.md\":\"DE82MGqz\",\"concepts_matchers_api_match.md\":\"BNqj5TEI\",\"concepts_matchers_api_number.md\":\"BybT-K08\",\"concepts_matchers_api_object.md\":\"BT-p20hV\",\"concepts_matchers_api_regexp.md\":\"Bo-OVXiN\",\"concepts_matchers_api_same.md\":\"k_ia3s8S\",\"concepts_matchers_api_set.md\":\"BnA6YidN\",\"concepts_matchers_api_some.md\":\"BSkNoM8K\",\"concepts_matchers_api_string.md\":\"9Lx37zhl\",\"concepts_matchers_api_symbol.md\":\"D3ZzGauu\",\"concepts_matchers_api_truthy.md\":\"B5tML8h1\",\"concepts_matchers_api_type-of.md\":\"DsZzEMQ_\",\"concepts_matchers_combining-matchers.md\":\"CJJRQIWE\",\"concepts_matchers_custom-matchers.md\":\"Dc47XDkx\",\"concepts_matchers_index.md\":\"B3EgJBp3\",\"concepts_mocks_api__index.md\":\"CDbA-b34\",\"concepts_mocks_api_expectations.md\":\"D8zRjRiQ\",\"concepts_mocks_api_expects.md\":\"C7XvMG3o\",\"concepts_mocks_api_index.md\":\"D5fOaIti\",\"concepts_mocks_api_restore.md\":\"BYRbdCYT\",\"concepts_mocks_api_verify.md\":\"78mEJyWr\",\"concepts_mocks_error-handling.md\":\"C_DdtDfc\",\"concepts_mocks_index.md\":\"BbnNQGCZ\",\"concepts_mocks_migrating-from-mocks.md\":\"3Wxu6UZ4\",\"concepts_promises.md\":\"DBPUAhyA\",\"concepts_sandboxes_api__index.md\":\"DKpb-oHZ\",\"concepts_sandboxes_api_assert.md\":\"DK4tXDhz\",\"concepts_sandboxes_api_create-stub-instance.md\":\"Ch3dc7Qs\",\"concepts_sandboxes_api_index.md\":\"CDrzaeXu\",\"concepts_sandboxes_api_leak-threshold.md\":\"Bd5hhxGX\",\"concepts_sandboxes_api_mock.md\":\"BAV3De3U\",\"concepts_sandboxes_api_replace-getter.md\":\"MYtIomkk\",\"concepts_sandboxes_api_replace-setter.md\":\"C0r7OYkL\",\"concepts_sandboxes_api_replace.md\":\"BFaSTAUc\",\"concepts_sandboxes_api_reset-behavior.md\":\"BJOvWqEy\",\"concepts_sandboxes_api_reset-history.md\":\"BaZkZKGl\",\"concepts_sandboxes_api_reset.md\":\"B2RcSLg2\",\"concepts_sandboxes_api_restore.md\":\"CcfXzXVM\",\"concepts_sandboxes_api_spy.md\":\"BLzrP5eG\",\"concepts_sandboxes_api_stub.md\":\"BwSOUFj3\",\"concepts_sandboxes_api_use-fake-timers.md\":\"C9ncCtHN\",\"concepts_sandboxes_api_verify-and-restore.md\":\"ChLuHPqd\",\"concepts_sandboxes_api_verify.md\":\"B9RGw5Lm\",\"concepts_sandboxes_create-sandbox.md\":\"CZjp3cIY\",\"concepts_sandboxes_index.md\":\"CCx7KvQL\",\"concepts_spies_api_always-called-on.md\":\"BzG0c38i\",\"concepts_spies_api_always-called-with-exactly.md\":\"D7O_P2OQ\",\"concepts_spies_api_always-called-with-match.md\":\"CXn9ezs7\",\"concepts_spies_api_always-called-with.md\":\"BctXZF8W\",\"concepts_spies_api_always-returned.md\":\"CALI4Xd1\",\"concepts_spies_api_always-threw.md\":\"SLHDyjQM\",\"concepts_spies_api_args.md\":\"BFetPAcI\",\"concepts_spies_api_call-count.md\":\"DO6vr3qx\",\"concepts_spies_api_called-after.md\":\"RRLhMhUw\",\"concepts_spies_api_called-before.md\":\"BZkaa6-H\",\"concepts_spies_api_called-immediately-after.md\":\"9k-S4Ye0\",\"concepts_spies_api_called-immediately-before.md\":\"Cux5V_gM\",\"concepts_spies_api_called-on.md\":\"DX6C-lbW\",\"concepts_spies_api_called-once-with-exactly.md\":\"CCn0g-sK\",\"concepts_spies_api_called-once-with.md\":\"BRpe-JFD\",\"concepts_spies_api_called-once.md\":\"DETKu4dG\",\"concepts_spies_api_called-thrice.md\":\"BEt372Ws\",\"concepts_spies_api_called-twice.md\":\"DTjRJ1H1\",\"concepts_spies_api_called-with-exactly.md\":\"DQWkf7Ih\",\"concepts_spies_api_called-with-match.md\":\"pOQj_KAb\",\"concepts_spies_api_called-with-new.md\":\"DkbZLZR1\",\"concepts_spies_api_called-with.md\":\"Dy7HfiKP\",\"concepts_spies_api_called.md\":\"Oq5gNnnV\",\"concepts_spies_api_exceptions.md\":\"CNZTe_tU\",\"concepts_spies_api_first-call.md\":\"DORLOlQS\",\"concepts_spies_api_get-call.md\":\"CATlJ-qL\",\"concepts_spies_api_get-calls.md\":\"BQ0f41mb\",\"concepts_spies_api_index.md\":\"DDtE0e2N\",\"concepts_spies_api_last-call.md\":\"Du2OD_zS\",\"concepts_spies_api_never-called-with-match.md\":\"PjFEg_AS\",\"concepts_spies_api_never-called-with.md\":\"BMVF4S2g\",\"concepts_spies_api_not-called.md\":\"B2dOBOCf\",\"concepts_spies_api_printf.md\":\"VVhiMeQG\",\"concepts_spies_api_reset-history.md\":\"BwWp-Fwu\",\"concepts_spies_api_restore.md\":\"C6NPIdt7\",\"concepts_spies_api_return-values.md\":\"CLjyNHqB\",\"concepts_spies_api_returned.md\":\"CSH73IC8\",\"concepts_spies_api_second-call.md\":\"CqLj5tAr\",\"concepts_spies_api_third-call.md\":\"DViiGNZf\",\"concepts_spies_api_this-values.md\":\"89-agvJQ\",\"concepts_spies_api_threw.md\":\"x1_ycWra\",\"concepts_spies_api_with-args.md\":\"nGsyDmNx\",\"concepts_spies_error-handling.md\":\"DR5p4KED\",\"concepts_spies_index.md\":\"BkdwYVsD\",\"concepts_spies_migrating-to-fakes.md\":\"CSdk21WL\",\"concepts_spy-call_api_args.md\":\"Bf0lLO1R\",\"concepts_spy-call_api_callback.md\":\"8N2t8-7p\",\"concepts_spy-call_api_called-after.md\":\"MeIXkwLH\",\"concepts_spy-call_api_called-before.md\":\"Rl74XuFJ\",\"concepts_spy-call_api_called-immediately-after.md\":\"HU0qbt1b\",\"concepts_spy-call_api_called-immediately-before.md\":\"yDU71zh6\",\"concepts_spy-call_api_called-on.md\":\"D0JZkkiB\",\"concepts_spy-call_api_called-with-exactly.md\":\"DM7L-ZuT\",\"concepts_spy-call_api_called-with-match.md\":\"DuBKvOmH\",\"concepts_spy-call_api_called-with.md\":\"D95jjewI\",\"concepts_spy-call_api_exception.md\":\"VNQFhlU2\",\"concepts_spy-call_api_first-arg.md\":\"DCo-iLpm\",\"concepts_spy-call_api_index.md\":\"BApIc24i\",\"concepts_spy-call_api_last-arg.md\":\"MmgfRwUW\",\"concepts_spy-call_api_not-called-with-match.md\":\"CmsDKH_W\",\"concepts_spy-call_api_not-called-with.md\":\"CIScvysQ\",\"concepts_spy-call_api_return-value.md\":\"V1yDCnfP\",\"concepts_spy-call_api_returned.md\":\"Cqh1ZEFu\",\"concepts_spy-call_api_this-value.md\":\"CAtxSCrB\",\"concepts_spy-call_api_threw.md\":\"BUt0g_MB\",\"concepts_spy-call_index.md\":\"CLK9LWGs\",\"concepts_stubs_api_add-behavior.md\":\"DiDL6kOo\",\"concepts_stubs_api_call-arg-with.md\":\"DkU
4070kEn\",\"concepts_stubs_api_call-arg.md\":\"mdsKgaGA\",\"concepts_stubs_api_call-through-with-new.md\":\"Bd1wvfZi\",\"concepts_stubs_api_calls-arg-async.md\":\"BJGNZFr2\",\"concepts_stubs_api_calls-arg-on-async.md\":\"CKQm6pgJ\",\"concepts_stubs_api_calls-arg-on-with-async.md\":\"DU_Ac7_C\",\"concepts_stubs_api_calls-arg-on-with.md\":\"COzOFy4s\",\"concepts_stubs_api_calls-arg-on.md\":\"N1yUJJxi\",\"concepts_stubs_api_calls-arg-with-async.md\":\"C7yuHivN\",\"concepts_stubs_api_calls-arg-with.md\":\"OtuRp4_j\",\"concepts_stubs_api_calls-arg.md\":\"BKjOgjrk\",\"concepts_stubs_api_calls-fake.md\":\"CgLI6nAF\",\"concepts_stubs_api_calls-through.md\":\"D7PNncFe\",\"concepts_stubs_api_get.md\":\"BITLSu9u\",\"concepts_stubs_api_index.md\":\"CZ_NPMlc\",\"concepts_stubs_api_on-call.md\":\"BY_42Bk6\",\"concepts_stubs_api_on-first-call.md\":\"CEcyoSve\",\"concepts_stubs_api_on-second-call.md\":\"Cs28x1d4\",\"concepts_stubs_api_on-third-call.md\":\"BwGHfUTw\",\"concepts_stubs_api_rejects.md\":\"Chez3-wG\",\"concepts_stubs_api_reset-behavior.md\":\"DsIMU1HX\",\"concepts_stubs_api_reset-history.md\":\"CBuQ3Cvo\",\"concepts_stubs_api_reset.md\":\"Cn0ulXxa\",\"concepts_stubs_api_resolves-arg.md\":\"DbLRvGPR\",\"concepts_stubs_api_resolves.md\":\"Clt_InQn\",\"concepts_stubs_api_returns-arg.md\":\"CSLW3Dy7\",\"concepts_stubs_api_returns-this.md\":\"x6ojhGNY\",\"concepts_stubs_api_returns.md\":\"Dvhrrld0\",\"concepts_stubs_api_set.md\":\"BZ3E6fsH\",\"concepts_stubs_api_throws-arg.md\":\"bQfC236Q\",\"concepts_stubs_api_throws.md\":\"u7nFE1xC\",\"concepts_stubs_api_value.md\":\"LmXO7K73\",\"concepts_stubs_api_with-args.md\":\"CIho7gil\",\"concepts_stubs_api_wrapped-method.md\":\"Crpp_QW1\",\"concepts_stubs_api_yield-to.md\":\"CD3Wxm6y\",\"concepts_stubs_api_yield.md\":\"5PhTOTjA\",\"concepts_stubs_api_yields-async.md\":\"DvX9ixTt\",\"concepts_stubs_api_yields-on-async.md\":\"RMgRJ7lf\",\"concepts_stubs_api_yields-on.md\":\"DpXQEhYg\",\"concepts_stubs_api_yields-right.md\":\"BO3iPHre\",\"concepts_stubs_api_yields-to-async.md\":\"CSLN6v--\",\"concepts_stubs_api_yields-to-on-async.md\":\"QiMA_gn3\",\"concepts_stubs_api_yields-to-on.md\":\"Bhv3g4G-\",\"concepts_stubs_api_yields-to.md\":\"Clr2iNUj\",\"concepts_stubs_api_yields.md\":\"BbpNdnRQ\",\"concepts_stubs_error-handling.md\":\"5gy41aeM\",\"concepts_stubs_index.md\":\"Dr_qv4AY\",\"concepts_stubs_migrating-to-fakes.md\":\"BlppgIY2\",\"concepts_utils.md\":\"Br3Kv7ew\",\"getting-started.md\":\"Cqi_I0KC\",\"guides_external-resources.md\":\"DWECSXbT\",\"guides_faq.md\":\"HqWtoTGi\",\"guides_how-to_fake-timers-async.md\":\"CA0KB7gj\",\"guides_how-to_index.md\":\"DfzkIeEs\",\"guides_how-to_link-seams-commonjs.md\":\"BdwDlCaa\",\"guides_how-to_stub-dependency.md\":\"DsuOPyr8\",\"guides_how-to_stub-esm.md\":\"DYuOm78Y\",\"guides_how-to_typescript-swc.md\":\"vD2HvQBX\",\"guides_migration.md\":\"B-IrPu9_\",\"index.md\":\"k6WKE2N1\",\"sponsors.md\":\"Bg-q90FD\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en\",\"dir\":\"ltr\",\"title\":\"SinonJS\",\"description\":\"Sinon.js documentation\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/assets/images/logo.png\",\"nav\":[{\"text\":\"Getting Started\",\"link\":\"/getting-started\"},{\"text\":\"Guides\",\"items\":[{\"text\":\"How-to articles\",\"link\":\"/guides/how-to/\"},{\"text\":\"FAQ\",\"link\":\"/guides/faq\"},{\"text\":\"Migration\",\"link\":\"/guides/migration\"},{\"text\":\"External resources\",\"link\":\"/guides/external-resources\"}]},{\"text\":\"Concepts\",\"activeMatch\":\"/concepts/\",\"items\":[{\"text\":\"Core\",\"items\":[{\"text\":\"Fakes\",\"link\":\"/concepts/fakes\"},{\"text\":\"Spies\",\"link\":\"/concepts/spies\"},{\"text\":\"Stubs\",\"link\":\"/concepts/stubs\"},{\"text\":\"Fake Timers\",\"link\":\"/concepts/fake-timers\"},{\"text\":\"Sandboxes\",\"link\":\"/concepts/sandboxes\"}]},{\"text\":\"Advanced\",\"items\":[{\"text\":\"Matchers\",\"link\":\"/concepts/matchers\"},{\"text\":\"Assertions\",\"link\":\"/concepts/assertions\"},{\"text\":\"Mocks\",\"link\":\"/concepts/mocks\"}]},{\"text\":\"Extras\",\"items\":[{\"text\":\"Promises\",\"link\":\"/concepts/promises\"},{\"text\":\"Utils\",\"link\":\"/concepts/utils\"}]}]},{\"text\":\"About\",\"items\":[{\"text\":\"Sponsors\",\"link\":\"/sponsors\"}]}],\"sidebar\":{\"/concepts/spies/\":[{\"text\":\"Spies\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/spies/\"},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"Methods\",\"collapsed\":false,\"items\":[{\"text\":\"alwaysCalledOn\",\"link\":\"/concepts/spies/api/always-called-on\"},{\"text\":\"alwaysCalledWith\",\"link\":\"/concepts/spies/api/always-called-with\"},{\"text\":\"alwaysCalledWithExactly\",\"link\":\"/concepts/spies/api/always-called-with-exactly\"},{\"text\":\"alwaysCalledWithMatch\",\"link\":\"/concepts/spies/api/always-called-with-match\"},{\"text\":\"alwaysReturned\",\"link\":\"/concepts/spies/api/always-returned\"},{\"text\":\"alwaysThrew\",\"link\":\"/concepts/spies/api/always-threw\"},{\"text\":\"calledAfter\",\"link\":\"/concepts/spies/api/called-after\"},{\"text\":\"calledBefore\",\"link\":\"/concepts/spies/api/called-before\"},{\"text\":\"calledImmediatelyAfter\",\"link\":\"/concepts/spies/api/called-immediately-after\"},{\"text\":\"calledImmediatelyBefore\",\"link\":\"/concepts/spies/api/called-immediately-before\"},{\"text\":\"calledOn\",\"link\":\"/concepts/spies/api/called-on\"},{\"text\":\"calledOnceWithExactly\",\"link\":\"/concepts/spies/api/called-once-with-exactly\"},{\"text\":\"calledWith\",\"link\":\"/concepts/spies/api/called-with\"},{\"text\":\"calledWithExactly\",\"link\":\"/concepts/spies/api/called-with-exactly\"},{\"text\":\"calledWithMatch\",\"link\":\"/concepts/spies/api/called-with-match\"},{\"text\":\"calledWithNew\",\"link\":\"/concepts/spies/api/called-with-new\"},{\"text\":\"calledOnceWith\",\"link\":\"/concepts/spies/api/called-once-with\"},{\"text\":\"getCall\",\"link\":\"/concepts/spies/api/get-call\"},{\"text\":\"getCalls\",\"link\":\"/concepts/spies/api/get-calls\"},{\"text\":\"neverCalledWith\",\"link\":\"/concepts/spies/api/never-called-with\"},{\"text\":\"neverCalledWithMatch\",\"link\":\"/concepts/spies/api/never-called-with-match\"},{\"text\":\"printf\",\"link\":\"/concepts/spies/api/printf\"},{\"text\":\"resetHistory\",\"link\":\"/concepts/spies/api/reset-history\"},{\"text\":\"restore\",\"link\":\"/concepts/spies/api/restore\"},{\"text\":\"returned\",\"link\":\"/concepts/spies/api/returned\"},{\"text\":\"threw\",\"link\":\"/concepts/spies/api/threw\"},{\"text\":\"withArgs\",\"link\":\"/concepts/spies/api/with-args\"}]},{\"text\":\"Properties\",\"collapsed\":false,\"items\":[{\"text\":\"args\",\"link\":\"/concepts/spies/api/args\"},{\"text\":\"callCount\",\"link\":\"/concepts/spies/api/call-count\"},{\"text\":\"called\",\"link\":\"/concepts/spies/api/called\"},{\"text\":\"calledOnce\",\"link\":\"/concepts/spies/api/called-once\"},{\"text\":\"calledThrice\",\"link\":\"/concepts/spies/api/called-thrice\"},{\"text\":\"calledTwice\",\"link\":\"/concepts/spies/api/called-twice\"},{\"text\":\"exceptions\",\"link\":\"/concepts/spies/api/exceptions\"}
40,{\"text\":\"firstCall\",\"link\":\"/concepts/spies/api/first-call\"},{\"text\":\"lastCall\",\"link\":\"/concepts/spies/api/last-call\"},{\"text\":\"notCalled\",\"link\":\"/concepts/spies/api/not-called\"},{\"text\":\"returnValues\",\"link\":\"/concepts/spies/api/return-values\"},{\"text\":\"secondCall\",\"link\":\"/concepts/spies/api/second-call\"},{\"text\":\"thirdCall\",\"link\":\"/concepts/spies/api/third-call\"},{\"text\":\"thisValues\",\"link\":\"/concepts/spies/api/this-values\"}]}]}]}],\"/concepts/stubs/\":[{\"text\":\"Stubs\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/stubs/\"},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"Methods\",\"collapsed\":false,\"items\":[{\"text\":\"addBehavior\",\"link\":\"/concepts/stubs/api/add-behavior\"},{\"text\":\"callArg\",\"link\":\"/concepts/stubs/api/call-arg\"},{\"text\":\"callArgWith\",\"link\":\"/concepts/stubs/api/call-arg-with\"},{\"text\":\"callsArg\",\"link\":\"/concepts/stubs/api/calls-arg\"},{\"text\":\"callsArgAsync\",\"link\":\"/concepts/stubs/api/calls-arg-async\"},{\"text\":\"callsArgOn\",\"link\":\"/concepts/stubs/api/calls-arg-on\"},{\"text\":\"callsArgOnWith\",\"link\":\"/concepts/stubs/api/calls-arg-on-with\"},{\"text\":\"callsArgOnWithAsync\",\"link\":\"/concepts/stubs/api/calls-arg-on-with-async\"},{\"text\":\"callsArgWith\",\"link\":\"/concepts/stubs/api/calls-arg-with\"},{\"text\":\"callsArgWithAsync\",\"link\":\"/concepts/stubs/api/calls-arg-with-async\"},{\"text\":\"callsFake\",\"link\":\"/concepts/stubs/api/calls-fake\"},{\"text\":\"callsThrough\",\"link\":\"/concepts/stubs/api/calls-through\"},{\"text\":\"callThroughWithNew\",\"link\":\"/concepts/stubs/api/call-through-with-new\"},{\"text\":\"get\",\"link\":\"/concepts/stubs/api/get\"},{\"text\":\"onCall\",\"link\":\"/concepts/stubs/api/on-call\"},{\"text\":\"onFirstCall\",\"link\":\"/concepts/stubs/api/on-first-call\"},{\"text\":\"onSecondCall\",\"link\":\"/concepts/stubs/api/on-second-call\"},{\"text\":\"onThirdCall\",\"link\":\"/concepts/stubs/api/on-third-call\"},{\"text\":\"rejects\",\"link\":\"/concepts/stubs/api/rejects\"},{\"text\":\"reset\",\"link\":\"/concepts/stubs/api/reset\"},{\"text\":\"resetBehavior\",\"link\":\"/concepts/stubs/api/reset-behavior\"},{\"text\":\"resetHistory\",\"link\":\"/concepts/stubs/api/reset-history\"},{\"text\":\"resolves\",\"link\":\"/concepts/stubs/api/resolves\"},{\"text\":\"resolvesArg\",\"link\":\"/concepts/stubs/api/resolves-arg\"},{\"text\":\"returns\",\"link\":\"/concepts/stubs/api/returns\"},{\"text\":\"returnsThis\",\"link\":\"/concepts/stubs/api/returns-this\"},{\"text\":\"set\",\"link\":\"/concepts/stubs/api/set\"},{\"text\":\"throws\",\"link\":\"/concepts/stubs/api/throws\"},{\"text\":\"throwsArg\",\"link\":\"/concepts/stubs/api/throws-arg\"},{\"text\":\"value\",\"link\":\"/concepts/stubs/api/value\"},{\"text\":\"withArgs\",\"link\":\"/concepts/stubs/api/with-args\"},{\"text\":\"yield\",\"link\":\"/concepts/stubs/api/yield\"},{\"text\":\"yieldTo\",\"link\":\"/concepts/stubs/api/yield-to\"},{\"text\":\"yields\",\"link\":\"/concepts/stubs/api/yields\"},{\"text\":\"yieldsAsync\",\"link\":\"/concepts/stubs/api/yields-async\"},{\"text\":\"yieldsOn\",\"link\":\"/concepts/stubs/api/yields-on\"},{\"text\":\"yieldsOnAsync\",\"link\":\"/concepts/stubs/api/yields-on-async\"},{\"text\":\"yieldsRight\",\"link\":\"/concepts/stubs/api/yields-right\"},{\"text\":\"yieldsTo\",\"link\":\"/concepts/stubs/api/yields-to\"},{\"text\":\"yieldsToAsync\",\"link\":\"/concepts/stubs/api/yields-to-async\"},{\"text\":\"yieldsToOn\",\"link\":\"/concepts/stubs/api/yields-to-on\"},{\"text\":\"yieldsToOnAsync\",\"link\":\"/concepts/stubs/api/yields-to-on-async\"}]},{\"text\":\"Properties\",\"collapsed\":false,\"items\":[{\"text\":\"wrappedMethod\",\"link\":\"/concepts/stubs/api/wrapped-method\"}]}]}]}],\"/concepts/fakes/\":[{\"text\":\"Fakes\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/fakes/\"},{\"text\":\"Error Handling\",\"link\":\"/concepts/fakes/error-handling\"},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"Methods\",\"collapsed\":false,\"items\":[{\"text\":\"fake.rejects\",\"link\":\"/concepts/fakes/api/rejects\"},{\"text\":\"fake.resolves\",\"link\":\"/concepts/fakes/api/resolves\"},{\"text\":\"fake.returns\",\"link\":\"/concepts/fakes/api/returns\"},{\"text\":\"fake.throws\",\"link\":\"/concepts/fakes/api/throws\"},{\"text\":\"fake.yields\",\"link\":\"/concepts/fakes/api/yields\"},{\"text\":\"fake.yieldsAsync\",\"link\":\"/concepts/fakes/api/yields-async\"}]}]}]}],\"/concepts/mocks/\":[{\"text\":\"Mocks\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/mocks/\"},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"Methods\",\"collapsed\":false,\"items\":[{\"text\":\"expects\",\"link\":\"/concepts/mocks/api/expects\"},{\"text\":\"restore\",\"link\":\"/concepts/mocks/api/restore\"},{\"text\":\"verify\",\"link\":\"/concepts/mocks/api/verify\"}]},{\"text\":\"Properties\",\"collapsed\":false,\"items\":[{\"text\":\"expectations\",\"link\":\"/concepts/mocks/api/expectations.md\"}]}]}]}],\"/concepts/matchers/\":[{\"text\":\"Matchers\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/matchers/\"},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"Methods\",\"collapsed\":false,\"items\":[{\"text\":\"any\",\"link\":\"/concepts/matchers/api/any\"},{\"text\":\"array\",\"link\":\"/concepts/matchers/api/array\"},{\"text\":\"bool\",\"link\":\"/concepts/matchers/api/bool\"},{\"text\":\"defined\",\"link\":\"/concepts/matchers/api/defined\"},{\"text\":\"every\",\"link\":\"/concepts/matchers/api/every\"},{\"text\":\"falsy\",\"link\":\"/concepts/matchers/api/bool\"},{\"text\":\"hasNested\",\"link\":\"/concepts/matchers/api/has-nested\"},{\"text\":\"hasOwn\",\"link\":\"/concepts/matchers/api/has-own\"},{\"text\":\"has\",\"link\":\"/concepts/matchers/api/has\"},{\"text\":\"in\",\"link\":\"/concepts/matchers/api/in\"},{\"text\":\"instanceOf\",\"link\":\"/concepts/matchers/api/instance-of\"},{\"text\":\"map\",\"link\":\"/concepts/matchers/api/map\"},{\"text\":\"match\",\"link\":\"/concepts/matchers/api/match\"},{\"text\":\"number\",\"link\":\"/concepts/matchers/api/number\"},{\"text\":\"object\",\"link\":\"/concepts/matchers/api/object\"},{\"text\":\"regexp\",\"link\":\"/concepts/matchers/api/regexp\"},{\"text\":\"same\",\"link\":\"/concepts/matchers/api/same\"},{\"text\":\"set\",\"link\":\"/concepts/matchers/api/set\"},{\"text\":\"some\",\"link\":\"/concepts/matchers/api/some\"},{\"text\":\"string\",\"link\":\"/concepts/matchers/api/string\"},{\"text\":\"symbol\",\"link\":\"/concepts/matchers/api/symbol\"},{\"text\":\"truthy\",\"link\":\"/concepts/matchers/api/truthy\"},{\"text\":\"typeOf\",\"link\":\"/concepts/matchers/api/type-of\"}]}]}]}],\"/concepts/assertions/\":[{\"text\":\"Assertions\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/assertions/\"},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"Methods\",\"collapsed\":false,\"items\":[{\"text\":\"alwaysCalledOn\",\"link\":\"/concepts/assertions/api/always-called-on\"},{\"text\":\"alwaysCalledWith\",\"link\":\"/concepts/assertions/api/always-called-with\"},{\"text\":\"alwaysCalledWithExactly\",\"link\":\"/concepts/assertions/api/always-called-with-exactly\"},{\"text\":\"alwaysCalledWithMatch\",\"link\":\"/concepts/assertions/api/always-called-with-match\"},{\"text\":\"alwaysThrew\",\"link\":\"/concepts/assertions/api/always-threw\"},{\"text\":\"callCount\",\"link\":\"/concepts/assertions/api/call-count\"},{\"text\":\"called\",\"link\":\"/concepts/assertions/api/called\"},{\"text\":\"calledOn\",\"link\":\"/concepts/assertions/api/called-on\"},{\"text\":\"calledOnce\",\"link\":\"/concepts/assertions/api/called-once\"},{\"text\":\"calledOnceWithExactly\",\"link\":\"/concepts/assertions/api/called-once-with-exactly\"},{\"text\":\"calledOnceWithMatch\",\"link\":\"/concepts/assertions/api/called-once-with-match\"},{\"text\":\"calledTwice\",\"link\":\"/concepts/assertions/api/called-twice\"},{\"text\":\"calledThrice\",\"link\":\"/concepts/assertions/api/called-thrice\"},{\"text\":\"calledWith\",\"link\":\"/concepts/assertions/api/called-with\"},{\"text\":\"calledWithExactly\",\"link\":\"/concepts/assertions/api/called-with-exactly\"},{\"text\":\"calledWithMatch\",\"link\":\"/concepts/assertions/api/called-with-match\"},{\"text\":\"calledWithNew\",\"link\":\"/concepts/assertions/api/called-with-new\"},{\"text\":\"callOrder\",\"link\":\"/concepts/assertions/api/call-order\"},{\"text\":\"expose\",\"link\":\"/concepts/assertions/api/expose\"},{\"text\":\"fail\",\"link\":\"/concepts/assertions/api/fail\"},{\"text\":\"match\",\"link\":\"/concepts/assertions/api/match\"},{\"text\":\"neverCalledWith\",\"link\":\"/concepts/assertions/api/never-called-with\"},{\"text\":\"neverCalledWithMatch\",\"link\":\"/concepts/assertions/api/never-called-with-match\"},{\"text\":\"notCalled\",\"link\":\"/concepts/assertions/api/not-called\"},{\"text\":\"pass\",\"link\":\"/concepts/assertions/api/pass\"},{\"text\":\"threw\",\"link\":\"/concepts/assertions/api/threw\"}]}]}]}],\"/concepts/sandboxes/\":[{\"text\":\"Sandboxes\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/sandboxes/\"},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"Methods\",\"collapsed\":false,\"items\":[{\"text\":\"createStubInstance\",\"link\":\"/concepts/sandboxes/api/create-stub-instance\"},{\"text\":\"mock\",\"link\":\"/concepts/sandboxes/api/mock\"},{\"text\":\"replace\",\"link\":\"/concepts/sandboxes/api/replace\"},{\"text\":\"replaceGetter\",\"link\":\"/concepts/sandboxes/api/replace-getter\"},{\"text\":\"replaceSetter\",\"link\":\"/concepts/sandboxes/api/replace-setter\"},{\"text\":\"reset\",\"link\":\"/concepts/sandboxes/api/reset\"},{\"text\":\"resetBehavior\",\"link\":\"/concepts/sandboxes/api/reset-behavior\"},{\"text\":\"resetHistory\",\"link\":\"/concepts/sandboxes/api/reset-history\"},{\"text\":\"restore\",\"link\":\"/concepts/sandboxes/api/restore\"},{\"text\":\"spy\",\"link\":\"/concepts/sandboxes/api/spy\"},{\"text\":\"stub\",\"link\":\"/concepts/sandboxes/api/stub\"},{\"text\":\"useFakeTimers\",\"link\":\"/concepts/sandboxes/api/use-fake-timers\"},{\"text\":\"verify\",\"link\":\"/concepts/sandboxes/api/verify\"},{\"text\":\"verifyAndRestore\",\"link\":\"/concepts/sandboxes/api/verify-and-restore\"}]},{\"text\":\"Properties\",\"collapsed\":false,\"items\":[{\"text\":\"assert\",\"link\":\"/concepts/sandboxes/api/assert\"},{\"text\":\"leakThreshold\",\"link\":\"/concepts/sandboxes/api/leak-threshold\"}]}]}]}],\"/concepts/spy-call/\":[{\"text\":\"Spy Calls\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/spy-call/\"},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"Methods\",\"collapsed\":false,\"items\":[{\"text\":\"calledAfter\",\"link\":\"/concepts/spy-call/api/called-after\"},{\"text\":\"calledBefore\",\"link\":\"/concepts/spy-call/api/called-before\"},{\"text\":\"calledImmediatelyAfter\",\"link\":\"/concepts/spy-call/api/called-immediately-after\"},{\"text\":\"calledImmediatelyBefore\",\"link\":\"/concepts/spy-call/api/called-immediately-before\"},{\"text\":\"calledOn\",\"link\":\"/concepts/spy-call/api/called-on\"},{\"text\":\"calledWith\",\"link\":\"/concepts/spy-call/api/called-with\"},{\"text\":\"calledWithExactly\",\"link\":\"/concepts/spy-call/api/called-with-exactly\"},{\"text\":\"calledWithMatch\",\"link\":\"/concepts/spy-call/api/called-with-match\"},{\"text\":\"notCalledWith\",\"link\":\"/concepts/spy-call/api/not-called-with\"},{\"text\":\"notCalledWithMatch\",\"link\":\"/concepts/spy-call/api/not-called-with-match\"},{\"text\":\"returned\",\"link\":\"/concepts/spy-call/api/returned\"},{\"text\":\"threw\",\"link\":\"/concepts/spy-call/api/threw\"}]},{\"text\":\"Properties\",\"collapsed\":false,\"items\":[{\"text\":\"args\",\"link\":\"/concepts/spy-call/api/args\"},{\"text\":\"callback\",\"link\":\"/concepts/spy-call/api/callback\"},{\"text\":\"exception\",\"link\":\"/concepts/spy-call/api/exception\"}
40,{\"text\":\"firstArg\",\"link\":\"/concepts/spy-call/api/first-arg\"},{\"text\":\"lastArg\",\"link\":\"/concepts/spy-call/api/last-arg\"},{\"text\":\"returnValue\",\"link\":\"/concepts/spy-call/api/return-value\"},{\"text\":\"thisValue\",\"link\":\"/concepts/spy-call/api/this-value\"}]}]}]}],\"/concepts/fake-timers/\":[{\"text\":\"Fake Timers\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/fake-timers/\"},{\"text\":\"useFakeTimers\",\"link\":\"/concepts/fake-timers/use-fake-timers\",\"collapsed\":false},{\"text\":\"API\",\"collapsed\":false,\"items\":[{\"text\":\"countTimers\",\"link\":\"/concepts/fake-timers/count-timers\"},{\"text\":\"jump\",\"link\":\"/concepts/fake-timers/jump\"},{\"text\":\"next\",\"link\":\"/concepts/fake-timers/next\"},{\"text\":\"now\",\"link\":\"/concepts/fake-timers/now\"},{\"text\":\"reset\",\"link\":\"/concepts/fake-timers/reset\"},{\"text\":\"restore\",\"link\":\"/concepts/fake-timers/restore\"},{\"text\":\"runAll\",\"link\":\"/concepts/fake-timers/run-all\"},{\"text\":\"runMicrotasks\",\"link\":\"/concepts/fake-timers/run-microtasks\"},{\"text\":\"runToFrame\",\"link\":\"/concepts/fake-timers/run-to-frame\"},{\"text\":\"runToLast\",\"link\":\"/concepts/fake-timers/run-to-last\"},{\"text\":\"setSystemTime\",\"link\":\"/concepts/fake-timers/set-system-time\"},{\"text\":\"tick\",\"link\":\"/concepts/fake-timers/tick\"}]}]}],\"/guides/\":[{\"text\":\"Guides\",\"items\":[{\"text\":\"How-to articles\",\"collapsed\":false,\"items\":[{\"text\":\"Overview\",\"link\":\"/guides/how-to/\"},{\"text\":\"Async functions with fake timers\",\"link\":\"/guides/how-to/fake-timers-async\"},{\"text\":\"Link seams (CommonJS)\",\"link\":\"/guides/how-to/link-seams-commonjs\"},{\"text\":\"Stub a dependency\",\"link\":\"/guides/how-to/stub-dependency\"},{\"text\":\"Stub ES module imports\",\"link\":\"/guides/how-to/stub-esm\"},{\"text\":\"TypeScript and SWC\",\"link\":\"/guides/how-to/typescript-swc\"}]},{\"text\":\"FAQ\",\"link\":\"/guides/faq\"},{\"text\":\"Migration\",\"link\":\"/guides/migration\"},{\"text\":\"External resources\",\"link\":\"/guides/external-resources\"}]}],\"/concepts/utils/\":[{\"text\":\"Utils\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/utils/\"}]}],\"/concepts/promises/\":[{\"text\":\"Promises\",\"items\":[{\"text\":\"Overview\",\"link\":\"/concepts/promises/\"}]}]},\"search\":{\"provider\":\"local\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/sinonjs/sinon\"}],\"carbonAds\":{\"code\":\"CE7D453M\",\"placement\":\"sinonjsorg\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true,\"additionalConfig\":{}}");</script>
40 41 42 </body> 43</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.