generated from obsidianmd/obsidian-sample-plugin
-
-
Notifications
You must be signed in to change notification settings - Fork 208
/
Copy pathutils.test.ts
30 lines (26 loc) · 1.01 KB
/
utils.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { TFile } from "obsidian";
import TestTemplaterPlugin from "./main.test";
export const PLUGIN_NAME = "templater-obsidian";
export const TEMPLATE_FILE_NAME = "TemplateFile";
export const TARGET_FILE_NAME = "TargetFile";
export function delay(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms));
}
export function cache_update(t: TestTemplaterPlugin): Promise<void> {
return new Promise((resolve, reject) => {
const timeout = setTimeout(() => reject("Cache update timeout"), 500);
const resolve_promise = (file: TFile) => {
if (file === t.target_file) {
clearTimeout(timeout);
t.app.metadataCache.off("changed", resolve_promise);
resolve();
}
};
t.app.metadataCache.on("changed", resolve_promise);
});
}
export function properties_are_visible(): boolean {
return !!document.querySelector(
".workspace-leaf.mod-active .metadata-properties .metadata-property"
);
}