@roomi-fields/notebooklm-mcp 1.3.6 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -34
- package/dist/accounts/account-manager.d.ts +163 -0
- package/dist/accounts/account-manager.d.ts.map +1 -0
- package/dist/accounts/account-manager.js +614 -0
- package/dist/accounts/account-manager.js.map +1 -0
- package/dist/accounts/auto-login-manager.d.ts +62 -0
- package/dist/accounts/auto-login-manager.d.ts.map +1 -0
- package/dist/accounts/auto-login-manager.js +537 -0
- package/dist/accounts/auto-login-manager.js.map +1 -0
- package/dist/accounts/crypto.d.ts +45 -0
- package/dist/accounts/crypto.d.ts.map +1 -0
- package/dist/accounts/crypto.js +138 -0
- package/dist/accounts/crypto.js.map +1 -0
- package/dist/accounts/index.d.ts +14 -0
- package/dist/accounts/index.d.ts.map +1 -0
- package/dist/accounts/index.js +14 -0
- package/dist/accounts/index.js.map +1 -0
- package/dist/accounts/types.d.ts +103 -0
- package/dist/accounts/types.d.ts.map +1 -0
- package/dist/accounts/types.js +7 -0
- package/dist/accounts/types.js.map +1 -0
- package/dist/auth/auth-manager.d.ts +9 -2
- package/dist/auth/auth-manager.d.ts.map +1 -1
- package/dist/auth/auth-manager.js +60 -6
- package/dist/auth/auth-manager.js.map +1 -1
- package/dist/auto-discovery/auto-discovery.d.ts.map +1 -1
- package/dist/auto-discovery/auto-discovery.js +2 -1
- package/dist/auto-discovery/auto-discovery.js.map +1 -1
- package/dist/cli/accounts.d.ts +13 -0
- package/dist/cli/accounts.d.ts.map +1 -0
- package/dist/cli/accounts.js +195 -0
- package/dist/cli/accounts.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -0
- package/dist/config.js.map +1 -1
- package/dist/content/content-generator.d.ts +153 -0
- package/dist/content/content-generator.d.ts.map +1 -0
- package/dist/content/content-generator.js +637 -0
- package/dist/content/content-generator.js.map +1 -0
- package/dist/content/content-manager.d.ts +364 -0
- package/dist/content/content-manager.d.ts.map +1 -0
- package/dist/content/content-manager.js +3846 -0
- package/dist/content/content-manager.js.map +1 -0
- package/dist/content/content-templates.d.ts +183 -0
- package/dist/content/content-templates.d.ts.map +1 -0
- package/dist/content/content-templates.js +719 -0
- package/dist/content/content-templates.js.map +1 -0
- package/dist/content/index.d.ts +14 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +14 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/types.d.ts +285 -0
- package/dist/content/types.d.ts.map +1 -0
- package/dist/content/types.js +10 -0
- package/dist/content/types.js.map +1 -0
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/http-wrapper.d.ts +7 -0
- package/dist/http-wrapper.d.ts.map +1 -1
- package/dist/http-wrapper.js +449 -29
- package/dist/http-wrapper.js.map +1 -1
- package/dist/index.js +26 -2
- package/dist/index.js.map +1 -1
- package/dist/library/notebook-library.d.ts +4 -0
- package/dist/library/notebook-library.d.ts.map +1 -1
- package/dist/library/notebook-library.js +20 -3
- package/dist/library/notebook-library.js.map +1 -1
- package/dist/session/browser-session.d.ts +35 -8
- package/dist/session/browser-session.d.ts.map +1 -1
- package/dist/session/browser-session.js +242 -28
- package/dist/session/browser-session.js.map +1 -1
- package/dist/session/session-manager.d.ts +6 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +46 -14
- package/dist/session/session-manager.js.map +1 -1
- package/dist/session/shared-context-manager.d.ts +3 -3
- package/dist/session/shared-context-manager.d.ts.map +1 -1
- package/dist/session/shared-context-manager.js +8 -7
- package/dist/session/shared-context-manager.js.map +1 -1
- package/dist/stdio-http-proxy.d.ts +24 -0
- package/dist/stdio-http-proxy.d.ts.map +1 -0
- package/dist/stdio-http-proxy.js +592 -0
- package/dist/stdio-http-proxy.js.map +1 -0
- package/dist/tools/index.d.ts +106 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1028 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +81 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/citation-extractor.d.ts +66 -0
- package/dist/utils/citation-extractor.d.ts.map +1 -0
- package/dist/utils/citation-extractor.js +492 -0
- package/dist/utils/citation-extractor.js.map +1 -0
- package/dist/utils/page-utils.d.ts +8 -0
- package/dist/utils/page-utils.d.ts.map +1 -1
- package/dist/utils/page-utils.js +112 -8
- package/dist/utils/page-utils.js.map +1 -1
- package/docs/ARCHITECTURE_MIGRATION_STUDY.md +894 -0
- package/docs/CHROME_PROFILE_LIMITATION.md +15 -1
- package/docs/MULTI_ACCOUNT_SYSTEM.md +304 -0
- package/package.json +10 -10
- package/dist/__tests__/cleanup-manager.test.d.ts +0 -2
- package/dist/__tests__/cleanup-manager.test.d.ts.map +0 -1
- package/dist/__tests__/cleanup-manager.test.js +0 -341
- package/dist/__tests__/cleanup-manager.test.js.map +0 -1
- package/dist/__tests__/config-parsing.test.d.ts +0 -2
- package/dist/__tests__/config-parsing.test.d.ts.map +0 -1
- package/dist/__tests__/config-parsing.test.js +0 -338
- package/dist/__tests__/config-parsing.test.js.map +0 -1
- package/dist/__tests__/config.test.d.ts +0 -2
- package/dist/__tests__/config.test.d.ts.map +0 -1
- package/dist/__tests__/config.test.js +0 -267
- package/dist/__tests__/config.test.js.map +0 -1
- package/dist/__tests__/errors.test.d.ts +0 -2
- package/dist/__tests__/errors.test.d.ts.map +0 -1
- package/dist/__tests__/errors.test.js +0 -166
- package/dist/__tests__/errors.test.js.map +0 -1
- package/dist/__tests__/logger.test.d.ts +0 -2
- package/dist/__tests__/logger.test.d.ts.map +0 -1
- package/dist/__tests__/logger.test.js +0 -324
- package/dist/__tests__/logger.test.js.map +0 -1
- package/dist/__tests__/page-utils.test.d.ts +0 -2
- package/dist/__tests__/page-utils.test.d.ts.map +0 -1
- package/dist/__tests__/page-utils.test.js +0 -349
- package/dist/__tests__/page-utils.test.js.map +0 -1
- package/dist/__tests__/setup-verification.test.d.ts +0 -2
- package/dist/__tests__/setup-verification.test.d.ts.map +0 -1
- package/dist/__tests__/setup-verification.test.js +0 -15
- package/dist/__tests__/setup-verification.test.js.map +0 -1
- package/dist/__tests__/stealth-utils.test.d.ts +0 -2
- package/dist/__tests__/stealth-utils.test.d.ts.map +0 -1
- package/dist/__tests__/stealth-utils.test.js +0 -413
- package/dist/__tests__/stealth-utils.test.js.map +0 -1
- package/dist/__tests__/types.test.d.ts +0 -2
- package/dist/__tests__/types.test.d.ts.map +0 -1
- package/dist/__tests__/types.test.js +0 -461
- package/dist/__tests__/types.test.js.map +0 -1
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from '@jest/globals';
|
|
2
|
-
// We'll test the non-browser parts and create comprehensive mocks for browser interactions
|
|
3
|
-
describe('Page Utils - Hash Function', () => {
|
|
4
|
-
// Test the hash function behavior through module exports
|
|
5
|
-
// Since hashString is internal, we test it indirectly through the public API
|
|
6
|
-
describe('string comparison', () => {
|
|
7
|
-
it('should treat identical strings as same', () => {
|
|
8
|
-
const str1 = 'Hello World';
|
|
9
|
-
const str2 = 'Hello World';
|
|
10
|
-
expect(str1).toBe(str2);
|
|
11
|
-
});
|
|
12
|
-
it('should treat different strings as different', () => {
|
|
13
|
-
const str1 = 'Hello World';
|
|
14
|
-
const str2 = 'Hello World!';
|
|
15
|
-
expect(str1).not.toBe(str2);
|
|
16
|
-
});
|
|
17
|
-
it('should handle empty strings', () => {
|
|
18
|
-
const str1 = '';
|
|
19
|
-
const str2 = '';
|
|
20
|
-
expect(str1).toBe(str2);
|
|
21
|
-
});
|
|
22
|
-
it('should handle whitespace differences', () => {
|
|
23
|
-
const str1 = 'Hello World';
|
|
24
|
-
const str2 = 'Hello World';
|
|
25
|
-
expect(str1).not.toBe(str2);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
describe('Page Utils - Placeholder Detection', () => {
|
|
30
|
-
// Test placeholder detection logic
|
|
31
|
-
const placeholderTexts = [
|
|
32
|
-
'antwort wird erstellt',
|
|
33
|
-
'answer wird erstellt',
|
|
34
|
-
'answer is being created',
|
|
35
|
-
'answer is being generated',
|
|
36
|
-
'creating answer',
|
|
37
|
-
'generating answer',
|
|
38
|
-
'wird erstellt',
|
|
39
|
-
'getting the context',
|
|
40
|
-
'loading',
|
|
41
|
-
'please wait',
|
|
42
|
-
];
|
|
43
|
-
const nonPlaceholderTexts = [
|
|
44
|
-
'This is a real answer',
|
|
45
|
-
'The capital of France is Paris',
|
|
46
|
-
'Here is your response',
|
|
47
|
-
'Based on the documents...',
|
|
48
|
-
'Let me help you with that',
|
|
49
|
-
];
|
|
50
|
-
describe('isPlaceholder logic', () => {
|
|
51
|
-
it('should recognize placeholder snippets', () => {
|
|
52
|
-
placeholderTexts.forEach((text) => {
|
|
53
|
-
expect(text.toLowerCase()).toMatch(/(wird erstellt|being created|being generated|creating|generating|getting the context|loading|please wait)/i);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
it('should not match regular responses', () => {
|
|
57
|
-
nonPlaceholderTexts.forEach((text) => {
|
|
58
|
-
expect(text.toLowerCase()).not.toMatch(/^(wird erstellt|being created|being generated|creating|generating|getting the context|loading|please wait)$/i);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
it('should handle case insensitivity', () => {
|
|
62
|
-
const variations = ['LOADING', 'Loading', 'loading', 'LoAdInG'];
|
|
63
|
-
variations.forEach((text) => {
|
|
64
|
-
expect(text.toLowerCase()).toBe('loading');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
it('should handle placeholders in longer text', () => {
|
|
68
|
-
const text = 'Please wait while answer is being generated...';
|
|
69
|
-
expect(text.toLowerCase()).toContain('answer is being generated');
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
describe('Page Utils - Response Selectors', () => {
|
|
74
|
-
const RESPONSE_SELECTORS = [
|
|
75
|
-
'.to-user-container .message-text-content',
|
|
76
|
-
"[data-message-author='bot']",
|
|
77
|
-
"[data-message-author='assistant']",
|
|
78
|
-
"[data-message-role='assistant']",
|
|
79
|
-
"[data-author='assistant']",
|
|
80
|
-
"[data-renderer*='assistant']",
|
|
81
|
-
"[data-automation-id='response-text']",
|
|
82
|
-
"[data-automation-id='assistant-response']",
|
|
83
|
-
"[data-automation-id='chat-response']",
|
|
84
|
-
"[data-testid*='assistant']",
|
|
85
|
-
"[data-testid*='response']",
|
|
86
|
-
"[aria-live='polite']",
|
|
87
|
-
"[role='listitem'][data-message-author]",
|
|
88
|
-
];
|
|
89
|
-
describe('selector format validation', () => {
|
|
90
|
-
it('should have valid CSS selectors', () => {
|
|
91
|
-
RESPONSE_SELECTORS.forEach((selector) => {
|
|
92
|
-
expect(selector).toBeTruthy();
|
|
93
|
-
expect(typeof selector).toBe('string');
|
|
94
|
-
expect(selector.length).toBeGreaterThan(0);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
it('should contain primary selector first', () => {
|
|
98
|
-
expect(RESPONSE_SELECTORS[0]).toBe('.to-user-container .message-text-content');
|
|
99
|
-
});
|
|
100
|
-
it('should include data attribute selectors', () => {
|
|
101
|
-
const dataSelectors = RESPONSE_SELECTORS.filter((s) => s.includes('[data-'));
|
|
102
|
-
expect(dataSelectors.length).toBeGreaterThan(5);
|
|
103
|
-
});
|
|
104
|
-
it('should include aria selectors', () => {
|
|
105
|
-
const ariaSelectors = RESPONSE_SELECTORS.filter((s) => s.includes('[aria-'));
|
|
106
|
-
expect(ariaSelectors.length).toBeGreaterThan(0);
|
|
107
|
-
});
|
|
108
|
-
it('should include role selectors', () => {
|
|
109
|
-
const roleSelectors = RESPONSE_SELECTORS.filter((s) => s.includes('[role='));
|
|
110
|
-
expect(roleSelectors.length).toBeGreaterThan(0);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
describe('Page Utils - Wait Options', () => {
|
|
115
|
-
describe('default options', () => {
|
|
116
|
-
it('should have sensible timeout defaults', () => {
|
|
117
|
-
const defaultTimeout = 120000; // 2 minutes
|
|
118
|
-
expect(defaultTimeout).toBeGreaterThan(0);
|
|
119
|
-
expect(defaultTimeout).toBeLessThanOrEqual(300000); // Max 5 minutes
|
|
120
|
-
});
|
|
121
|
-
it('should have sensible poll interval defaults', () => {
|
|
122
|
-
const defaultPollInterval = 1000; // 1 second
|
|
123
|
-
expect(defaultPollInterval).toBeGreaterThan(0);
|
|
124
|
-
expect(defaultPollInterval).toBeLessThan(5000); // Less than 5 seconds
|
|
125
|
-
});
|
|
126
|
-
it('should have stable poll requirement', () => {
|
|
127
|
-
const requiredStablePolls = 8;
|
|
128
|
-
expect(requiredStablePolls).toBeGreaterThan(0);
|
|
129
|
-
expect(requiredStablePolls).toBeLessThan(20);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
describe('option validation', () => {
|
|
133
|
-
it('should accept valid timeout values', () => {
|
|
134
|
-
const validTimeouts = [30000, 60000, 120000, 180000];
|
|
135
|
-
validTimeouts.forEach((timeout) => {
|
|
136
|
-
expect(timeout).toBeGreaterThan(0);
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
it('should accept valid poll intervals', () => {
|
|
140
|
-
const validIntervals = [500, 1000, 2000];
|
|
141
|
-
validIntervals.forEach((interval) => {
|
|
142
|
-
expect(interval).toBeGreaterThan(0);
|
|
143
|
-
expect(interval).toBeLessThan(10000);
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
it('should accept empty ignore texts array', () => {
|
|
147
|
-
const ignoreTexts = [];
|
|
148
|
-
expect(Array.isArray(ignoreTexts)).toBe(true);
|
|
149
|
-
expect(ignoreTexts.length).toBe(0);
|
|
150
|
-
});
|
|
151
|
-
it('should accept populated ignore texts array', () => {
|
|
152
|
-
const ignoreTexts = ['text1', 'text2', 'text3'];
|
|
153
|
-
expect(Array.isArray(ignoreTexts)).toBe(true);
|
|
154
|
-
expect(ignoreTexts.length).toBe(3);
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
describe('Page Utils - Text Processing', () => {
|
|
159
|
-
describe('text normalization', () => {
|
|
160
|
-
it('should trim whitespace', () => {
|
|
161
|
-
const texts = [' hello ', '\nhello\n', '\thello\t', 'hello'];
|
|
162
|
-
texts.forEach((text) => {
|
|
163
|
-
expect(text.trim()).toBe('hello');
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
it('should handle empty strings', () => {
|
|
167
|
-
const empty = ' ';
|
|
168
|
-
expect(empty.trim()).toBe('');
|
|
169
|
-
});
|
|
170
|
-
it('should preserve internal whitespace', () => {
|
|
171
|
-
const text = ' hello world ';
|
|
172
|
-
expect(text.trim()).toBe('hello world');
|
|
173
|
-
});
|
|
174
|
-
it('should handle unicode whitespace', () => {
|
|
175
|
-
const text = '\u00A0hello\u00A0'; // Non-breaking space
|
|
176
|
-
expect(text.trim().length).toBeGreaterThan(0);
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
describe('text comparison', () => {
|
|
180
|
-
it('should compare case-insensitive for placeholders', () => {
|
|
181
|
-
const text1 = 'LOADING';
|
|
182
|
-
const text2 = 'loading';
|
|
183
|
-
expect(text1.toLowerCase()).toBe(text2.toLowerCase());
|
|
184
|
-
});
|
|
185
|
-
it('should detect question echoes', () => {
|
|
186
|
-
const question = 'What is the capital of France?';
|
|
187
|
-
const echo = 'What is the capital of France?';
|
|
188
|
-
expect(question.toLowerCase()).toBe(echo.toLowerCase());
|
|
189
|
-
});
|
|
190
|
-
it('should handle trimmed comparison', () => {
|
|
191
|
-
const text1 = ' hello ';
|
|
192
|
-
const text2 = 'hello';
|
|
193
|
-
expect(text1.trim()).toBe(text2.trim());
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
describe('text length checks', () => {
|
|
197
|
-
it('should identify empty responses', () => {
|
|
198
|
-
const texts = ['', ' ', '\n', '\t'];
|
|
199
|
-
texts.forEach((text) => {
|
|
200
|
-
expect(text.trim().length).toBe(0);
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
it('should identify non-empty responses', () => {
|
|
204
|
-
const texts = ['hello', 'a', '1', '!'];
|
|
205
|
-
texts.forEach((text) => {
|
|
206
|
-
expect(text.trim().length).toBeGreaterThan(0);
|
|
207
|
-
});
|
|
208
|
-
});
|
|
209
|
-
it('should measure text length correctly', () => {
|
|
210
|
-
const text = 'Hello World';
|
|
211
|
-
expect(text.length).toBe(11);
|
|
212
|
-
expect(text.trim().length).toBe(11);
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
describe('Page Utils - Streaming Detection Logic', () => {
|
|
217
|
-
describe('stability detection', () => {
|
|
218
|
-
it('should detect when text changes', () => {
|
|
219
|
-
const texts = ['Hello', 'Hello W', 'Hello Wo', 'Hello World'];
|
|
220
|
-
for (let i = 1; i < texts.length; i++) {
|
|
221
|
-
expect(texts[i]).not.toBe(texts[i - 1]);
|
|
222
|
-
expect(texts[i].length).toBeGreaterThan(texts[i - 1].length);
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
it('should detect when text stays same', () => {
|
|
226
|
-
const texts = ['Hello World', 'Hello World', 'Hello World'];
|
|
227
|
-
for (let i = 1; i < texts.length; i++) {
|
|
228
|
-
expect(texts[i]).toBe(texts[i - 1]);
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
it('should track stability count', () => {
|
|
232
|
-
let stableCount = 0;
|
|
233
|
-
let lastText = null;
|
|
234
|
-
const texts = ['Hello', 'Hello', 'Hello', 'Hello World'];
|
|
235
|
-
texts.forEach((text) => {
|
|
236
|
-
if (text === lastText) {
|
|
237
|
-
stableCount++;
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
stableCount = 1;
|
|
241
|
-
lastText = text;
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
expect(stableCount).toBe(1); // Reset after change
|
|
245
|
-
});
|
|
246
|
-
it('should require multiple stable checks', () => {
|
|
247
|
-
const requiredStable = 8;
|
|
248
|
-
let currentStable = 0;
|
|
249
|
-
// Simulate 10 identical readings
|
|
250
|
-
for (let i = 0; i < 10; i++) {
|
|
251
|
-
currentStable++;
|
|
252
|
-
}
|
|
253
|
-
expect(currentStable).toBeGreaterThanOrEqual(requiredStable);
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
describe('growth detection', () => {
|
|
257
|
-
it('should detect text growing', () => {
|
|
258
|
-
const sequence = ['The', 'The answer', 'The answer is', 'The answer is 42'];
|
|
259
|
-
for (let i = 1; i < sequence.length; i++) {
|
|
260
|
-
expect(sequence[i].length).toBeGreaterThan(sequence[i - 1].length);
|
|
261
|
-
expect(sequence[i]).toContain(sequence[i - 1]);
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
it('should detect text complete', () => {
|
|
265
|
-
const sequence = ['The answer is 42', 'The answer is 42', 'The answer is 42'];
|
|
266
|
-
for (let i = 1; i < sequence.length; i++) {
|
|
267
|
-
expect(sequence[i].length).toBe(sequence[i - 1].length);
|
|
268
|
-
expect(sequence[i]).toBe(sequence[i - 1]);
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
});
|
|
273
|
-
describe('Page Utils - Snapshot Logic', () => {
|
|
274
|
-
describe('snapshot comparison', () => {
|
|
275
|
-
it('should identify new responses', () => {
|
|
276
|
-
const oldSnapshots = ['Response 1', 'Response 2'];
|
|
277
|
-
const newSnapshot = 'Response 3';
|
|
278
|
-
expect(oldSnapshots).not.toContain(newSnapshot);
|
|
279
|
-
});
|
|
280
|
-
it('should identify existing responses', () => {
|
|
281
|
-
const oldSnapshots = ['Response 1', 'Response 2'];
|
|
282
|
-
const newSnapshot = 'Response 1';
|
|
283
|
-
expect(oldSnapshots).toContain(newSnapshot);
|
|
284
|
-
});
|
|
285
|
-
it('should handle empty snapshots', () => {
|
|
286
|
-
const oldSnapshots = [];
|
|
287
|
-
const newSnapshot = 'Response 1';
|
|
288
|
-
expect(oldSnapshots).not.toContain(newSnapshot);
|
|
289
|
-
expect(oldSnapshots.length).toBe(0);
|
|
290
|
-
});
|
|
291
|
-
it('should track multiple snapshots', () => {
|
|
292
|
-
const snapshots = ['R1', 'R2', 'R3'];
|
|
293
|
-
expect(snapshots.length).toBe(3);
|
|
294
|
-
expect(snapshots).toContain('R2');
|
|
295
|
-
});
|
|
296
|
-
});
|
|
297
|
-
describe('hash-based comparison', () => {
|
|
298
|
-
it('should use efficient comparison', () => {
|
|
299
|
-
const text = 'Long text that would be expensive to compare many times';
|
|
300
|
-
const hash1 = text.length; // Simple hash proxy
|
|
301
|
-
const hash2 = text.length;
|
|
302
|
-
expect(hash1).toBe(hash2);
|
|
303
|
-
expect(typeof hash1).toBe('number');
|
|
304
|
-
});
|
|
305
|
-
it('should handle hash collisions gracefully', () => {
|
|
306
|
-
// Different texts can have same length but are different
|
|
307
|
-
const text1 = 'Hello World';
|
|
308
|
-
const text2 = 'World Hello';
|
|
309
|
-
expect(text1.length).toBe(text2.length);
|
|
310
|
-
expect(text1).not.toBe(text2);
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
});
|
|
314
|
-
describe('Page Utils - Constants', () => {
|
|
315
|
-
describe('placeholder snippets', () => {
|
|
316
|
-
const PLACEHOLDER_SNIPPETS = [
|
|
317
|
-
'antwort wird erstellt',
|
|
318
|
-
'answer wird erstellt',
|
|
319
|
-
'answer is being created',
|
|
320
|
-
'answer is being generated',
|
|
321
|
-
'creating answer',
|
|
322
|
-
'generating answer',
|
|
323
|
-
'wird erstellt',
|
|
324
|
-
'getting the context',
|
|
325
|
-
'loading',
|
|
326
|
-
'please wait',
|
|
327
|
-
];
|
|
328
|
-
it('should have multiple placeholder patterns', () => {
|
|
329
|
-
expect(PLACEHOLDER_SNIPPETS.length).toBeGreaterThan(5);
|
|
330
|
-
});
|
|
331
|
-
it('should include NotebookLM specific placeholders', () => {
|
|
332
|
-
expect(PLACEHOLDER_SNIPPETS).toContain('getting the context');
|
|
333
|
-
});
|
|
334
|
-
it('should include German placeholders', () => {
|
|
335
|
-
const germanSnippets = PLACEHOLDER_SNIPPETS.filter((s) => s.includes('wird erstellt'));
|
|
336
|
-
expect(germanSnippets.length).toBeGreaterThan(0);
|
|
337
|
-
});
|
|
338
|
-
it('should include generic placeholders', () => {
|
|
339
|
-
expect(PLACEHOLDER_SNIPPETS).toContain('loading');
|
|
340
|
-
expect(PLACEHOLDER_SNIPPETS).toContain('please wait');
|
|
341
|
-
});
|
|
342
|
-
it('should all be lowercase', () => {
|
|
343
|
-
PLACEHOLDER_SNIPPETS.forEach((snippet) => {
|
|
344
|
-
expect(snippet).toBe(snippet.toLowerCase());
|
|
345
|
-
});
|
|
346
|
-
});
|
|
347
|
-
});
|
|
348
|
-
});
|
|
349
|
-
//# sourceMappingURL=page-utils.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-utils.test.js","sourceRoot":"","sources":["../../src/__tests__/page-utils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-verification.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup-verification.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from '@jest/globals';
|
|
2
|
-
describe('Test Setup Verification', () => {
|
|
3
|
-
it('should run tests successfully', () => {
|
|
4
|
-
expect(true).toBe(true);
|
|
5
|
-
});
|
|
6
|
-
it('should have access to TypeScript features', () => {
|
|
7
|
-
const typed = 'hello';
|
|
8
|
-
expect(typed).toBe('hello');
|
|
9
|
-
});
|
|
10
|
-
it('should support async tests', async () => {
|
|
11
|
-
const result = await Promise.resolve(42);
|
|
12
|
-
expect(result).toBe(42);
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=setup-verification.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-verification.test.js","sourceRoot":"","sources":["../../src/__tests__/setup-verification.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAErD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,KAAK,GAAW,OAAO,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stealth-utils.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/stealth-utils.test.ts"],"names":[],"mappings":""}
|