aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
commit76cb9c2a39d477a64824a985ade40507e3bbade1 (patch)
tree41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
parent819a39a21ac992b1393244a4c283bbb125208c69 (diff)
downloadneko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js')
-rw-r--r--vanilla/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/vanilla/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js b/vanilla/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
new file mode 100644
index 0000000..8bd2322
--- /dev/null
+++ b/vanilla/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
@@ -0,0 +1,73 @@
+/* Ported from https://github.com/boblauer/MockDate/blob/master/src/mockdate.ts */
+/*
+The MIT License (MIT)
+
+Copyright (c) 2014 Bob Lauer
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+const RealDate = Date;
+let now = null;
+class MockDate extends RealDate {
+ constructor(y, m, d, h, M, s, ms) {
+ super();
+ let date;
+ switch (arguments.length) {
+ case 0:
+ if (now !== null) date = new RealDate(now.valueOf());
+ else date = new RealDate();
+ break;
+ case 1:
+ date = new RealDate(y);
+ break;
+ default:
+ d = typeof d === "undefined" ? 1 : d;
+ h = h || 0;
+ M = M || 0;
+ s = s || 0;
+ ms = ms || 0;
+ date = new RealDate(y, m, d, h, M, s, ms);
+ break;
+ }
+ Object.setPrototypeOf(date, MockDate.prototype);
+ return date;
+ }
+}
+MockDate.UTC = RealDate.UTC;
+MockDate.now = function() {
+ return new MockDate().valueOf();
+};
+MockDate.parse = function(dateString) {
+ return RealDate.parse(dateString);
+};
+MockDate.toString = function() {
+ return RealDate.toString();
+};
+function mockDate(date) {
+ const dateObj = new RealDate(date.valueOf());
+ if (Number.isNaN(dateObj.getTime())) throw new TypeError(`mockdate: The time set is an invalid date: ${date}`);
+ // @ts-expect-error global
+ globalThis.Date = MockDate;
+ now = dateObj.valueOf();
+}
+function resetDate() {
+ globalThis.Date = RealDate;
+}
+
+export { RealDate as R, mockDate as m, resetDate as r };