Skip to content

Commit f6e53f3

Browse files
committed
refac: lineMode parser
1 parent 01d2913 commit f6e53f3

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

src/components/optionsParser.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { getNumberIfValid, isValidNumber } from "@/utils";
22

3-
export const lineModeParser = (options) => {
4-
const lineModeConfig = options.lineMode.trim().split(" ");
5-
const mode = options.multiple ? "multiple" : lineModeConfig[0];
3+
export const lineModeParser = (lineMode, multiple) => {
4+
const lineModeConfig = lineMode.trim().split(" ");
5+
const mode = multiple ? "multiple" : lineModeConfig[0];
66
return {
77
mode,
88
offset: getNumberIfValid(lineModeConfig[1]) || 0,
@@ -70,7 +70,7 @@ export const parseOptions = (options) => ({
7070
dot: dotParser(options.dot, options.size),
7171
globalDot: dotParser(options.globalDot, options.size),
7272
dash: dashParser(options.dash),
73-
lineMode: lineModeParser(options),
73+
lineMode: lineModeParser(options.lineMode, options.multiple),
7474
linePosition: parseLinePosition(options.linePosition),
7575
emptyLinePosition: parseLinePosition(options.emptyLinePosition),
7676
animation: animationParser(options.animation),

tests/unit/container.spec.js

+12-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { mount } from "@vue/test-utils";
33
import VueEllipseProgress from "@/components/VueEllipseProgress.vue";
44
import CircleContainer from "@/components/Circle/CircleContainer.vue";
55
import Counter from "@/components/Counter.vue";
6-
import { animationParser, dotParser, dashParser } from "@/components/optionsParser";
6+
import { animationParser, dotParser, dashParser, lineModeParser } from "@/components/optionsParser";
77
import props from "@/components/interface";
88

99
const factory = (propsData, slots = {}) => {
@@ -322,5 +322,16 @@ describe("[ EllipseProgressContainer.vue ]", () => {
322322
expect(dashParser(props.dash.default)).to.equal("");
323323
});
324324
});
325+
describe("#lineMode parser", () => {
326+
it("should ", () => {
327+
const defaultLineMode = {
328+
mode: "normal",
329+
offset: 0,
330+
};
331+
const { mode, offset } = lineModeParser(props.lineMode.default);
332+
expect(mode).to.equal(defaultLineMode.mode);
333+
expect(offset).to.equal(defaultLineMode.offset);
334+
});
335+
});
325336
});
326337
});

0 commit comments

Comments
 (0)