UNPKG

discord-bot-cdk-construct

Version:

A quick CDK Construct for creating a serverless Discord bot in AWS!

1,446 lines (1,148 loc) 60.6 kB
11.1.2 / 2021-07-27 ================== * Upgrade @sinonjs/fake-timers to latest, see https://github.com/sinonjs/fake-timers/blob/master/CHANGELOG.md#712--2021-05-28 * Copy over acessor properties to target object #2387 11.1.1 / 2021-05-26 ================== * Fix #2379 by using v7 of supports-color 11.1.0 / 2021-05-25 ================== * Add sinon.promise() implementation (#2369) * Set wrappedMethod on getters/setters (#2378) * [Docs] Update fake-server usage & descriptions (#2365) * Fake docs improvement (#2360) * Update nise to 5.1.0 (fixed #2318) 11.0.0 / 2021-05-24 ================== * Explicitly use samsam 6.0.2 with fix for #2345 * Update most packages (#2371) * Update compatibility docs (#2366) * Update packages (includes breaking fake-timers change, see #2352) * Warn of potential memory leaks (#2357) * Fix clock test errors 10.0.1 / 2021-04-08 ================== * Upgrade sinon components (bumps y18n to 4.0.1) * Bump y18n from 4.0.0 to 4.0.1 10.0.0 / 2021-03-22 ================== * Upgrade nise to 4.1.0 * Use @sinonjs/eslint-config@4 => Adopts ES2017 => Drops support for IE 11, Legacy Edge and legacy Safari 9.2.4 / 2021-01-23 ================== * Upgrade @sinonjs/samsam@5.3.1 9.2.3 / 2021-01-06 ================== * Use `util.inspect` for formatting human readable output (this retires @sinonjs/formatio) 9.2.2 / 2020-12-11 ================== * Fix #2316: handle absent Promise (#2317) 9.2.1 / 2020-10-28 ================== * Fix #2203: skip writing 'name' property if not writable (#2304) * Update error message on assert when representation of expected and actual value is equal, fixing issue #2084 (#2303) * Make sandboxes each use their own assert object (#2302) * Add usingPromise() method on fakes to fix issue #2293 (#2301) 9.2.0 / 2020-10-06 ================== * Update dependencies (#2299) * Update sandbox docs with missing comma * Add minor markdown formatting to release docs for sandbox * Minor formatting improvements to legacy sandbox documentation 9.1.0 / 2020-09-29 ================== * Add a calledOnceWithMatch assertion (#2294) 9.0.3 / 2020-08-11 ================== * Upgrade nise to latest * Upgrade @sinonjs/samsam to latest 9.0.2 / 2020-04-08 ================== * Bump @sinonjs/fake-timers (fix error when using Node's util/promisify with setTimeout) * Upgrade @sinonjs/commons (fix error when trying to calculate function name from generators) 9.0.1 / 2020-03-10 ================== * Fix #2226: restore props defined on prototype chain by deleting 9.0.0 / 2020-02-19 ================== * Ignore errors on thisValue property accesses (#2216) * Add firstArg to spy calls and fakes. (#2150) * Drop Node 8 support 8.1.1 / 2020-01-22 ================== * Fundraiser for better docs: https://www.gofundme.com/f/sinon-docs 8.1.0 / 2020-01-16 ================== * Support negative indices in getCall (#2199) 8.0.4 / 2020-01-06 ================== * Remove misleading 'own' from exception message 8.0.3 / 2020-01-06 ================== * Move .printf to proxy 8.0.2 / 2019-12-30 ================== * Upgrade @sinonjs/samsam to latest * Upgrade nise to 3.0.1 8.0.1 / 2019-12-23 ================== * Force upgrade @sinonjs/commons (#2181) * Update `docs/changelog.md` and set new release id in `docs/_config.yml` * Add release documentation for v8.0.0 8.0.0 / 2019-12-22 ================== The major release is caused by removing old mistakes and upgrading dependencies that themselves have had new major releases. * Upgrade nise, @sinonjs/formatio, @sinonjs/samsam and @sinonjs/referee * Update lolex and nise to get new async timer methods (see https://github.com/sinonjs/lolex/blob/master/CHANGELOG.md) * Remove `sinon.spyCall` * Remove `sinon.sandbox.create` * Remove obsolete `deprecated.printWarning` stubbing from test 7.5.0 / 2019-09-23 ================== * Add sinon.assert.calledOnceWithExactly * Feature parity: support _spying_ all methods on an object 7.4.2 / 2019-09-02 ================== * Restore sinon.createStubInstance() behaviour (#2073) * Fix Typo in migration 6 and updated migration docs for migration from… (#2074) 7.4.1 / 2019-08-06 ================== * Update nise and lolex (minor versions) * add callThroughWithNew method * add browser field * Create COMPATIBILITY.md (#2051) * Fix sinon.resetHistory() does not reset history (#2022) 7.4.0 ===== * Was unpublished (see #2071) 7.3.2 / 2019-04-17 ================== * Update Lolex to bring in fix for sinonjs/lolex#232 (queueMicrotask warning) 7.3.1 / 2019-03-27 ================== * Fix security issues * Update @sinonjs/samsam to v3.3.1 7.3.0 / 2019-03-20 ================== * Simplify Circle CI setup * Add a Docker Compose config file for testing the setup locally * Inject createStubInstance and fake functionality * Remove unused prop 'injectIntoThis' * Fix #1974 by upgrading to @sinonjs/samsam@3.3.0 7.2.7 / 2019-03-04 ================== * Retain spy function names and fix spy.named(name) (#1987) * Document spying on accessors (#1976) 7.2.6 / 2019-03-01 ================== * Upgrade @sinonjs/formatio * Set `fake.lastArg` to last argument regardless of type 7.2.5 / 2019-02-27 ================== * don't call extends.nonEnum in spy.resetHistory (#1984) 7.2.4 / 2019-02-18 ================== * minor package updates * Update eslint-plugin-mocha * Fix high prio audit warnings * Update nise to use @sinonjs/text-encoding * Make all properties non-enumerable in spies, stubs, mocks and fakes * docs(sandbox): add example for default sandbox 7.2.3 / 2019-01-19 ================== * Update @sinonjs/nise * Fix stubbing function objects (#1968) 7.2.2 / 2018-12-12 ================== * Fix mock.withArgs using matchers (#1961) 7.2.1 / 2018-12-12 ================== * #1957: check for truthiness before checking whether optional override is a stub * Upgrade @sinonjs/samsam * Upgrade @sinonjs/referee to v3 7.2.0 / 2018-12-10 ================== * Upgrade to samsam 3 (#1955) * Rename History.md to CHANGELOG.md 7.1.1 / 2018-10-31 ================== * Make the spy functions non enumerable so that printing it is more concise (#1936) 7.1.0 / 2018-10-25 ================== * Issue #1852: Add a way to pass a global context to lolex when calling useFakeTimers * Get latest 'nise' patch 7.0.0 / 2018-10-14 ================== * Update to Lolex 3: no negative ticks allowed 6.3.5 / 2018-10-03 ================== * Upgrade lolex * Upgrade @sinonjs/samsam - fixes minor issue with IE11 introduced in 6.3.4 6.3.4 / 2018-09-18 ================== * Update samsam, puppeteer and rollup * Fix #1850 (keep context in fakes) 6.3.3 / 2018-09-14 ================== * Upgrade formatio, samsam, nise and referee 6.3.2 / 2018-09-13 ================== * Adds guard for empty properties in deepEqual when a matcher is provided (#1901) 6.3.1 / 2018-09-12 ================== * Fix use of non-cached reference to forEach 6.3.0 / 2018-09-12 ================== * Allow providing stubs overrides for sinon.createStubInstance (#1864) * Bump Lolex to 2.7.4 to include IE fixes for performance.mark 6.2.0 / 2018-09-04 ================== * Add mock.usingPromise to set the Promise library for mock expectations 6.1.6 / 2018-09-04 ================== * Upgrade Lolex, Nise and other dependencies 6.1.5 / 2018-08-09 ================== * Fix #1796, failing to stub Array.prototype.sort 6.1.4 / 2018-07-21 ================== * Update lolex and nise dependencies to latest versions 6.1.3 / 2018-07-07 ================== * Fix issue with matchers and cyclic references (#1709) 6.1.2 / 2018-07-06 ================== * Made callsArg, returnsArg, and throwsArg more strict (#1848) 6.1.1 / 2018-07-06 ================== * Restore useFakeXMLHttpRequest correctly in default sandbox (#1840) 6.1.0 / 2018-07-03 ================== * Syntax sugar for resolvesArg (#1846) 6.0.1 / 2018-06-24 ================== * Add fake behaviors to sandbox (#1815) 6.0.0 / 2018-06-11 ================== * Export Sinon and its functions as an EcmaScript module (#1809 and #1835) * Document/test call ordering checks 5.1.1 / 2018-06-07 ================== * Remove ES2015 'module' field for 5x branch (fix in seperate branch - see tag) 5.1.0 / 2018-06-06 ================== * Add `in` matcher (#1811) 5.0.10 / 2018-05-24 ================== * Remove functions shadowing time related sandbox methods (#1802) 5.0.9 / 2018-05-24 ================== * Upgrade `@std/esm` to `esm`. 5.0.8 / 2018-05-24 ================== * Add isSealed check to is-es-module to make certain ESM mocks possible 5.0.7 / 2018-05-07 ================== * Fix stub id prefix (#1786) 5.0.6 / 2018-05-07 ================== * Remove support-sinon.js as postinstall banner 5.0.5 / 2018-05-07 ================== * Refuse to replace already replaced values (#1779) 5.0.4 / 2018-05-05 ================== * Fix #1781: Reject non-function values a f argument to fake 5.0.3 / 2018-05-02 ================== * Fix #1775: Default sandbox does not restore stubs, spies, mocks 5.0.2 / 2018-05-01 ================== * Reset history on sandbox reset (#1770) 5.0.1 / 2018-04-27 ================== * Remove deprecated spy.reset method * Add sinon.replace, sinon.replaceGetter and sinon.replaceSetter * Add `fake` * Use `sinon` as a default sandbox 4.5.0 / 2018-03-30 ================== * Add .lastArg and .callback to spy call 4.4.9 / 2018-03-27 ================== * Fix #1746: Remove dependency on ES2015 code from post-install script 4.4.8 / 2018-03-21 ================== * Fix 1743: Add scripts/support-sinon.js to package 4.4.7 / 2018-03-21 ================== * Improve the post-install script: remove noise, add :heart: 4.4.6 / 2018-03-15 ================== * Return returned value of invokant when using yields* and callsArg* (#1724) 4.4.5 / 2018-03-13 ================== * Add postinstall banner pointing to Open Collective 4.4.4 / 2018-03-13 ================== * Make @std/esm a devDependency 4.4.3 / 2018-03-12 ================== * Fix inconsistent newline usage for %D in spy.printf (#1717) 4.4.2 / 2018-02-25 ================== * Add descriptive error message on attempt to call argument that is not a function (#1695) 4.4.1 / 2018-02-24 ================== * Docs: make it clear that it is possible to use assert with spy calls (#1688) 4.4.0 / 2018-02-23 ================== * Change return value of yield and callArg 4.3.0 / 2018-02-10 ================== * add calledOnceWithExactly assertion (#1247) 4.2.3 / 2018-02-10 ================== * Replace formatio with @sinonjs/formatio 4.2.2 / 2018-01-26 ================== * Fix #1638: Make resetHistory work for props 4.2.1 / 2018-01-23 ================== * Performance: spend less time stubbing methods (#1627) 4.2.0 / 2018-01-21 ================== * Add match.every and match.some (#1624) (#1661) 4.1.6 / 2018-01-16 ================== * Fix bad build, missing nise@1.2.0 (#1656) * Upgrade dependency supports-color 4.1.5 / 2018-01-13 ================== * Use nise.fakeServer as the sandbox serverPrototype (#1534) 4.1.4 / 2018-01-08 ================== * Fix: assertion error messages did not handle Symbol names (#1640) * Deprecate spy.reset(), use spy.resetHistory() instead (#1446) 4.1.3 / 2017-12-07 ================== * Spy passes through calling with `new` (#1626) 4.1.2 / 2017-11-07 ================== * Update Lolex to include fix for #872 * Remove deprecated methods from documentation (#1613) 4.1.1 / 2017-11-03 ================== * Remove "engines" from package.json 4.1.0 / 2017-11-02 ================== * Add sandbox.createStubInstance (#1598) 4.0.2 / 2017-10-25 ================== * Update 'nise' to latest version (#1593) * Use supports-color module to test if system supports colors * Upgrade mocha to v4.0.0 * Make samsam a development dependency * Make native-promise-only a development dependency 4.0.1 / 2017-10-04 ================== * Upgrade nise and lolex versions (#1579) 4.0.0 / 2017-09-26 ================== * Explicitly update fake xhr lib 'nise' * Remove accidental dependency to "build" * Remove support for stubbing undefined props (#1557) 3.3.0 / 2017-09-18 ================== * Adds sinon.match.hasNested * fix 'callThrough with a mock expectation' (#1442) * Documentation updates * Allow custom defined instance checks if supported 3.2.1 / 2017-08-17 ================== * resolvesThis should override previous throws * preserve context of functions from nise: fakeServer, fakeServerWithClock * Fix regression for issue #1526 regarding onFirstCall().throws() * Fix docs regression introduced by #1523 3.2.0 / 2017-08-10 ================== * Fix #1521 by caching references to Array.prototype.filter (#1523) * Fix #1368 by adding stub#resolvesThis (#1517) 3.1.0 / 2017-08-08 ================== * Lots of documentation updates * Fix regression on sandbox.stub(obj,protoMethod) * Add factory functions for sandbox and fake server * Add support for passing a function to stub.throws(...). (#1511) 3.0.0 / 2017-08-03 ================== * Remove deprecated exports (see migration guide) * Fix #1432: add details around expectations.withArgs behavior to docs (#1501) * Fix #1487: incorrect withArgs().returnValue * add format.setFormatter * Upgrade lolex to 2.1.2 * Extract fakeXhr, fakeServer and fakeServerWithClock into own module `nise` and re-import it to keep api the same 2.4.1 / 2017-07-26 ================== * stub#withArgs: set promiseLibrary correctly (#1497) 2.4.0 / 2017-07-26 ================== * Allow anonymous mock functions to be named 2.3.8 / 2017-07-13 ================== * Fix 1474: propagates promiseLibrary to new stub behaviors (#1484) 2.3.7 / 2017-07-10 ================== * Fix #1476: spy.withArgs(args...).firstCall is broken 2.3.6 / 2017-06-28 ================== * Fix #1274: spy.withArgs(args...).callCount is incorrect 2.3.5 / 2017-06-20 ================== * Check configurable on a prop before creating (fixes #1456) (#1462) 2.3.4 / 2017-06-10 ================== * Fix #1372: make sandbox.resetHistory also reset spies (#1424) 2.3.3 / 2017-06-10 ================== * Fix #1445: make stubbing of static function properties possible 2.3.2 / 2017-05-26 ================== * Fix failing sandbox.resetBehavior() (#1428) * Fix restoring getters/setters/values for previously unexisting props (#1419) * Called in order takes callCount into account. Closes #1398. 2.3.1 / 2017-05-23 ================== * Make calledAfter symetric with calledBefore (#1407) 2.3.0 / 2017-05-22 ================== * Allow stubbing of accessors with and without sandbox (#1416) * add throwsArg(index) to stubs (#1319) * Fix: forEach() requires 'this' argument (#1356) * Only reset history when calling resetHistory() 2.2.0 / 2017-05-02 ================== * Added `usingPromise` method to stub and sandbox. * Added support for React Native window location format Fixes sinonjs/sinon#1362 * Fix error on call.toString() where stack has fewer than 4 lines. 2.1.0 / 2017-03-20 ================== * Redesign the template (#1339) * [feature] adds spy.calledImmediatelyBefore and spy.calledImmediatelyAfter * Fix issue #1332: little bug correction in spy.printf "%*" formatter. 2.0.0 / 2017-03-15 ================== * Add restore method for stubbed property descriptors * Allow stubbing getters and setters for function properties * Add getters/setters stub behaviors * Refactor xhr and xhr.upload to use the same EventTargetHandler * Remove SSL part of base url v2.0.0-pre.6 / 2017-02-27 ========================= * Add sinon.addBehavior, use it to add the default behaviors * Use Node instead of Ruby in the build script * Lots of documentation updates * Many dependency updates * Add a simple implementation og ANSI colors and boot out chalk * No circular dependencies, thank you very much * Replace homegrowns with ES5 * Remove legacy IE bits from code * Fire onload event on non-2xx HTTP statuses in FakeXDomainRequest * Extract throwOnFalsyObject to own function * Stop polluting the test console with a "test" string * Complete internalization of `extend` and `typeOf` * Allow calling original function from stub. Closes #989 (#1234) * Matcher for Set type * Matcher for Map type * Fix set iterableToString test on IE11 * add test-dev npm script to run tests in watch mode v2.0.0-pre.5 / 2016-12-31 ========================= * 2.0.0-pre.5 * Update Changelog.txt and AUTHORS for new release * Update changelog for pre.4 * Remove polyfill for Promise * Remove old, unused, ci script for BusterJS * Abort pre-commit script when no files are changed * Check for required arguments * Make SED in-place update switch work on BSD * Upgrade text-encoding to the latest version * Improve rendering of sandbox.create(config) example * Remove sinon.test from sandbox documentation * Use baseurl to render links correctly on github pages * Specify same version of github-pages as github * Remove release_id from front matter * Update Gemfile.lock to use latest supported Jekyll * Fix #614: Add missing documentation for sandbox methods * Add missing documentation for stubs * Fix #1026: stub watch method on object * Fix invalid test for "does not walk the same property twice" * Add test for issue #1026 * Fix 810 - Added documentation for sinon.restore() * Add docs for new array matchers * Array contains matcher fails when actual is not an array * Array endsWith matcher fails when actual is not an array * Array startsWith matcher fails when actual is not an array * Array deepEquals matcher fails when actual is not an array * Add .resolves and .rejects to stub (#1211) * Accept routing DSLs on fake server * Convert remaining calledWith methods to use diff color formatting * Color diffs for sinon matchers * Print diffs for multiple spy calls * Add new spy output formatter for handling diffs * Add contains array matcher * Add endsWith array matcher * Add startsWith array matcher * Add deepEquals array matcher * Add more array matchers * Extract deprecated.printWarning * Move empty stub creation to avoid unnecessary stub.create * Fix typo on property name called 'matchingAguments' * Soften migration path with deprecation warning * Update docs and migration guide * Convert 3 arg stub to callsFake * Update format docs to refer to formatio * Fix being able to spy Error * Prepare documentation using site in GitHub Pages * Add link to LICENSE in README.md * Add documentation for accessor method support for stubs and spies * Previous expectation failures are checked and re-thrown again in mock.verify() * Expose XHR.setStatus to simplify asynchronous answers * Fix typo * Add a how-to article about using links seams for CommonJS modules * stub() will fail if passed an empty property descriptor * Rename func argument to funcOrDescriptor * Add documentation for sinon.assert.match * XHR: test for readystatechange not dispatching after .abort() in DONE state * XHR: fix readystatechange event after .abort() in DONE state * Add tests for xhr.readyState after abort() * Test that demonstrates that a mock can be called more times than expected without failing (if the exception is silenced). n.n.n / 2017-02-27 ================== v2.0.0-pre.6 / 2017-02-27 ========================= * Merge pull request #1303 from dougo/docs-fixups Docs fixups * Merge pull request #1302 from sinonjs/add-behavior addBehavior * Merge pull request #1300 from Gvozd/optimize_performance Optimize performance of call-stack getting * Merge pull request #1301 from fatso83/1299-redirect-traffic-to-releases Redirect /docs and /downloads to /releases * Merge pull request #1296 from sinonjs/remove-deal-links Remove dead links * Merge pull request #1295 from mroderick/add-bithound-config Add .bithoundrc * Merge branch 'bouk-server-aint-xhr' * Merge pull request #1293 from mroderick/update-v1-docs-with-bundler-warnings Update 1.x documentation to say that it doesn't work with bundlers * Merge pull request #1294 from sinonjs/browserify-build Use Node instead of Ruby in the build script * Merge pull request #1292 from mroderick/update-readme Update readme * Merge pull request #1291 from mroderick/update-phantomjs Use phantomjs-prebuilt * Merge pull request #1289 from mroderick/fix-invalid-release-version-in-docs Fix invalid release number in v1.17.7.md front matter * Merge pull request #1290 from sinonjs/common-eslint Use common Sinon.JS eslint config * Merge pull request #1288 from mroderick/improve-documentation Improve documentation * Merge pull request #1283 from lucasfcosta/docs-stub-callThrough Add docs for stub.callThrough() * Merge pull request #1285 from sinonjs/uncycle-server-deps Uncycle server deps * Merge pull request #1282 from sinonjs/mochify-3 Use mocaccino 2 and mochify 3 * Merge pull request #1281 from mroderick/add-missing-documentation Add missing documentation * Merge pull request #1277 from mroderick/remove-copyright-comments Remove copyright comments * Merge pull request #1271 from mroderick/use-es5-features Refactoring: use ES5.1 features * Merge pull request #1273 from melinath/patch-1 Update text-encoding version * Merge pull request #1255 from fatso83/remove-legacy-ie Remove traces of legacy IE * Merge pull request #1266 from duclet/chalk Switch to using "chalk" from "colors" * Merge pull request #1260 from JoshuaCWebDeveloper/ajax_events Fire onload event on non-2xx HTTP statuses in FakeXDomainRequest - fixes #1259 * Merge pull request #1257 from piamancini/patch-1 Add backers and sponsors from Open Collective * Merge pull request #1256 from sprzybylski/download-page Create downloads page (#1218) * Merge pull request #1252 from mroderick/update-bundle-for-ruby-2.4.0 Update Gemfile for ruby 2.4.0 * Merge pull request #1254 from mroderick/refute-issue-1245-in-sinon-2 Add test to disprove issue 1245 in Sinon 2.x * Merge pull request #1253 from BenBrostoff/error-equality Add error equality to deepEqual * Merge pull request #1243 from sprzybylski/changelog-page Update changelog page in postversion.sh * Merge pull request #1239 from mroderick/refactor-stub-method Refactor stub methods * Merge pull request #1242 from Floby/add-documentation-for-promise-stub Add documentation for .rejects() and .resolves() * Merge pull request #1241 from mroderick/cleanup-test-console Stop polluting the test console with a "test" string * Merge pull request #1238 from tarjei/patch-1 Document server.requests * Merge pull request #1235 from jonnyreeves/feature/internalize Internalise `typeOf` and `extends` * Merge pull request #1233 from lucasfcosta/fix-deepEqual-for-matchers Ensures different matchers won't be called against each other. Closes… * Merge pull request #1232 from lucasfcosta/sets-matchers Sets matchers * Merge pull request #1227 from zuzusik/zuzusik-always_chain_behavior_with_stub Always chain behavior with stub * Merge pull request #1215 from lucasfcosta/maps-matchers Maps matchers * Merge pull request #1226 from lucasfcosta/improve-site-readability Improve site readability * Merge pull request #1225 from lucasfcosta/resolve-reject-promise-upon-invoke Resolve/reject promise only upon invoke v2.0.0-pre.5 / 2016-12-31 ========================= * Merge pull request #1223 from fatso83/release-script-improvements Minor fixes to the release scripts * Merge pull request #1222 from Gothdo/patch-1 Upgrade text-encoding to the latest version * Merge pull request #1216 from mroderick/improve-documentation Improve documentation for stubs and sandboxes * Merge pull request #1217 from mroderick/make-docs-run-on-github-pages Update Gemfile.lock to use latest supported Jekyll * Merge pull request #1213 from tiemevanveen/docs-restore Added documentation for sinon.restore() * Merge pull request #1214 from mroderick/fix-1026-in-2.x Fix 1026 in 2.x * Merge pull request #1210 from lucasfcosta/document-new-array-matchers Add docs for new array matchers * Merge pull request #1203 from jdgreenberger/add-expectation-diff-logs Add expectation diff logs * Merge pull request #1208 from lucasfcosta/array-matchers Array matchers * Merge pull request #1209 from lucasfcosta/avoid-unnecessary-empty-stub-creation Avoid unnecessary empty stub creation * Merge pull request #1207 from hurrymaplelad/calls-fake Replace `stub(o, 'm', fn)` with `stub(o, 'm').callsFake(fn)` * Merge pull request #1162 from dottedmag/master XHR spec conformance: abort() should not dispatch readystatechange event in DONE state * Merge pull request #1184 from mroderick/fail-on-empty-property-descriptor Fail on empty property descriptor * Merge pull request #1206 from fatso83/sinon-format-docs Update format docs to refer to formatio * Merge pull request #1204 from estobbart/master Fix being able to spy Error * Merge pull request #1189 from mroderick/docs-in-github-pages Prepare documentation using site in GitHub Pages * Merge pull request #1180 from mroderick/add-documentation-for-assert.match Add documentation for sinon.assert.match * Merge pull request #1182 from mroderick/document-accessor-support Add documentation for accessor method support for stubs and spies * Merge pull request #1191 from LostArchives/master Add link to LICENSE in README.md * Merge pull request #1188 from DanReyLop/verify-silenced-exceptions Mock expectation errors are now re-thrown when calling mock.verify() * Merge pull request #1186 from mroderick/add-how-to-link-seam-commonjs Add a how-to article about using links seams for CommonJS modules * Merge pull request #1178 from dottedmag/feature-xhr-set-status Expose XHR.setStatus to simplify asynchronous answers 2.0.0-pre.5/ 2016-12-31 ================== * Upgrade text-encoding to the latest version * Remove sinon.test from sandbox documentation * Fix #1026: stub watch method on object * Add .resolves and .rejects to stub (#1211) * Accept routing DSLs on fake server * Color diffs for sinon matchers * Add new spy output formatter for handling diffs * Add various array matchers * Convert 3 arg stub to callsFake * Fix being able to spy Error * Prepare documentation using site in GitHub Pages * Various documentation additions and fixes * Previous expectation failures are checked and re-thrown again in mock.verify() * Expose XHR.setStatus to simplify asynchronous answers * XHR: test for readystatechange not dispatching after .abort() in DONE state * XHR: fix readystatechange event after .abort() in DONE state 2.0.0-pre.4 / 2016-11-10 ================== * Use last matching withArgs declaration when using matchers (#1183) * Implement XHR.overrideMimeType * Fire .onprogress event handler in fake XHR * Expose readyState constants on XHR instances * add configurable unsafe header checks (#1061) 2.0.0-pre.3 / 2016-09-19 ================== * Add assertion check for too many args with calledOnce/Twice/Thrice * Much internal refactoring relating to CommonJS 2.0.0-pre.2 / 2016-07-07 ================== * CJSify sinon.call tests (#1079) * CJSify sinon.calledInOrder tests (#1080) * CJSify get-config tests (#1081) * CJSify sinon.assert tests (#1078) * Resolve test failure in node 0.10.x (#1073) * Expose `sinon.assert` on sandbox instances. (#1076) * Add resetBehavior and resetHistory to sandbox API (#1072) * Fix incorrect inline function names * Fix calledOnce on tests for #283. This closes #283. * Add sandbox.reset() docs * Add a line recommending how to pronounce. * Improve tests based on PR feedback * Allow xhr.respond(0) to simulate a network failure and call onerror * Use event loaded instead of error event for code like 403, 500, etc. * Fix invalid markdown in fake-timers.ms (#1054) * Do not invoke getters in walk (#1059) * ReactNative compatibility. Allow sinon fakeServer to run in React Native (#1052) * added timeouts to ensure tests pass * Run tests on stable Node 6 instead of unstable Node 5 * added tests to ensure only expected events are fired (#1043) * Fixed formatting of issue template * Added note on using latest version * Fix onerror event triggering for fake xhr requests (#1041) * Add missing mocaccino and phantomic to package.json (#1029) * Pull request and issue templates (#1012) * Fix capturing of stack traces in Phantom.js. * Allow sinon.calledInOrder to be called either with an array of spies or multiple spies as parameters. Add explicit test cases for sinon.calledInOrder * Fix typos found by codespell * Document faking of setImmediate and clearImmediate * Add feature detection guard for tests containing es6 Symbols * Add support for es6 Symbol to wrapMethod method * Convert values to strings with toString instead of String() * Add typeOf matcher for symbol type * Make expectetation fail as expected when called with wrong Symbol * Make mock report expected TypeError when expecting number and given symbol * Add support for es6 Symbol to match.has method * Make error message when failing to stub method support es6 symbol * Make yieldToOn fail as expected when yielding an es6 Symbol * Add support for es6 Symbol to match.same method * Make yieldTo fail as expected when yielding an es6 Symbol * Add support for es6 Symbol to match method * Work around SauceLabs security limitations * Declare test specific eslint configs in test/.eslintrc * Add test-coverage script * Add eslint-plugin-mocha * Remove browserify-shim * Setup saucelabs tests and adjust travis config * Feature detect __proto__ to exclude a timer test in IE 10 * Convert webworker test to mocha * Remove buster * Replace npm test script with mocha / mochify invocations * Fix async fake-xml-http-request tests * Convert issues tests to mocha * Convert util tests to mocha * Convert core tests to mocha * Convert stub tests to mocha * Convert typeof tests to mocha * Convert spy tests to mocha * Convert sandbox tests to mocha * Convert mock tests to mocha * Convert hello world test to mocha * Convert extend tests to mocha * Convert collection tests to mocha * Convert call tests to mocha * Convert assert tests to mocha * Convert matcher tests to mocha * Update docs/TODO.md to reflect plan to Jekyll * CJSify Spy and Stub Tests. * CJSify Core Util Tests. * Migrate Packaged Tests to use a Browserified Build. * fix non enumerable methods stub restore * Improve Blob support detection logics * Fix a typo in Contributing.md * Update Node versions on Travis * Use PhantomJS 2. * Fix #835: make err.message writable * Remove linting errors in switch cases * Add spy.notCalled to documentation * Remove `sinon.test()` and `sinon.testCase`. * Remove `sinon.log` and `sinon.logError` * De-fluff * Remove `sinon-test` module. * Extract `get-config` tests from `sinon-test`. * Extract `function-to-string` tests from `sinon-test`. * Extract `restore` tests from `sinon-test`. * Extract `createStubInstance` tests from `sinon-test` * Extract `deep-equal` tests from `sinon-test`. * Extract `wrap-method` tests from `sinon-test`. * Extract `extend` tests from `sinon-test` to `extend-test` * Move 'lib/util/core' tests into 'test/util/core' * Remove the use of `sinon.format` from the codebase * Require sinon.deepEqual in a more modular way * Fix 648: test for this.proxy before trying toString on it * use the correct sinon.deepEqual to test sinon matcher * add stub test to ensure sinon matcher is recognized within stub.withArgs * update repo link * Remove unused dependency util * Update samsam * Update lolex * Update browserify * Update dependency pre-commit * Update buster-istanbul to 0.1.15 * ignore webstorm configs * fix async issues and increase buster timeout * test on node 5 * Fixes typo error in docs * fix typo in lib/sinon.js * Fixes typo error in docs * Adding comment to warn against using eval * fix linting * Get rid of eval in sinon spy * Update README URLs based on HTTP redirects 2.0.0-pre / 2015-12-02 ================== * 2.0.0 pre-release * Extract `sandbox` into a CommonJS module. * Clarify documentation on creating stubs and spies * Extract `util/fake_server_with_clock` into a CommonJS module * Extract `util/fake_server` into a CommonJS module. * Extract `util/fake_timers` into a CommonJS module. * Extract `util/fake_xml_http_request` into a CommonJS module. * Extract `util/fake_xdomain_request` into a CommonJS module. * Extract `util/event` into a CommonJS module. * Extract `sinon.logError` into a CommonJS module. * Extract (most of) sinon.collection into a CommonJS module * Extract `sinon.mock` into a CommonJS module. * Import mock's dependencies are CommonJS modules. * Extract `createSpyCall` into a CommonJS module. * Extract `sinon.assert` into a CommonJS module. * Remove `walk` from sinon's public API. * Patch up linting errors * Remove `sinon` import from stub * Extract `sinon.behavior` into a CommonJS module * Extract `sinon.walk` into a CommonJS module. * Export stub as a CommonJS module * Import `wrapMethod` as a CommonJS module * Import core dependencies as CommonJS modules * Delete .jscsrc * Ensure sinon can run in a WebWorker * Updated docs to reflect that calledOn accepts a matcher * simplified test and added a note * updated to require spy in its new cjs form * ./commonjs * expose sinon.spy and sinon.spyCall * converted spy to commonjs format * moved sinon.format() to core * fixed spy tests * added missing test (pushes spy coverage to 100%) * added spy getter/setter tests * updated sinon.spy() to properly handle getters and setters * Remove unnecessary error variable * Prevent stubbed getter from being called during restore() - fixes #897 * Allowed GET requests to have request bodies * Remove JSCS from devDependencies * Add Gitter badge * Allow yieldsOn, callsArgOn, callsArgOnWith, yieldsToOn to use any context * Add bithound badge to README.md * removed switch statement in favor of object lookup * Use immediate exceptions * lib/sinon/util: Remove window conditionals from IE files. * Add docs for sandbox and utils * Add documentation for matchers * Add docs for assertions * Add docs for JSON-P * Add docs for fake server * Add docs for fake timers * Add mock api descriptions * Add mocks introduction * Add stubs api * Update TODO * Use Object.prototype.hasOwnProperty in deepEqual to cope with cases where hasOwnProperty doesn't exist, ie. Object.create(null), or has been overridden on an object. With tests. * Add docs TODO to track outstanding tasks * Add stubs.md with introduction to stubs * Import docs * Fix #875 Proper support UTF8 payloads * introduced new dependency "text-encoding" * delegate encoding operations to TextEncoder/TextDecoder * added unit test to verify proper utf-8 encoding * finished eslint'ing * upgraded ESLint to 1.7.1 (latest and greatest) * Run tests in node 4.2 LTS (Argon) * removed unneeded path resolution * Let npm install handle buster again, now that we have caching of node_modules * Make travis cache node_modules to speed up builds * removed duplicate implementation of sinon.timesInWords * fix travis-ci build svg in README * reviewer comments * cleaning up left over blank lines * CommonJS-ified *some* of the things * updated readyStateChange to align to the w3c spec (somewhat) * cleaned up a few unreleated tests * updated tests to reflect reality * added some additional progress event verification * added a test to ensure load is not fired before abort * added test to ensure event ordering * allow progress events with loaded/total values of 0 * Fix #867: Walk properties only once * Removed unnecessary module wrappers and double test run in NodeJS. * null-check the object passed to sinon.stub * implemented stub#resetHistory method - fixes #863 * Fix #851: Do not attempt to re-stub constructors * Fix #847: Ensure walk invokes accessors directly on target * Run tests in node 4.1.x also * stub.reset also resets behavior 1.17.0 / 2015-09-22 ================== * Fix #821 where Sinon.JS would leak a setImmdiate into global scope * Removed sinon-timers from the build. refs #811 * Added flag that, when set to true, makes sinon.logError throw errors synchronously. * Fix #777: Support non-enumerable props when stubbing objects * Made the sinon.test() function pass on errors to the callback * Expand conversion from ArrayBuffer to binary string * Add support for ArrayBuffer, blob responseTypes 1.16.1 / 2015-08-20 =================== * Bump Lolex to stop throwing an error when faking Date but not setTimeout 1.16.0 / 2015-08-19 =================== * Capture the stack on each spy call * fakeServer.create accepts configuration settings * Update Lolex to 1.3.0 * Fire onreadystatechange with event argument * Returns supersedes previous throws * Bunch of bug fixes 1.15.0 / 2015-05-30 ================== * Fixed bug where assertions don't handle functions that have a property named proxy * update license attribute * Add test coverage report * responseHeaders on abort are empty object * Fix pre-existing style error * Update documentation to cover testing built version * Update CONTRIBUTING.md with section about "Making a pull request" * Improve RELEASE.md to reduce effort when cutting a new release * Deprecate mock * Release.md * Make `npm docs sinon` work. * Run unit tests against packaged version in CI environment * Remove unused Gruntfile * Use Vanilla Buster.JS * Use `files` in package.json * Fix code style * Don't stub getter properties * Event listeners for `progress`, `load` and `readystatechange` in the `readyStateChange` function in `FakeXMLHttpRequest` are dispatched in a different order in comparison to a browser. Reorder the events dispatched to reflect general browser behaviour. * Update linting instructions in CONTRIBUTING.md * Lint all files with new linter * Update JSCS to 1.11.3 and make npm lint task verify all files * Cleanup .restore() == 1.14.1 / 2015-03-16 * Fallback for .restore() native code functions on Chrome & PhantomJS (なつき) * Restore support for sinon in IE<9 (Harry Wolff) == 1.14.0 / 2015-03-13 * Stub & spy getters & setters (Simon Zack) * Fix #702 async sinon.test using mocha interface (Mohayonao) * Add respondImmediately to fake servers (Jonathan Freeman) == 1.13.0 / 2015-03-04 * fix @depends-require mismatches (fixes AMD issues) (Ben Hockey) * Fix spy.calledWith(undefined) to return false if it was called without args * yieldsRight (Alexander Schmidt) * stubs retain function arity (Charlie Rudolph) * (AMD) use explicit define in built version * spy().reset() returns this (Ali Shakiba) * Add lengthComputable and download progress (Tamas Szebeni) * Don't setContent-type when sending FormData (AJ Ortega) * sinon.assert with spyCall (Alex Urbano) * fakeXHR requests in Node. (Jmeas) * Enhancement: run builds on docker (till@php.net) * Use FakeXDomainRequest when XHR does not support CORS. Fixes #584 (Eric Wendelin) * More lenient check for ActiveXObject * aligned sandbox.useFakeXMLHttpRequest API to documentation (Phred) * Fix #643. Returns supersedes previous throws (Adam Hull) * Safely overwrite properties in IE - no more IE files! * Add check for setInterval/clearInterval (kdpecker) * Add safety check for document.createElement (kdpecker) * Fix #633. Use a try/catch when deleting a property in IE8. (Garrick Cheung) == 1.12.1 / 2014-11-16 * Fixed lolex issue on node == 1.12.0 / 2014-11-16 * Fake timers are now extracted as lolex: http://github.com/sinonjs/lolex * Improved setImmediate fake * Proper AMD solution == 1.11.1 / 2014-10-27 * Expose match on returned sandbox (Duncan Beevers) * Fix issue #586 (Antonio D'Ettole) * Declare log_error dependency (Kurt Ruppel) == 1.11.0 / 2014-10-26 * Proper AMD support * Don't call sinon.expectation.pass if there aren't any expectations (Jeffrey Falgout) * Throw error when reset-ing while calling fake * Added xhr.response property (Gyandeep Singh) * Fixed premature sandbox destruction (Andrew Gurinovich) * Add sandbox reset method (vitalets) * A bunch of bug fixes (git log) * Various source organizational improvements (Morgan Roderick and others) == 1.10.3 / 2014-07-11 * Fix loading in Web Workers (Victor Costan) * Allow null as argument to clearTimeout and clearInterval (Lars Thorup) == 1.10.2 / 2014-06-02 * Fix `returnValue` and `exception` regression on spy calls (Maximilian Antoni) == 1.10.1 / 2014-05-30 * Improved mocha compatibility for async tests (Ming Liu) * Make the fakeServer log function overloadable (Brian M Hunt) == 1.10.0 / 2014-05-19 * Ensure that spy createCallProperties is set before function invocation (James Barwell) * XDomainRequest support (Søren Enemærke, Jonathan Sokolowski) * Correct AMD behavior (Tim Branyen) * Allow explicit naming of spies and stubs (Glen Mailer) * deepEqual test for unequal objects in calledWithExactly (Bryan Donovan) * Fix clearTimeout() for Node.js (Xiao Ma) * fix fakeServer.respond() in IE8 (John Bernardo) * Fix #448 (AMD require.amd) * Fix wrapMethod error handling (Nikita Litvin) == 1.9.1 / 2014-04-03 * Fix an issue passing `NaN` to `calledWith` (Blake Israel) * Explicate dependency on util package (Kris Kowal) * Fake timers return an object with `ref` and `unref` properties on Node (Ben Fleis) == 1.9.0 / 2014-03-05 * Add sinon.assert.match (Robin Pedersen) * Added ProgressEvent and CustomEvent. Fixes bug with progress events on IE. (Geries Handal) * prevent setRequestHeaders from being called twice (Phred) * Fix onload call, 'this' should be equal to XHR object (Niklas Andreasson) * Remove sandbox injected values on restore (Marcus Hüsgen) * Coerce matcher.or/and arguments into matchers (Glen Mailer) * Don't use buster.format any more * Fix comparison for regexp deepEqual (Matt Kern) == 1.8.2 / 2014-02-11 * Fixes an edge case with calledWithNew and spied native functions, and other functions that lack a .prototype * Add feature detection for the new ProgressEvent support == 1.8.1 / 2014-02-02 * Screwed up NPM release of 1.8.0, unable to replace it == 1.8.0 / 2014-02-02 * Add clearImmediate mocking support to the timers API (Tim Perry) * Mirror custom Date properties when faking time * Improved Weinre support * Update call properties even if exceptions are thrown (Tim Perry) * Update call properties even if exceptions are thrown (Tim Perry) * Reverse matching order for fake server (Gordon L. Hempton) * Fix restoring globals on another frame fails on Firefox (Burak Yiğit Kaya) * Handle stubbing falsey properties (Tim Perry) * Set returnValues correctly when the spied function is called as a constructor (Tim Perry) * When creating a sandbox, do not overwrite existing properties when inject properties into an object (Sergio Cinos) * Added withCredentials property to fake xhr (Geries) * Refine behavior withArgs error message (Tim Fischbach) * Auto-respond to successive requests made with a single XHR object (Jan Suchý) * Add the ability for mock to accept sinon.match matchers as expected arguments (Zcicala) * Adding support for XMLHttpRequest.upload to FakeXMLHttpRequest (Benjamin Coe) * Allow onCall to be combined with returns* and throwsException in stub behavior sequences (Tim Fischbach) * Fixed deepEqual to detect properties on array objects * Fixed problem with chained timers with delay=0 (Ian Lewis) * Use formatio in place of buster-format (Devin Weaver) == 1.7.3 / 2013-06-20 * Removed use of array forEach, breaks in older browsers (Martin Hansen) * sinon.deepEqual(new Date(0), new Date()) returns true (G.Serebryanskyi) == 1.7.2 / 2013-05-08 * Sinon 1.7 has split calls out to a separate file. This caused some problems, so 1.7.2 ships with spyCall as part of spy.js like it used to be. == 1.7.1 / 2013-05-07 * Fake XMLHttpRequest updated to call onerror and onsuccess callbacks, fixing jQuery 2.0 problems (Roman Potashow) * Implement XMLHttpRequest progress event api (Marten Lienen) * Added sinon.restore() (Jonny Reeves) * Fix bug where throwing a string was handled incorrectly by Sinon (Brandon Heyer) * Web workers support (Victor Costan) == 1.7.0 * Failed release, see 1.7.1 == 1.6.0 / 2013-02-18 * Add methods to spyCall interface: callArgOn, callArgOnWith, yieldOn, yieldToOn (William Sears) * sinon.createStubInstance creates a fully stubbed instance from a constructor (Shawn Krisman) * resetBehavior resets fakes created by withArgs (Martin Sander) * The fake server now logs to sinon.log, if set (Luis Cardoso) * Cleaner npm package that also includes pkg/sinon.js and pkg/sinon-ie.js for cases where npm is used to install Sinon for browser usage (Domenic Denicola) * Improved spy formatter %C output (Farid Neshat) * clock.tick returns clock.now (Michael Jackson) * Fixed issue #248 with callOrder assertion Did not fail if the last given spy was never called (Maximilian Antoni) * Fixed issue with setResponseHeader for synchronous requests (goligo) * Remove msSetImmediate; it only existed in IE10 previews (Domenic Denicola) * Fix #231: not always picking up the latest calls to callsArgWith, etc. (Domenic Denicola) * Fix failing anonymous mock expectations == 1.5.2 / 2012-11-28 * Revert stub.reset changes that caused existing tests to fail. == 1.5.1 / 2012-11-27 * Ensure window.Image can be stubbed. (Adrian Phinney) * Fix spy() in IE 8 (Scott Andrews) * Fix sinon base in IE 8 (Scott Andrews) * Format arguments ouput when mock excpetation is not met (kbackowski) * Calling spy.reset directly from stub.reset (Thomas Meyer) == 1.5.0 / 2012-10-19 * Don't force "use strict" on Sinon consumers * Don't assume objects have hasOwnProperties. Fixes problem with e.g. stubbing properties on process.env * Preserve function length for spy (Maximilian Antoni) * Add 'invokeCallback' alias for 'yield' on calls (Maximilian Antoni) * Added matcher support for calledOn (Maximilian Antoni) * Retain original expectation messages, for failed mocks under sinon.test (Giorgos Giannoutsos) * Allow yields* and callsArg* to create sequences of calls. (Domenic Denicola) * sinon.js can catch itself in endless loop while filling stub prototype with asynch methods (Jan Kopriva) == 1.4.2 / 2012-07-11 * sinon.match for arrays (Maximilian Antoni) == 1.4.1 / 2012-07-11 * Strengthen a Node.JS inference to avoid quirky behavior with Mocha (which provides a shim process object) == 1.4.0 / 2012-07-09 * Argument matchers (Maximillian Antoni) sinon.match.{any, same, typeOf, instanceOf, has, hasOwn, defined, truthy, falsy} as well as typeOf shortcuts for boolean, number, string, object, function, array, regexp and date. The result of a call can be used with spy.calledWith. * spy.returned now works with matchers and compares objects deeply. * Matcher assertions: calledWithMatch, alwaysCalledWithMatch and neverCalledWithMatch * calledWithNew and alwaysCalledWithNew for assert (Maximilian Antoni) * Easier stubbed fluent interfaces: stub.returnsThis() (Glen Mailer) * allow yields() and family to be used along with returns()/throws() and family (Glen Mailer) * Async versions `callsArg*` and `yields*` for stubs (TEHEK) * Format args when doing `spy.printf("%*")` (Domenic Denicola) * Add notCalled property to spies * Fix: spy.reset did not reset fakes created by spy.withArgs (Maximilian Antoni) * Properly restore stubs when stubbing entire objects through the sandbox (Konrad Holowinski) * Restore global methods properly - delete properties that where not own properties (Keith Cirkel) * setTimeout and setInterval pass arguments (Rodion Vynnychenko) * Timer callbacks that contain a clock.tick no longer fails (Wesley Waser) * spy(undefined, "property") now throws * Prevent multiple restore for fake timers (Kevin Decker) * Fix toString format under Node (Kevin Decker) * Mock expectations emit success and failure events (Kevin Decker) * Development improvement: Use Buster.JS to test Sinon * Fix bug where expect.atLeast failed when minimum calls where received * Make fake server safe to load on node.js * Add support for no args on .withArgs and .withExactArgs (Tek Nynja) * Avoid hasOwnProperty for host objects == 1.3.2 / 2012-03-11 * Stronger Node inference in sandbox * Fixed issue with sinon.useFakeTimers() and Rhino.js 1.7R3 * Formatting brush-up * FIX Internet Explorer misreporting the type of Function objects originating in an external window as "object" instead of "function". * New methods stub.callsArgOn, stub.callsArgOnWith, stub.yieldsOn, stub.yieldsToOn * Implemented * Fixing `clearTimeout` to not throw when called for nonexistent IDs. * Spys that are created using 'withArgs' now get initialized with previous calls to the original spy. * Minor bug fixes and docs cleanup. == 1.3.1 / 2012-01-04 * Fix bug in core sinon: isNode was used for both a variable and a function, causing load errors and lots of bugs. Should have never left the door. == 1.3.0 / 2012-01-01 * Support using bare function