mirror of
https://github.com/zkldi/Tachi.git
synced 2026-10-01 19:38:13 +03:00
Add tests for TransposeFolderData and make it so it replaces multiple items in onekey
This commit is contained in:
@@ -4,7 +4,7 @@ import { ChartDocument, FolderDocument } from "tachi-common";
|
||||
import t from "tap";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { Testing511SPA } from "test-utils/test-data";
|
||||
import { GetFolderChartIDs, ResolveFolderToCharts } from "./folder";
|
||||
import { GetFolderChartIDs, ResolveFolderToCharts, TransposeFolderData } from "./folder";
|
||||
|
||||
t.todo("#CreateFolderChartLookup");
|
||||
t.todo("#GetFolderCharts");
|
||||
@@ -198,3 +198,47 @@ t.test("#GetFolderChartIDs", (t) => {
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
||||
t.test("#TransposeFolderData", (t) => {
|
||||
t.strictSame(
|
||||
TransposeFolderData({
|
||||
"foo¬bar": 1,
|
||||
}),
|
||||
{
|
||||
"foo.bar": 1,
|
||||
},
|
||||
"Should transpose single keys."
|
||||
);
|
||||
|
||||
t.strictSame(
|
||||
TransposeFolderData({
|
||||
"foo¬bar": 1,
|
||||
"foo¬baz": 2,
|
||||
"foo~bar": 2,
|
||||
"foo~baz": 2,
|
||||
}),
|
||||
{
|
||||
"foo.bar": 1,
|
||||
"foo.baz": 2,
|
||||
foo$baz: 2,
|
||||
foo$baz: 2,
|
||||
},
|
||||
"Should transpose multiple keys."
|
||||
);
|
||||
|
||||
t.strictSame(
|
||||
TransposeFolderData({
|
||||
"foo¬bar¬baz": 1,
|
||||
"foo¬bar~baz": 1,
|
||||
"foo~bar~baz": 1,
|
||||
}),
|
||||
{
|
||||
"foo.bar$baz": 1,
|
||||
"foo.bar.baz": 1,
|
||||
foo$bar$baz: 1,
|
||||
},
|
||||
"Should transpose multiple items in one key."
|
||||
);
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
||||
@@ -93,7 +93,7 @@ export function TransposeFolderData(obj: Record<string, unknown>) {
|
||||
const transposedObj: Record<string, unknown> = {};
|
||||
|
||||
for (const key in obj) {
|
||||
const transposedKey = key.replace(/~/u, "$").replace(/¬/u, ".");
|
||||
const transposedKey = key.replace(/~/gu, "$").replace(/¬/gu, ".");
|
||||
|
||||
if (typeof obj[key] === "object" && obj[key]) {
|
||||
transposedObj[transposedKey] = TransposeFolderData(obj[key] as Record<string, unknown>);
|
||||
|
||||
Reference in New Issue
Block a user