-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Expand file tree
/
Copy pathcontext.test.mjs
More file actions
49 lines (42 loc) · 1.35 KB
/
context.test.mjs
File metadata and controls
49 lines (42 loc) · 1.35 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import assert from 'node:assert/strict';
import { describe, it } from 'node:test';
import { assignClientContext } from '#site/util/context';
const mockContext = {
frontmatter: { title: 'Sample Title' },
pathname: '/sample-path',
headings: ['Heading 1', 'Heading 2'],
readingTime: {
text: '2 mins read',
minutes: 2,
time: 120000,
words: 200,
},
filename: 'sample-file.md',
os: 'OTHER',
architecture: 'x64',
bitness: 64,
};
describe('assignClientContext', () => {
it('should assign properties to the client context', () => {
const result = assignClientContext(mockContext);
assert.deepEqual(result.frontmatter, mockContext.frontmatter);
assert.equal(result.pathname, mockContext.pathname);
assert.deepEqual(result.headings, mockContext.headings);
assert.deepEqual(result.readingTime, mockContext.readingTime);
assert.equal(result.filename, mockContext.filename);
assert.deepEqual(result, mockContext);
});
it('should use default values for missing properties', () => {
const result = assignClientContext({});
assert.deepEqual(result.frontmatter, {});
assert.equal(result.pathname, '');
assert.deepEqual(result.headings, []);
assert.deepEqual(result.readingTime, {
text: '',
minutes: 0,
time: 0,
words: 0,
});
assert.equal(result.filename, '');
});
});