aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/modules/diff-file.test.ts
diff options
context:
space:
mode:
authorKerwin Bryant <kerwin612@qq.com>2025-04-15 22:35:22 +0800
committerGitHub <noreply@github.com>2025-04-15 22:35:22 +0800
commit2b99a58f540a15a04b48cba507ace8abf3c52014 (patch)
treeaa14c105285455352ba37ed386f3cfab83b4eccf /web_src/js/modules/diff-file.test.ts
parent18a673bad1d036502baca4491a16679692c42320 (diff)
downloadgitea-2b99a58f540a15a04b48cba507ace8abf3c52014.tar.gz
gitea-2b99a58f540a15a04b48cba507ace8abf3c52014.zip
Mark parent directory as viewed when all files are viewed (#33958)
Fix #25644 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'web_src/js/modules/diff-file.test.ts')
-rw-r--r--web_src/js/modules/diff-file.test.ts47
1 files changed, 47 insertions, 0 deletions
diff --git a/web_src/js/modules/diff-file.test.ts b/web_src/js/modules/diff-file.test.ts
new file mode 100644
index 0000000000..1f956a7d86
--- /dev/null
+++ b/web_src/js/modules/diff-file.test.ts
@@ -0,0 +1,47 @@
+import {diffTreeStoreSetViewed, reactiveDiffTreeStore} from './diff-file.ts';
+
+test('diff-tree', () => {
+ const store = reactiveDiffTreeStore({
+ 'TreeRoot': {
+ 'FullName': '',
+ 'DisplayName': '',
+ 'EntryMode': '',
+ 'IsViewed': false,
+ 'NameHash': '....',
+ 'DiffStatus': '',
+ 'Children': [
+ {
+ 'FullName': 'dir1',
+ 'DisplayName': 'dir1',
+ 'EntryMode': 'tree',
+ 'IsViewed': false,
+ 'NameHash': '....',
+ 'DiffStatus': '',
+ 'Children': [
+ {
+ 'FullName': 'dir1/test.txt',
+ 'DisplayName': 'test.txt',
+ 'DiffStatus': 'added',
+ 'NameHash': '....',
+ 'EntryMode': '',
+ 'IsViewed': false,
+ 'Children': null,
+ },
+ ],
+ },
+ {
+ 'FullName': 'other.txt',
+ 'DisplayName': 'other.txt',
+ 'NameHash': '........',
+ 'DiffStatus': 'added',
+ 'EntryMode': '',
+ 'IsViewed': false,
+ 'Children': null,
+ },
+ ],
+ },
+ });
+ diffTreeStoreSetViewed(store, 'dir1/test.txt', true);
+ expect(store.fullNameMap['dir1/test.txt'].IsViewed).toBe(true);
+ expect(store.fullNameMap['dir1'].IsViewed).toBe(true);
+});