Browse Source

增加测试用例

main
谢亚昕 1 month ago
parent
commit
c46c736233
  1. 2
      packages/browser/src/check/docs/index.md
  2. 4
      packages/core/src/common/padLeftZero/__tests__/index.ts
  3. 14
      packages/core/src/date/format/formatDateByFmt/__tests__/index.ts
  4. 2
      packages/core/src/date/format/formatDateByFmt/docs/demo.vue
  5. 0
      packages/core/src/date/format/formatDateByFmt/docs/index.md
  6. 21
      packages/core/src/date/format/formatDateByFmt/index.ts
  7. 22
      packages/core/src/date/format/index.ts

2
packages/browser/src/check/docs/index.md

@ -7,4 +7,4 @@ title: 平台检测
## Demo ## Demo
<preview path="./index.vue" title="@xyx-utils/browser" description="用于平台的判断"></preview> <preview path="./demo.vue" title="@xyx-utils/browser" description="用于平台的判断"></preview>

4
packages/core/src/common/padLeftZero/__tests__/index.ts

@ -5,6 +5,10 @@ describe("padLeftZero", async () => {
const str = "aa"; const str = "aa";
expect(padLeftZero(str, 3)).toStrictEqual("0aa"); expect(padLeftZero(str, 3)).toStrictEqual("0aa");
}); });
it("错误", async () => {
const str: any = 11;
expect(padLeftZero(str, 3)).toStrictEqual(11);
});
it("超出长度", async () => { it("超出长度", async () => {
const str = "aaaaaa"; const str = "aaaaaa";
expect(padLeftZero(str, 3)).toStrictEqual("aaaaaa"); expect(padLeftZero(str, 3)).toStrictEqual("aaaaaa");

14
packages/core/src/date/format/formatDateByFmt/__tests__/index.ts

@ -0,0 +1,14 @@
import { formatDateByFmt } from "@xyx-utils/core";
describe("formatDateByFmt", async () => {
it("时间格式化", async () => {
const date = new Date("2025-03-07 08:54:21");
expect(formatDateByFmt(date, "yyyy-MM-dd hh:mm:ss")).toStrictEqual("2025-03-07 08:54:21");
});
it("22", async () => {
const date = new Date("2025-03-07 08:02:01");
expect(formatDateByFmt(date, "yyyy-MM-dd hh:m:s")).toStrictEqual("2025-03-07 08:2:1");
const date2 = new Date("2025-03-07 08:12:01");
expect(formatDateByFmt(date2, "yyyy-MM-dd hh:m:s")).toStrictEqual("2025-03-07 08:12:1");
});
});

2
packages/core/src/date/format/docs/demo.vue → packages/core/src/date/format/formatDateByFmt/docs/demo.vue

@ -7,7 +7,7 @@
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { formatDateByFmt } from "@xyx-utils/core/date/format"; import { formatDateByFmt } from "@xyx-utils/core/date/format/formatDateByFmt";
import { onScopeDispose, ref } from "vue"; import { onScopeDispose, ref } from "vue";
const date = ref(formatDateByFmt(new Date(), "yyyy-MM-dd hh:mm:ss")) const date = ref(formatDateByFmt(new Date(), "yyyy-MM-dd hh:mm:ss"))

0
packages/core/src/date/format/docs/index.md → packages/core/src/date/format/formatDateByFmt/docs/index.md

21
packages/core/src/date/format/formatDateByFmt/index.ts

@ -0,0 +1,21 @@
import { padLeftZero } from "@xyx-utils/core/common/padLeftZero";
export function formatDateByFmt(date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
const o = {
"M+": date.getMonth() + 1,
"d+": date.getDate(),
"h+": date.getHours(),
"m+": date.getMinutes(),
"s+": date.getSeconds(),
};
for (const k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
const str = o[k] + "";
fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str, 2));
}
}
return fmt;
}

22
packages/core/src/date/format/index.ts

@ -1,21 +1 @@
import { padLeftZero } from "@xyx-utils/core/common/padLeftZero"; export * from "./formatDateByFmt"
export function formatDateByFmt(date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
const o = {
"M+": date.getMonth() + 1,
"d+": date.getDate(),
"h+": date.getHours(),
"m+": date.getMinutes(),
"s+": date.getSeconds(),
};
for (const k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
const str = o[k] + "";
fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str, 2));
}
}
return fmt;
}
Loading…
Cancel
Save