summaryrefslogtreecommitdiff
path: root/src/lib/is-active.test.ts
diff options
context:
space:
mode:
authorBertrand Yuan <noreply@bertyuan.com>2026-03-26 00:02:16 +0800
committerBertrand Yuan <noreply@bertyuan.com>2026-03-26 00:02:16 +0800
commit8a6a6712e7554f110b5ef951f270d88fd010e040 (patch)
tree12cb86b1ede55e15600ef7f139ef7ec91b9fa8a1 /src/lib/is-active.test.ts
parentf7a02fe0e112cf108fc5f22872f1efc077e99fe8 (diff)
add more tests
Diffstat (limited to 'src/lib/is-active.test.ts')
-rw-r--r--src/lib/is-active.test.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/lib/is-active.test.ts b/src/lib/is-active.test.ts
new file mode 100644
index 0000000..fcc42d0
--- /dev/null
+++ b/src/lib/is-active.test.ts
@@ -0,0 +1,26 @@
+import { describe, expect, test } from 'vitest';
+import { isActive } from './is-active';
+
+describe('isActive', () => {
+ test('returns true for exact match', () => {
+ expect(isActive('/posts', '/posts')).toBe(true);
+ });
+
+ test('normalizes trailing slashes before comparing', () => {
+ expect(isActive('/posts/', '/posts')).toBe(true);
+ expect(isActive('/posts', '/posts/')).toBe(true);
+ });
+
+ test('returns true for nested paths when nested is enabled', () => {
+ expect(isActive('/posts', '/posts/hello-world', true)).toBe(true);
+ });
+
+ test('returns false for nested paths when nested is disabled', () => {
+ expect(isActive('/posts', '/posts/hello-world', false)).toBe(false);
+ });
+
+ test('returns false for unrelated paths', () => {
+ expect(isActive('/posts', '/tags')).toBe(false);
+ });
+});
+