From 0ae97dd8b8d0eb4e4ebdd203f16dc689df341cd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E4=BA=9A=E6=98=95?= <1549469775@qq.com> Date: Thu, 6 Mar 2025 15:01:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E5=92=8C=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/browser/vitest.config.ts | 6 +++++- packages/core/src/common/padLeftZero/__tests__/index.ts | 16 +++++++++++++++- packages/core/src/date/parse/index.ts | 5 ----- packages/core/src/index.ts | 1 + packages/core/src/path/slash/__tests__/index.ts | 5 ++++- packages/core/vitest.config.ts | 14 ++++++++++++-- packages/vue3/vitest.config.ts | 6 +++++- 7 files changed, 42 insertions(+), 11 deletions(-) diff --git a/packages/browser/vitest.config.ts b/packages/browser/vitest.config.ts index a2c3225..9ecee08 100644 --- a/packages/browser/vitest.config.ts +++ b/packages/browser/vitest.config.ts @@ -1,4 +1,4 @@ -import { defineConfig, mergeConfig } from "vitest/config"; +import { coverageConfigDefaults, defineConfig, mergeConfig } from "vitest/config"; import VitestShared from "../../vitest.shared"; export default mergeConfig( @@ -6,6 +6,10 @@ export default mergeConfig( defineConfig({ test: { environment: "jsdom", + coverage: { + include: ["src/**"], + exclude: [...coverageConfigDefaults.exclude, "src/**/docs/**", "src/**/test?(s)/**"], + }, }, }) ); diff --git a/packages/core/src/common/padLeftZero/__tests__/index.ts b/packages/core/src/common/padLeftZero/__tests__/index.ts index 5b72133..060c503 100644 --- a/packages/core/src/common/padLeftZero/__tests__/index.ts +++ b/packages/core/src/common/padLeftZero/__tests__/index.ts @@ -1,4 +1,4 @@ -import { padLeftZero } from "../index"; +import { padLeftZero } from "@xyx-utils/core"; describe("padLeftZero", async () => { it("常规补0", async () => { @@ -13,6 +13,20 @@ describe("padLeftZero", async () => { const str = "aaa"; expect(padLeftZero(str, 3)).toStrictEqual("aaa"); }); + it("不兼容padStart时超出", async () => { + const str = "aaa"; + let fn = String.prototype.padStart; + String.prototype.padStart = undefined; + expect(padLeftZero(str, 1)).toStrictEqual("aaa"); + String.prototype.padStart = fn; + }); + it("不兼容padStart时补0", async () => { + const str = "aaa"; + let fn = String.prototype.padStart; + String.prototype.padStart = undefined; + expect(padLeftZero(str, 5)).toStrictEqual("00aaa"); + String.prototype.padStart = fn; + }); it("空字符串", async () => { const str = ""; expect(padLeftZero(str, 3)).toStrictEqual("000"); diff --git a/packages/core/src/date/parse/index.ts b/packages/core/src/date/parse/index.ts index 7d6606d..01be970 100644 --- a/packages/core/src/date/parse/index.ts +++ b/packages/core/src/date/parse/index.ts @@ -1,8 +1,3 @@ -function padLeftZero(str) { - if(typeof str !== "string") return str - // return ("00" + str).substr(str.length); - return str.padStart(2, "0"); -} export function parse(date, fmt) { diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 92b04df..d0223f2 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -2,3 +2,4 @@ export * from "./date"; export * from "./common"; export * from "./debounce"; export * from "./throttle"; +export * from "./path"; diff --git a/packages/core/src/path/slash/__tests__/index.ts b/packages/core/src/path/slash/__tests__/index.ts index b3f5404..068ccc2 100644 --- a/packages/core/src/path/slash/__tests__/index.ts +++ b/packages/core/src/path/slash/__tests__/index.ts @@ -1,4 +1,4 @@ -import { slash } from "../index"; +import { slash } from "@xyx-utils/core"; describe("slash", async () => { it("转换", async () => { @@ -10,4 +10,7 @@ describe("slash", async () => { it("转换特殊字符", async () => { expect(slash("C:\\a.*?a\\b b.txt")).toStrictEqual("C:/a.*?a/b b.txt"); }); + it("特殊", async () => { + expect(slash("\\\\?\\")).toStrictEqual("\\\\?\\"); + }); }); diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts index fcdae99..1eead5d 100644 --- a/packages/core/vitest.config.ts +++ b/packages/core/vitest.config.ts @@ -1,4 +1,14 @@ -import { defineConfig, mergeConfig } from "vitest/config"; +import { coverageConfigDefaults, defineConfig, mergeConfig } from "vitest/config"; import VitestShared from "../../vitest.shared"; -export default mergeConfig(VitestShared, defineConfig({})); +export default mergeConfig( + VitestShared, + defineConfig({ + test: { + coverage: { + include: ["src/**"], + exclude: [...coverageConfigDefaults.exclude, "src/**/docs/**", "src/**/test?(s)/**"], + }, + }, + }) +); diff --git a/packages/vue3/vitest.config.ts b/packages/vue3/vitest.config.ts index a2c3225..9ecee08 100644 --- a/packages/vue3/vitest.config.ts +++ b/packages/vue3/vitest.config.ts @@ -1,4 +1,4 @@ -import { defineConfig, mergeConfig } from "vitest/config"; +import { coverageConfigDefaults, defineConfig, mergeConfig } from "vitest/config"; import VitestShared from "../../vitest.shared"; export default mergeConfig( @@ -6,6 +6,10 @@ export default mergeConfig( defineConfig({ test: { environment: "jsdom", + coverage: { + include: ["src/**"], + exclude: [...coverageConfigDefaults.exclude, "src/**/docs/**", "src/**/test?(s)/**"], + }, }, }) );