mirror of
https://github.com/zh-lx/pinyin-pro.git
synced 2026-03-13 09:51:38 +08:00
113 lines
3.2 KiB
JavaScript
113 lines
3.2 KiB
JavaScript
import { pinyin } from "../lib/index";
|
|
import { expect, describe, it } from "vitest";
|
|
|
|
describe("pattern", () => {
|
|
it("[pattern]num", () => {
|
|
const result = pinyin("汉语拼音", { pattern: "num" });
|
|
expect(result).to.be.equal("4 3 1 1");
|
|
});
|
|
|
|
it("[pattern]num-array", () => {
|
|
const result = pinyin("汉语拼音", { pattern: "num", type: "array" });
|
|
expect(result).to.deep.equal(["4", "3", "1", "1"]);
|
|
});
|
|
|
|
it("[pattern]final", () => {
|
|
const result = pinyin("汉语拼音", { pattern: "final" });
|
|
expect(result).to.be.equal("àn ǔ īn īn");
|
|
});
|
|
|
|
it("[pattern]final-array", () => {
|
|
const result = pinyin("汉语拼音", { pattern: "final", type: "array" });
|
|
expect(result).to.deep.equal(["àn", "ǔ", "īn", "īn"]);
|
|
});
|
|
|
|
it("[pattern]initial", () => {
|
|
const result = pinyin("汉语拼音", { pattern: "initial" });
|
|
expect(result).to.be.equal("h y p y");
|
|
});
|
|
|
|
it("[pattern]initial-yw", () => {
|
|
const result = pinyin("汉语拼音", {
|
|
pattern: "initial",
|
|
initialPattern: "standard",
|
|
type: "array",
|
|
});
|
|
expect(result).to.deep.equal(["h", "", "p", ""]);
|
|
});
|
|
|
|
it("[pattern]initial-array", () => {
|
|
const result = pinyin("汉语拼音", { pattern: "initial", type: "array" });
|
|
expect(result).to.deep.equal(["h", "y", "p", "y"]);
|
|
});
|
|
|
|
it("[pattern]num-all", () => {
|
|
const resultNumStr = pinyin("赵钱孙李吧", { pattern: "num" });
|
|
expect(resultNumStr).to.be.equal("4 2 1 3 0");
|
|
});
|
|
|
|
it("[pattern]num-array", () => {
|
|
const resultNumArr = pinyin("赵钱孙李吧", {
|
|
pattern: "num",
|
|
type: "array",
|
|
});
|
|
expect(resultNumArr).to.deep.equal(["4", "2", "1", "3", "0"]);
|
|
});
|
|
|
|
it("[pattern]initial-all", () => {
|
|
const resultInitial = pinyin("赵钱孙李吧", {
|
|
pattern: "initial",
|
|
});
|
|
expect(resultInitial).to.be.equal("zh q s l b");
|
|
});
|
|
|
|
it("[pattern]final-all", () => {
|
|
const resultFinal = pinyin("赵钱孙李吧", {
|
|
pattern: "final",
|
|
});
|
|
expect(resultFinal).to.be.equal("ào ián ūn ǐ a");
|
|
});
|
|
|
|
it("[pattern]first-all", () => {
|
|
const resultFirst = pinyin("赵钱孙李额", {
|
|
pattern: "first",
|
|
});
|
|
const resultFirst1 = pinyin("赵钱孙李very", {
|
|
pattern: "first",
|
|
});
|
|
expect(resultFirst).to.be.equal("z q s l é");
|
|
expect(resultFirst1).to.be.equal("z q s l v e r y");
|
|
});
|
|
|
|
it("[pattern]first-all-none", () => {
|
|
const resultFirstNone = pinyin("赵钱孙李额", {
|
|
pattern: "first",
|
|
toneType: "none",
|
|
});
|
|
expect(resultFirstNone).to.be.equal("z q s l e");
|
|
});
|
|
|
|
it("[pattern]nonZh", () => {
|
|
const resultNonZhInitial = pinyin("a", {
|
|
pattern: "initial",
|
|
});
|
|
const resultNonZhFinal = pinyin("a", {
|
|
pattern: "final",
|
|
});
|
|
const resultNonZhFinalHead = pinyin("a", {
|
|
pattern: "finalHead",
|
|
});
|
|
const resultNonZhFinalBody = pinyin("a", {
|
|
pattern: "finalBody",
|
|
});
|
|
const resultNonZhFinalTail = pinyin("a", {
|
|
pattern: "finalTail",
|
|
});
|
|
expect(resultNonZhInitial).to.deep.equal("");
|
|
expect(resultNonZhFinal).to.deep.equal("");
|
|
expect(resultNonZhFinalHead).to.deep.equal("");
|
|
expect(resultNonZhFinalBody).to.deep.equal("");
|
|
expect(resultNonZhFinalTail).to.deep.equal("");
|
|
});
|
|
});
|