haori 0.1.1 → 0.1.2

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.
Files changed (43) hide show
  1. package/README.ja.md +26 -15
  2. package/README.md +26 -15
  3. package/dist/haori.cjs.js +10 -9
  4. package/dist/haori.cjs.js.map +1 -1
  5. package/dist/haori.es.js +1169 -736
  6. package/dist/haori.es.js.map +1 -1
  7. package/dist/haori.iife.js +9 -8
  8. package/dist/haori.iife.js.map +1 -1
  9. package/dist/index.d.ts +10 -2
  10. package/dist/package.json +70 -0
  11. package/dist/src/expression.d.ts +92 -0
  12. package/dist/src/expression.d.ts.map +1 -1
  13. package/dist/src/expression.js +475 -2
  14. package/dist/src/expression.js.map +1 -1
  15. package/dist/src/fragment.d.ts +9 -1
  16. package/dist/src/fragment.d.ts.map +1 -1
  17. package/dist/src/fragment.js +50 -6
  18. package/dist/src/fragment.js.map +1 -1
  19. package/dist/src/index.d.ts +1 -1
  20. package/dist/src/index.js +1 -1
  21. package/dist/tests/data-each-table.test.js +5 -20
  22. package/dist/tests/data-each-table.test.js.map +1 -1
  23. package/dist/tests/data-fetch-tbody-dom.test.js +1 -1
  24. package/dist/tests/data-fetch-tbody-dom.test.js.map +1 -1
  25. package/dist/tests/event.test.js +3 -2
  26. package/dist/tests/event.test.js.map +1 -1
  27. package/dist/tests/expression.test.js +92 -0
  28. package/dist/tests/expression.test.js.map +1 -1
  29. package/dist/tests/form.test.js +35 -34
  30. package/dist/tests/form.test.js.map +1 -1
  31. package/dist/tests/fragment.test.js +51 -1
  32. package/dist/tests/fragment.test.js.map +1 -1
  33. package/dist/tests/helpers/async.d.ts +19 -0
  34. package/dist/tests/helpers/async.d.ts.map +1 -0
  35. package/dist/tests/helpers/async.js +31 -0
  36. package/dist/tests/helpers/async.js.map +1 -0
  37. package/dist/tests/procedure-action-operations.test.js +15 -12
  38. package/dist/tests/procedure-action-operations.test.js.map +1 -1
  39. package/dist/tests/row-move.test.js +36 -13
  40. package/dist/tests/row-move.test.js.map +1 -1
  41. package/dist/tests/row-operations.test.js +21 -20
  42. package/dist/tests/row-operations.test.js.map +1 -1
  43. package/package.json +1 -1
@@ -6,6 +6,7 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
6
6
  import Core from '../src/core';
7
7
  import Form from '../src/form';
8
8
  import Fragment from '../src/fragment';
9
+ import { waitForDomSettled } from './helpers/async';
9
10
  describe('Form', () => {
10
11
  let container;
11
12
  beforeEach(() => {
@@ -25,7 +26,7 @@ describe('Form', () => {
25
26
  </form>
26
27
  `;
27
28
  await Core.scan(container);
28
- await new Promise(resolve => setTimeout(resolve, 50));
29
+ await waitForDomSettled();
29
30
  const form = container.querySelector('form');
30
31
  const fragment = Fragment.get(form);
31
32
  const values = Form.getValues(fragment);
@@ -45,7 +46,7 @@ describe('Form', () => {
45
46
  </form>
46
47
  `;
47
48
  await Core.scan(container);
48
- await new Promise(resolve => setTimeout(resolve, 50));
49
+ await waitForDomSettled();
49
50
  const form = container.querySelector('form');
50
51
  const fragment = Fragment.get(form);
51
52
  const values = Form.getValues(fragment);
@@ -70,7 +71,7 @@ describe('Form', () => {
70
71
  </form>
71
72
  `;
72
73
  await Core.scan(container);
73
- await new Promise(resolve => setTimeout(resolve, 50));
74
+ await waitForDomSettled();
74
75
  const form = container.querySelector('form');
75
76
  const fragment = Fragment.get(form);
76
77
  const values = Form.getValues(fragment);
@@ -96,7 +97,7 @@ describe('Form', () => {
96
97
  </form>
97
98
  `;
98
99
  await Core.scan(container);
99
- await new Promise(resolve => setTimeout(resolve, 50));
100
+ await waitForDomSettled();
100
101
  const form = container.querySelector('form');
101
102
  const fragment = Fragment.get(form);
102
103
  const values = Form.getValues(fragment);
@@ -126,7 +127,7 @@ describe('Form', () => {
126
127
  </form>
127
128
  `;
128
129
  await Core.scan(container);
129
- await new Promise(resolve => setTimeout(resolve, 50));
130
+ await waitForDomSettled();
130
131
  const form = container.querySelector('form');
131
132
  const fragment = Fragment.get(form);
132
133
  const values = Form.getValues(fragment);
@@ -161,7 +162,7 @@ describe('Form', () => {
161
162
  </form>
162
163
  `;
163
164
  await Core.scan(container);
164
- await new Promise(resolve => setTimeout(resolve, 50));
165
+ await waitForDomSettled();
165
166
  const form = container.querySelector('form');
166
167
  const fragment = Fragment.get(form);
167
168
  const values = Form.getValues(fragment);
@@ -210,7 +211,7 @@ describe('Form', () => {
210
211
  </form>
211
212
  `;
212
213
  await Core.scan(container);
213
- await new Promise(resolve => setTimeout(resolve, 50));
214
+ await waitForDomSettled();
214
215
  const form = container.querySelector('form');
215
216
  const fragment = Fragment.get(form);
216
217
  const values = Form.getValues(fragment);
@@ -240,7 +241,7 @@ describe('Form', () => {
240
241
  </form>
241
242
  `;
242
243
  await Core.scan(container);
243
- await new Promise(resolve => setTimeout(resolve, 50));
244
+ await waitForDomSettled();
244
245
  const form = container.querySelector('form');
245
246
  const fragment = Fragment.get(form);
246
247
  await Form.setValues(fragment, {
@@ -248,7 +249,7 @@ describe('Form', () => {
248
249
  age: 30,
249
250
  email: 'yamada@example.com',
250
251
  });
251
- await new Promise(resolve => setTimeout(resolve, 50));
252
+ await waitForDomSettled();
252
253
  const nameInput = container.querySelector('input[name="name"]');
253
254
  const ageInput = container.querySelector('input[name="age"]');
254
255
  const emailInput = container.querySelector('input[name="email"]');
@@ -267,7 +268,7 @@ describe('Form', () => {
267
268
  </form>
268
269
  `;
269
270
  await Core.scan(container);
270
- await new Promise(resolve => setTimeout(resolve, 50));
271
+ await waitForDomSettled();
271
272
  const form = container.querySelector('form');
272
273
  const fragment = Fragment.get(form);
273
274
  await Form.setValues(fragment, {
@@ -277,7 +278,7 @@ describe('Form', () => {
277
278
  street: '北区2-2-2',
278
279
  },
279
280
  });
280
- await new Promise(resolve => setTimeout(resolve, 50));
281
+ await waitForDomSettled();
281
282
  const nameInput = container.querySelector('input[name="name"]');
282
283
  const cityInput = container.querySelector('input[name="city"]');
283
284
  const streetInput = container.querySelector('input[name="street"]');
@@ -300,7 +301,7 @@ describe('Form', () => {
300
301
  </form>
301
302
  `;
302
303
  await Core.scan(container);
303
- await new Promise(resolve => setTimeout(resolve, 50));
304
+ await waitForDomSettled();
304
305
  const form = container.querySelector('form');
305
306
  const fragment = Fragment.get(form);
306
307
  await Form.setValues(fragment, {
@@ -314,7 +315,7 @@ describe('Form', () => {
314
315
  },
315
316
  },
316
317
  });
317
- await new Promise(resolve => setTimeout(resolve, 50));
318
+ await waitForDomSettled();
318
319
  const nameInput = container.querySelector('input[name="name"]');
319
320
  const countryInput = container.querySelector('input[name="country"]');
320
321
  const cityInput = container.querySelector('input[name="city"]');
@@ -338,7 +339,7 @@ describe('Form', () => {
338
339
  </form>
339
340
  `;
340
341
  await Core.scan(container);
341
- await new Promise(resolve => setTimeout(resolve, 50));
342
+ await waitForDomSettled();
342
343
  const form = container.querySelector('form');
343
344
  const fragment = Fragment.get(form);
344
345
  await Form.setValues(fragment, {
@@ -347,7 +348,7 @@ describe('Form', () => {
347
348
  { name: '新商品B', price: 600 },
348
349
  ],
349
350
  });
350
- await new Promise(resolve => setTimeout(resolve, 50));
351
+ await waitForDomSettled();
351
352
  const nameInputs = container.querySelectorAll('input[name="name"]');
352
353
  const priceInputs = container.querySelectorAll('input[name="price"]');
353
354
  expect(nameInputs[0].value).toBe('新商品A');
@@ -370,7 +371,7 @@ describe('Form', () => {
370
371
  </form>
371
372
  `;
372
373
  await Core.scan(container);
373
- await new Promise(resolve => setTimeout(resolve, 50));
374
+ await waitForDomSettled();
374
375
  const form = container.querySelector('form');
375
376
  const fragment = Fragment.get(form);
376
377
  await Form.setValues(fragment, {
@@ -384,7 +385,7 @@ describe('Form', () => {
384
385
  },
385
386
  ],
386
387
  });
387
- await new Promise(resolve => setTimeout(resolve, 50));
388
+ await waitForDomSettled();
388
389
  const orderIdInput = container.querySelector('input[name="orderId"]');
389
390
  const nameInput = container.querySelector('input[name="name"]');
390
391
  const phoneInput = container.querySelector('input[name="phone"]');
@@ -402,11 +403,11 @@ describe('Form', () => {
402
403
  </form>
403
404
  `;
404
405
  await Core.scan(container);
405
- await new Promise(resolve => setTimeout(resolve, 50));
406
+ await waitForDomSettled();
406
407
  const form = container.querySelector('form');
407
408
  const fragment = Fragment.get(form);
408
409
  await Form.addErrorMessage(fragment, 'name', '名前は必須です');
409
- await new Promise(resolve => setTimeout(resolve, 50));
410
+ await waitForDomSettled();
410
411
  const nameInput = container.querySelector('input[name="name"]');
411
412
  const parentElement = nameInput.parentElement;
412
413
  expect(parentElement.getAttribute('data-message')).toBe('名前は必須です');
@@ -421,11 +422,11 @@ describe('Form', () => {
421
422
  </form>
422
423
  `;
423
424
  await Core.scan(container);
424
- await new Promise(resolve => setTimeout(resolve, 50));
425
+ await waitForDomSettled();
425
426
  const form = container.querySelector('form');
426
427
  const fragment = Fragment.get(form);
427
428
  await Form.addErrorMessage(fragment, 'address.city', '市区町村は必須です');
428
- await new Promise(resolve => setTimeout(resolve, 50));
429
+ await waitForDomSettled();
429
430
  const cityInput = container.querySelector('input[name="city"]');
430
431
  const parentElement = cityInput.parentElement;
431
432
  expect(parentElement.getAttribute('data-message')).toBe('市区町村は必須です');
@@ -441,11 +442,11 @@ describe('Form', () => {
441
442
  </form>
442
443
  `;
443
444
  await Core.scan(container);
444
- await new Promise(resolve => setTimeout(resolve, 50));
445
+ await waitForDomSettled();
445
446
  const form = container.querySelector('form');
446
447
  const fragment = Fragment.get(form);
447
448
  await Form.addErrorMessage(fragment, 'company.location.country', '国名は必須です');
448
- await new Promise(resolve => setTimeout(resolve, 50));
449
+ await waitForDomSettled();
449
450
  const countryInput = container.querySelector('input[name="country"]');
450
451
  const parentElement = countryInput.parentElement;
451
452
  expect(parentElement.getAttribute('data-message')).toBe('国名は必須です');
@@ -467,12 +468,12 @@ describe('Form', () => {
467
468
  </form>
468
469
  `;
469
470
  await Core.scan(container);
470
- await new Promise(resolve => setTimeout(resolve, 50));
471
+ await waitForDomSettled();
471
472
  const form = container.querySelector('form');
472
473
  const fragment = Fragment.get(form);
473
474
  // 2番目の配列要素にエラーを追加
474
475
  await Form.addErrorMessage(fragment, 'items[1].name', '2番目の項目名は必須です');
475
- await new Promise(resolve => setTimeout(resolve, 50));
476
+ await waitForDomSettled();
476
477
  const rows = container.querySelectorAll('[data-row]');
477
478
  const secondRowInput = rows[1].querySelector('input[name="name"]');
478
479
  const parentElement = secondRowInput.parentElement;
@@ -496,11 +497,11 @@ describe('Form', () => {
496
497
  </form>
497
498
  `;
498
499
  await Core.scan(container);
499
- await new Promise(resolve => setTimeout(resolve, 50));
500
+ await waitForDomSettled();
500
501
  const form = container.querySelector('form');
501
502
  const fragment = Fragment.get(form);
502
503
  await Form.addErrorMessage(fragment, 'orders[1].customer.name', '顧客名は必須です');
503
- await new Promise(resolve => setTimeout(resolve, 50));
504
+ await waitForDomSettled();
504
505
  const rows = container.querySelectorAll('[data-row]');
505
506
  const secondRowInput = rows[1].querySelector('input[name="name"]');
506
507
  const parentElement = secondRowInput.parentElement;
@@ -513,11 +514,11 @@ describe('Form', () => {
513
514
  </form>
514
515
  `;
515
516
  await Core.scan(container);
516
- await new Promise(resolve => setTimeout(resolve, 50));
517
+ await waitForDomSettled();
517
518
  const form = container.querySelector('form');
518
519
  const fragment = Fragment.get(form);
519
520
  await Form.addErrorMessage(fragment, 'nonexistent', 'フォーム全体のエラー');
520
- await new Promise(resolve => setTimeout(resolve, 50));
521
+ await waitForDomSettled();
521
522
  expect(form.getAttribute('data-message')).toBe('フォーム全体のエラー');
522
523
  });
523
524
  it('should clear messages with Form.clearMessages', async () => {
@@ -530,16 +531,16 @@ describe('Form', () => {
530
531
  </form>
531
532
  `;
532
533
  await Core.scan(container);
533
- await new Promise(resolve => setTimeout(resolve, 50));
534
+ await waitForDomSettled();
534
535
  const form = container.querySelector('form');
535
536
  const fragment = Fragment.get(form);
536
537
  // エラーメッセージを追加
537
538
  await Form.addErrorMessage(fragment, 'name', 'エラー1');
538
539
  await Form.addErrorMessage(fragment, 'address.city', 'エラー2');
539
- await new Promise(resolve => setTimeout(resolve, 50));
540
+ await waitForDomSettled();
540
541
  // メッセージをクリア
541
542
  await Form.clearMessages(fragment);
542
- await new Promise(resolve => setTimeout(resolve, 50));
543
+ await waitForDomSettled();
543
544
  const messagesAfter = container.querySelectorAll('[data-message]');
544
545
  expect(messagesAfter.length).toBe(0);
545
546
  });
@@ -577,7 +578,7 @@ describe('Form', () => {
577
578
  </form>
578
579
  `;
579
580
  await Core.scan(container);
580
- await new Promise(resolve => setTimeout(resolve, 50));
581
+ await waitForDomSettled();
581
582
  const form = container.querySelector('form');
582
583
  const fragment = Fragment.get(form);
583
584
  const originalData = {
@@ -598,7 +599,7 @@ describe('Form', () => {
598
599
  ],
599
600
  };
600
601
  await Form.setValues(fragment, originalData);
601
- await new Promise(resolve => setTimeout(resolve, 50));
602
+ await waitForDomSettled();
602
603
  const retrievedData = Form.getValues(fragment);
603
604
  expect(retrievedData).toEqual(originalData);
604
605
  });
@@ -1 +1 @@
1
- {"version":3,"file":"form.test.js","sourceRoot":"","sources":["../../tests/form.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.test.js","sourceRoot":"","sources":["../../tests/form.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /* @vitest-environment jsdom */
2
- import { describe, it, expect } from 'vitest';
2
+ import { describe, it, expect, vi } from 'vitest';
3
3
  import Fragment, { ElementFragment, TextFragment, CommentFragment, } from '../src/fragment';
4
+ import Log from '../src/log';
4
5
  // ヘルパー: DOM子要素のタグ名配列を取得
5
6
  const childTagNames = (el) => Array.from(el.children)
6
7
  .map(e => e.tagName.toLowerCase());
@@ -111,6 +112,55 @@ describe('ElementFragment の insertBefore/insertAfter', () => {
111
112
  const ids2 = Array.from(parent.children).map(e => e.id);
112
113
  expect(ids2).toEqual(['a', 'c', 'b', 'd']);
113
114
  });
115
+ it('children 配列と DOM が一時的にずれても参照位置を DOM から解決できる', async () => {
116
+ const parent = document.createElement('div');
117
+ const a = document.createElement('span');
118
+ a.id = 'a';
119
+ const b = document.createElement('span');
120
+ b.id = 'b';
121
+ parent.append(a, b);
122
+ const parentFragment = new ElementFragment(parent);
123
+ const referenceChild = parentFragment.getChildElementFragments()[1];
124
+ parentFragment.removeChild(referenceChild);
125
+ const warnSpy = vi.spyOn(Log, 'warn').mockImplementation(() => { });
126
+ const c = document.createElement('span');
127
+ c.id = 'c';
128
+ const childFragment = Fragment.get(c);
129
+ await parentFragment.insertBefore(childFragment, referenceChild);
130
+ const ids = Array.from(parent.children).map(element => element.id);
131
+ expect(ids).toEqual(['a', 'c', 'b']);
132
+ expect(warnSpy).not.toHaveBeenCalledWith('[Haori]', 'Reference child not found in children.', referenceChild);
133
+ });
134
+ it('insertAfter で未追跡ノードが連続しても DOM 順を維持する', async () => {
135
+ const parent = document.createElement('div');
136
+ const a = document.createElement('span');
137
+ a.id = 'a';
138
+ const b = document.createElement('span');
139
+ b.id = 'b';
140
+ const c = document.createElement('span');
141
+ c.id = 'c';
142
+ const d = document.createElement('span');
143
+ d.id = 'd';
144
+ parent.append(a, b, c, d);
145
+ const parentFragment = new ElementFragment(parent);
146
+ const [aFragment, bFragment, cFragment] = parentFragment.getChildElementFragments();
147
+ const dFragment = parentFragment.getChildElementFragments()[3];
148
+ parentFragment.removeChild(bFragment);
149
+ parentFragment.removeChild(cFragment);
150
+ const warnSpy = vi.spyOn(Log, 'warn').mockImplementation(() => { });
151
+ const inserted = document.createElement('span');
152
+ inserted.id = 'n';
153
+ const insertedFragment = Fragment.get(inserted);
154
+ await parentFragment.insertAfter(insertedFragment, bFragment);
155
+ const ids = Array.from(parent.children).map(element => element.id);
156
+ expect(ids).toEqual(['a', 'b', 'n', 'c', 'd']);
157
+ expect(parentFragment.getChildElementFragments().map(fragment => fragment.getTarget().id)).toEqual([
158
+ aFragment.getTarget().id,
159
+ insertedFragment.getTarget().id,
160
+ dFragment.getTarget().id,
161
+ ]);
162
+ expect(warnSpy).not.toHaveBeenCalledWith('[Haori]', 'Reference child not found in children.', bFragment);
163
+ });
114
164
  });
115
165
  describe('ElementFragment の setValue', () => {
116
166
  it('text input に値を設定して同期される', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"fragment.test.js","sourceRoot":"","sources":["../../tests/fragment.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fragment.test.js","sourceRoot":"","sources":["../../tests/fragment.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * DOM 更新とキュー処理が概ね安定するまで待機します。
3
+ *
4
+ * @param cycles 待機サイクル数
5
+ * @returns 待機完了Promise
6
+ */
7
+ export declare function waitForDomSettled(cycles?: number): Promise<void>;
8
+ /**
9
+ * 条件が満たされるまでキュー処理を進めながら待機します。
10
+ *
11
+ * @param condition 判定関数
12
+ * @param options 最大試行回数と説明
13
+ * @returns 条件が満たされたら解決されるPromise
14
+ */
15
+ export declare function waitForCondition(condition: () => boolean, options?: {
16
+ description?: string;
17
+ maxAttempts?: number;
18
+ }): Promise<void>;
19
+ //# sourceMappingURL=async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../tests/helpers/async.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjE;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,OAAO,EACxB,OAAO,GAAE;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAM,GACzD,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -0,0 +1,31 @@
1
+ import Queue from '../../src/queue';
2
+ /**
3
+ * DOM 更新とキュー処理が概ね安定するまで待機します。
4
+ *
5
+ * @param cycles 待機サイクル数
6
+ * @returns 待機完了Promise
7
+ */
8
+ export async function waitForDomSettled(cycles = 3) {
9
+ for (let index = 0; index < cycles; index += 1) {
10
+ await Promise.resolve();
11
+ await Queue.wait();
12
+ }
13
+ }
14
+ /**
15
+ * 条件が満たされるまでキュー処理を進めながら待機します。
16
+ *
17
+ * @param condition 判定関数
18
+ * @param options 最大試行回数と説明
19
+ * @returns 条件が満たされたら解決されるPromise
20
+ */
21
+ export async function waitForCondition(condition, options = {}) {
22
+ const { description = 'condition', maxAttempts = 10 } = options;
23
+ for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
24
+ if (condition()) {
25
+ return;
26
+ }
27
+ await waitForDomSettled();
28
+ }
29
+ throw new Error(`Timed out waiting for ${description}.`);
30
+ }
31
+ //# sourceMappingURL=async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../tests/helpers/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAM,GAAG,CAAC;IAChD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAwB,EACxB,UAAwD,EAAE;IAE1D,MAAM,EAAC,WAAW,GAAG,WAAW,EAAE,WAAW,GAAG,EAAE,EAAC,GAAG,OAAO,CAAC;IAC9D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,MAAM,iBAAiB,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,GAAG,CAAC,CAAC;AAC3D,CAAC"}
@@ -5,6 +5,7 @@
5
5
  import { describe, it, expect, beforeEach, vi } from 'vitest';
6
6
  import Form from '../src/form';
7
7
  import Haori from '../src/haori';
8
+ import { waitForCondition, waitForDomSettled } from './helpers/async';
8
9
  describe('Procedure action operations', () => {
9
10
  beforeEach(async () => {
10
11
  vi.restoreAllMocks();
@@ -24,9 +25,9 @@ describe('Procedure action operations', () => {
24
25
  btn.setAttribute('data-click-fetch', 'http://api.test/reset');
25
26
  btn.setAttribute('data-click-reset', '#to-reset');
26
27
  container.appendChild(btn);
27
- await new Promise(resolve => setTimeout(resolve, 50));
28
+ await waitForDomSettled();
28
29
  btn.click();
29
- await new Promise(resolve => setTimeout(resolve, 50));
30
+ await waitForDomSettled();
30
31
  expect(resetSpy).toHaveBeenCalled();
31
32
  container.remove();
32
33
  });
@@ -47,9 +48,9 @@ describe('Procedure action operations', () => {
47
48
  btn.setAttribute('data-click-fetch', 'http://api.test/refetch');
48
49
  btn.setAttribute('data-click-refetch', '#refetch-target');
49
50
  container.appendChild(btn);
50
- await new Promise(resolve => setTimeout(resolve, 50));
51
+ await waitForDomSettled();
51
52
  btn.click();
52
- await new Promise(resolve => setTimeout(resolve, 50));
53
+ await waitForDomSettled();
53
54
  expect(runSpy).toHaveBeenCalled();
54
55
  container.remove();
55
56
  });
@@ -69,9 +70,9 @@ describe('Procedure action operations', () => {
69
70
  button.id = 'click-target';
70
71
  btn.setAttribute('data-click-click', '#click-target');
71
72
  container.appendChild(btn);
72
- await new Promise(resolve => setTimeout(resolve, 50));
73
+ await waitForDomSettled();
73
74
  btn.click();
74
- await new Promise(resolve => setTimeout(resolve, 50));
75
+ await waitForDomSettled();
75
76
  expect(clickSpy).toHaveBeenCalled();
76
77
  button.remove();
77
78
  container.remove();
@@ -94,9 +95,9 @@ describe('Procedure action operations', () => {
94
95
  btn.setAttribute('data-click-open', '#dlg');
95
96
  btn.setAttribute('data-click-close', '#dlg');
96
97
  container.appendChild(btn);
97
- await new Promise(resolve => setTimeout(resolve, 50));
98
+ await waitForDomSettled();
98
99
  btn.click();
99
- await new Promise(resolve => setTimeout(resolve, 50));
100
+ await waitForDomSettled();
100
101
  expect(openSpy).toHaveBeenCalled();
101
102
  expect(closeSpy).toHaveBeenCalled();
102
103
  dialog.remove();
@@ -114,9 +115,11 @@ describe('Procedure action operations', () => {
114
115
  btn.setAttribute('data-click-fetch', 'http://api.test/redirect');
115
116
  btn.setAttribute('data-click-redirect', url);
116
117
  container.appendChild(btn);
117
- await new Promise(resolve => setTimeout(resolve, 50));
118
+ await waitForDomSettled();
118
119
  btn.click();
119
- await new Promise(resolve => setTimeout(resolve, 50));
120
+ await waitForCondition(() => window.location.href.endsWith(url), {
121
+ description: 'redirect url',
122
+ });
120
123
  const redirected = window.location.href.endsWith(url);
121
124
  expect(redirected).toBeTruthy();
122
125
  container.remove();
@@ -137,9 +140,9 @@ describe('Procedure action operations', () => {
137
140
  // ボタンは parent 内に入れることで、Haori.addErrorMessage が親要素に data-message を付加する
138
141
  parent.appendChild(btn);
139
142
  btn.setAttribute('data-click-fetch', 'http://api.test/error');
140
- await new Promise(resolve => setTimeout(resolve, 50));
143
+ await waitForDomSettled();
141
144
  btn.click();
142
- await new Promise(resolve => setTimeout(resolve, 50));
145
+ await waitForCondition(() => parent.getAttribute('data-message') === 'Server failed', { description: 'error message' });
143
146
  // Haori.addErrorMessage sets data-message on parent element
144
147
  expect(parent.getAttribute('data-message')).toBe('Server failed');
145
148
  parent.remove();