haori 0.1.2 → 0.1.4

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 (44) hide show
  1. package/LICENSE +21 -21
  2. package/README.ja.md +182 -167
  3. package/README.md +184 -169
  4. package/dist/haori.cjs.js +11 -10
  5. package/dist/haori.cjs.js.map +1 -1
  6. package/dist/haori.es.js +889 -683
  7. package/dist/haori.es.js.map +1 -1
  8. package/dist/haori.iife.js +10 -9
  9. package/dist/haori.iife.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/package.json +1 -1
  12. package/dist/src/expression.d.ts +27 -3
  13. package/dist/src/expression.d.ts.map +1 -1
  14. package/dist/src/expression.js +97 -24
  15. package/dist/src/expression.js.map +1 -1
  16. package/dist/src/form.d.ts.map +1 -1
  17. package/dist/src/form.js +17 -3
  18. package/dist/src/form.js.map +1 -1
  19. package/dist/src/index.d.ts +1 -1
  20. package/dist/src/index.js +1 -1
  21. package/dist/src/procedure.d.ts +50 -0
  22. package/dist/src/procedure.d.ts.map +1 -1
  23. package/dist/src/procedure.js +166 -20
  24. package/dist/src/procedure.js.map +1 -1
  25. package/dist/tests/core.test.js +46 -46
  26. package/dist/tests/data-each-browserlike.test.js +10 -10
  27. package/dist/tests/data-each-fragment-debug.test.js +36 -36
  28. package/dist/tests/data-each-table.test.js +93 -10
  29. package/dist/tests/data-each-table.test.js.map +1 -1
  30. package/dist/tests/data-fetch-tbody-dom.test.js +12 -12
  31. package/dist/tests/expression.test.js +37 -21
  32. package/dist/tests/expression.test.js.map +1 -1
  33. package/dist/tests/form.test.js +241 -241
  34. package/dist/tests/import.test.js +34 -34
  35. package/dist/tests/procedure-action-operations.test.js +85 -0
  36. package/dist/tests/procedure-action-operations.test.js.map +1 -1
  37. package/dist/tests/procedure-fetch-options.test.js +58 -0
  38. package/dist/tests/procedure-fetch-options.test.js.map +1 -1
  39. package/dist/tests/procedure_events.test.d.ts.map +1 -1
  40. package/dist/tests/procedure_events.test.js +65 -0
  41. package/dist/tests/procedure_events.test.js.map +1 -1
  42. package/dist/tests/row-move.test.js +67 -67
  43. package/dist/tests/row-operations.test.js +84 -84
  44. package/package.json +70 -70
@@ -13,15 +13,15 @@ describe('Import', () => {
13
13
  });
14
14
  describe('load', () => {
15
15
  it('HTMLからbodyの内容のみを抽出する', async () => {
16
- const html = `
17
- <!DOCTYPE html>
18
- <html>
19
- <head><title>Test</title></head>
20
- <body>
21
- <h1>Hello</h1>
22
- <p>World</p>
23
- </body>
24
- </html>
16
+ const html = `
17
+ <!DOCTYPE html>
18
+ <html>
19
+ <head><title>Test</title></head>
20
+ <body>
21
+ <h1>Hello</h1>
22
+ <p>World</p>
23
+ </body>
24
+ </html>
25
25
  `;
26
26
  vi.spyOn(globalThis, 'fetch').mockResolvedValue({
27
27
  ok: true,
@@ -78,14 +78,14 @@ describe('Import', () => {
78
78
  await expect(Import.load('https://example.com/test.html')).rejects.toThrow('Failed to read response');
79
79
  });
80
80
  it('複数の子要素を持つbodyを正しく抽出する', async () => {
81
- const html = `
82
- <html>
83
- <body>
84
- <header>Header</header>
85
- <main>Main Content</main>
86
- <footer>Footer</footer>
87
- </body>
88
- </html>
81
+ const html = `
82
+ <html>
83
+ <body>
84
+ <header>Header</header>
85
+ <main>Main Content</main>
86
+ <footer>Footer</footer>
87
+ </body>
88
+ </html>
89
89
  `;
90
90
  vi.spyOn(globalThis, 'fetch').mockResolvedValue({
91
91
  ok: true,
@@ -106,13 +106,13 @@ describe('Import', () => {
106
106
  expect(result).toBe('');
107
107
  });
108
108
  it('body内のスクリプトタグも含める', async () => {
109
- const html = `
110
- <html>
111
- <body>
112
- <p>Content</p>
113
- <script>console.log('test');</script>
114
- </body>
115
- </html>
109
+ const html = `
110
+ <html>
111
+ <body>
112
+ <p>Content</p>
113
+ <script>console.log('test');</script>
114
+ </body>
115
+ </html>
116
116
  `;
117
117
  vi.spyOn(globalThis, 'fetch').mockResolvedValue({
118
118
  ok: true,
@@ -123,16 +123,16 @@ describe('Import', () => {
123
123
  // scriptタグはDOMParserによって処理される
124
124
  });
125
125
  it('ネストされた要素を正しく抽出する', async () => {
126
- const html = `
127
- <html>
128
- <body>
129
- <div class="outer">
130
- <div class="inner">
131
- <span>Nested content</span>
132
- </div>
133
- </div>
134
- </body>
135
- </html>
126
+ const html = `
127
+ <html>
128
+ <body>
129
+ <div class="outer">
130
+ <div class="inner">
131
+ <span>Nested content</span>
132
+ </div>
133
+ </div>
134
+ </body>
135
+ </html>
136
136
  `;
137
137
  vi.spyOn(globalThis, 'fetch').mockResolvedValue({
138
138
  ok: true,
@@ -9,6 +9,7 @@ import { waitForCondition, waitForDomSettled } from './helpers/async';
9
9
  describe('Procedure action operations', () => {
10
10
  beforeEach(async () => {
11
11
  vi.restoreAllMocks();
12
+ window.Haori = Haori;
12
13
  await import('../src/observer');
13
14
  });
14
15
  it('resetFragments calls Form.reset', async () => {
@@ -103,6 +104,43 @@ describe('Procedure action operations', () => {
103
104
  dialog.remove();
104
105
  container.remove();
105
106
  });
107
+ it('data-click-open delegates to window.Haori for Bootstrap modal targets', async () => {
108
+ const typedWindow = window;
109
+ const originalHaori = typedWindow.Haori;
110
+ const openSpy = vi.fn().mockResolvedValue(undefined);
111
+ const closeSpy = vi.fn().mockResolvedValue(undefined);
112
+ typedWindow.Haori = {
113
+ dialog: vi.fn().mockResolvedValue(undefined),
114
+ confirm: vi.fn().mockResolvedValue(true),
115
+ toast: vi.fn().mockResolvedValue(undefined),
116
+ openDialog: openSpy,
117
+ closeDialog: closeSpy,
118
+ addErrorMessage: vi.fn().mockResolvedValue(undefined),
119
+ };
120
+ const modal = document.createElement('div');
121
+ modal.id = 'user-modal';
122
+ modal.className = 'modal';
123
+ document.body.appendChild(modal);
124
+ const container = document.createElement('div');
125
+ document.body.appendChild(container);
126
+ const btn = document.createElement('button');
127
+ btn.setAttribute('data-click-open', '#user-modal');
128
+ btn.setAttribute('data-click-close', '#user-modal');
129
+ container.appendChild(btn);
130
+ await waitForDomSettled();
131
+ btn.click();
132
+ await waitForDomSettled();
133
+ expect(openSpy).toHaveBeenCalledWith(modal);
134
+ expect(closeSpy).toHaveBeenCalledWith(modal);
135
+ if (originalHaori === undefined) {
136
+ Reflect.deleteProperty(window, 'Haori');
137
+ }
138
+ else {
139
+ typedWindow.Haori = originalHaori;
140
+ }
141
+ modal.remove();
142
+ container.remove();
143
+ });
106
144
  it('redirectUrl sets window.location.href (attribute-driven)', async () => {
107
145
  vi.spyOn(globalThis, 'fetch').mockImplementation(() => {
108
146
  return Promise.resolve(new Response('{}', { headers: { 'Content-Type': 'application/json' } }));
@@ -147,5 +185,52 @@ describe('Procedure action operations', () => {
147
185
  expect(parent.getAttribute('data-message')).toBe('Server failed');
148
186
  parent.remove();
149
187
  });
188
+ it('JSON field errors delegate to window.Haori.addErrorMessage', async () => {
189
+ const typedWindow = window;
190
+ const originalHaori = typedWindow.Haori;
191
+ const addErrorMessageSpy = vi
192
+ .fn()
193
+ .mockImplementation(async (target, message) => {
194
+ target.setAttribute('data-test-message', message);
195
+ });
196
+ typedWindow.Haori = {
197
+ dialog: vi.fn().mockResolvedValue(undefined),
198
+ confirm: vi.fn().mockResolvedValue(true),
199
+ toast: vi.fn().mockResolvedValue(undefined),
200
+ openDialog: vi.fn().mockResolvedValue(undefined),
201
+ closeDialog: vi.fn().mockResolvedValue(undefined),
202
+ addErrorMessage: addErrorMessageSpy,
203
+ clearMessages: vi.fn().mockResolvedValue(undefined),
204
+ };
205
+ vi.spyOn(globalThis, 'fetch').mockImplementation(() => {
206
+ return Promise.resolve(new Response(JSON.stringify({ errors: { email: 'メールアドレスが不正です' } }), {
207
+ status: 400,
208
+ statusText: 'Bad Request',
209
+ headers: { 'Content-Type': 'application/json' },
210
+ }));
211
+ });
212
+ const form = document.createElement('form');
213
+ const emailInput = document.createElement('input');
214
+ emailInput.name = 'email';
215
+ form.appendChild(emailInput);
216
+ const btn = document.createElement('button');
217
+ btn.setAttribute('data-click-form', '');
218
+ btn.setAttribute('data-click-fetch', 'http://api.test/json-error');
219
+ form.appendChild(btn);
220
+ document.body.appendChild(form);
221
+ await waitForDomSettled();
222
+ btn.click();
223
+ await waitForCondition(() => addErrorMessageSpy.mock.calls.length > 0, {
224
+ description: 'json field error delegation',
225
+ });
226
+ expect(addErrorMessageSpy).toHaveBeenCalledWith(emailInput, 'メールアドレスが不正です');
227
+ if (originalHaori === undefined) {
228
+ Reflect.deleteProperty(window, 'Haori');
229
+ }
230
+ else {
231
+ typedWindow.Haori = originalHaori;
232
+ }
233
+ form.remove();
234
+ });
150
235
  });
151
236
  //# sourceMappingURL=procedure-action-operations.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedure-action-operations.test.js","sourceRoot":"","sources":["../../tests/procedure-action-operations.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure-action-operations.test.js","sourceRoot":"","sources":["../../tests/procedure-action-operations.test.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,64 @@ describe('Procedure fetch options and hooks', () => {
55
55
  }
56
56
  container.remove();
57
57
  });
58
+ it('evaluates template expressions in data-fetch-data', async () => {
59
+ const fetchSpy = vi.spyOn(globalThis, 'fetch').mockImplementation(() => {
60
+ return Promise.resolve(new Response('{}', { headers: { 'Content-Type': 'application/json' } }));
61
+ });
62
+ const container = document.createElement('div');
63
+ container.setAttribute('data-bind', '{"page":2,"q":"term"}');
64
+ document.body.appendChild(container);
65
+ const src = document.createElement('div');
66
+ src.setAttribute('data-fetch', 'http://api.test/list');
67
+ src.setAttribute('data-fetch-method', 'POST');
68
+ src.setAttribute('data-fetch-data', 'page={{page + 1}}&q={{q}}');
69
+ container.appendChild(src);
70
+ await Core.scan(container);
71
+ await new Promise(resolve => setTimeout(resolve, 50));
72
+ expect(fetchSpy).toHaveBeenCalled();
73
+ const called = fetchSpy.mock.calls.slice(-1)[0];
74
+ const options = called[1];
75
+ expect(options?.body).toBe(JSON.stringify({ page: '3', q: 'term' }));
76
+ container.remove();
77
+ });
78
+ it('preserves special characters in parameter-style data-fetch-data templates', async () => {
79
+ const fetchSpy = vi.spyOn(globalThis, 'fetch').mockImplementation(() => {
80
+ return Promise.resolve(new Response('{}', { headers: { 'Content-Type': 'application/json' } }));
81
+ });
82
+ const container = document.createElement('div');
83
+ container.setAttribute('data-bind', '{"page":2,"q":"A&B=C"}');
84
+ document.body.appendChild(container);
85
+ const src = document.createElement('div');
86
+ src.setAttribute('data-fetch', 'http://api.test/list');
87
+ src.setAttribute('data-fetch-method', 'POST');
88
+ src.setAttribute('data-fetch-data', 'page={{page + 1}}&q={{q}}');
89
+ container.appendChild(src);
90
+ await Core.scan(container);
91
+ await new Promise(resolve => setTimeout(resolve, 50));
92
+ const called = fetchSpy.mock.calls.slice(-1)[0];
93
+ const options = called[1];
94
+ expect(options?.body).toBe(JSON.stringify({ page: '3', q: 'A&B=C' }));
95
+ container.remove();
96
+ });
97
+ it('preserves false in parameter-style data-fetch-data templates', async () => {
98
+ const fetchSpy = vi.spyOn(globalThis, 'fetch').mockImplementation(() => {
99
+ return Promise.resolve(new Response('{}', { headers: { 'Content-Type': 'application/json' } }));
100
+ });
101
+ const container = document.createElement('div');
102
+ container.setAttribute('data-bind', '{"enabled":false}');
103
+ document.body.appendChild(container);
104
+ const src = document.createElement('div');
105
+ src.setAttribute('data-fetch', 'http://api.test/list');
106
+ src.setAttribute('data-fetch-method', 'POST');
107
+ src.setAttribute('data-fetch-data', 'flag={{enabled}}');
108
+ container.appendChild(src);
109
+ await Core.scan(container);
110
+ await new Promise(resolve => setTimeout(resolve, 50));
111
+ const called = fetchSpy.mock.calls.slice(-1)[0];
112
+ const options = called[1];
113
+ expect(options?.body).toBe(JSON.stringify({ flag: 'false' }));
114
+ container.remove();
115
+ });
58
116
  it('bindArg binds response under key', async () => {
59
117
  vi.spyOn(globalThis, 'fetch').mockImplementation(() => {
60
118
  return Promise.resolve(new Response(JSON.stringify({ got: true }), {
@@ -1 +1 @@
1
- {"version":3,"file":"procedure-fetch-options.test.js","sourceRoot":"","sources":["../../tests/procedure-fetch-options.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure-fetch-options.test.js","sourceRoot":"","sources":["../../tests/procedure-fetch-options.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"procedure_events.test.d.ts","sourceRoot":"","sources":["../../tests/procedure_events.test.ts"],"names":[],"mappings":"AAwHA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
1
+ {"version":3,"file":"procedure_events.test.d.ts","sourceRoot":"","sources":["../../tests/procedure_events.test.ts"],"names":[],"mappings":"AAuNA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { describe, it, beforeEach, expect, vi, afterEach } from 'vitest';
2
+ import Core from '../src/core';
2
3
  import Procedure from '../src/procedure';
3
4
  import Fragment from '../src/fragment';
4
5
  import Haori from '../src/haori';
@@ -92,5 +93,69 @@ describe('イベント属性: before-run / after-run', () => {
92
93
  expect(calls.length).toBe(1);
93
94
  expect(String(calls[0][0])).toBe('https://example.com/override');
94
95
  });
96
+ it('data-click-data のテンプレート式が評価された payload を送信する', async () => {
97
+ const host = document.createElement('div');
98
+ host.setAttribute('data-bind', '{"status":"active","priority":3}');
99
+ container.appendChild(host);
100
+ const button = document.createElement('button');
101
+ button.setAttribute('data-click-fetch', 'https://example.com/update');
102
+ button.setAttribute('data-click-fetch-method', 'POST');
103
+ button.setAttribute('data-click-data', '{"status":"{{status}}","priority":"{{priority}}"}');
104
+ host.appendChild(button);
105
+ await Core.scan(host);
106
+ const frag = Fragment.get(button);
107
+ const fetchMock = (global.fetch = vi.fn().mockResolvedValue(new Response('{}', {
108
+ headers: { 'Content-Type': 'application/json' },
109
+ })));
110
+ const proc = new Procedure(frag, 'click');
111
+ await expect(proc.run()).resolves.toBeUndefined();
112
+ const calls = fetchMock.mock
113
+ .calls;
114
+ expect(calls.length).toBe(1);
115
+ const options = calls[0][1];
116
+ expect(options.body).toBe(JSON.stringify({ status: 'active', priority: '3' }));
117
+ });
118
+ it('data-click-data の JSON 形式で引用符を含む値を壊さず payload に送信する', async () => {
119
+ const host = document.createElement('div');
120
+ host.setAttribute('data-bind', '{"q":"a\\"b"}');
121
+ container.appendChild(host);
122
+ const button = document.createElement('button');
123
+ button.setAttribute('data-click-fetch', 'https://example.com/update');
124
+ button.setAttribute('data-click-fetch-method', 'POST');
125
+ button.setAttribute('data-click-data', '{"q":"{{q}}"}');
126
+ host.appendChild(button);
127
+ await Core.scan(host);
128
+ const frag = Fragment.get(button);
129
+ const fetchMock = (global.fetch = vi.fn().mockResolvedValue(new Response('{}', {
130
+ headers: { 'Content-Type': 'application/json' },
131
+ })));
132
+ const proc = new Procedure(frag, 'click');
133
+ await expect(proc.run()).resolves.toBeUndefined();
134
+ const calls = fetchMock.mock
135
+ .calls;
136
+ const options = calls[0][1];
137
+ expect(options.body).toBe(JSON.stringify({ q: 'a"b' }));
138
+ });
139
+ it('data-click-data で単一式が object を返すと object payload を送信する', async () => {
140
+ const host = document.createElement('div');
141
+ host.setAttribute('data-bind', '{"payload":{"page":4,"q":"term"}}');
142
+ container.appendChild(host);
143
+ const button = document.createElement('button');
144
+ button.setAttribute('data-click-fetch', 'https://example.com/update');
145
+ button.setAttribute('data-click-fetch-method', 'POST');
146
+ button.setAttribute('data-click-data', '{{payload}}');
147
+ host.appendChild(button);
148
+ await Core.scan(host);
149
+ const frag = Fragment.get(button);
150
+ const fetchMock = (global.fetch = vi.fn().mockResolvedValue(new Response('{}', {
151
+ headers: { 'Content-Type': 'application/json' },
152
+ })));
153
+ const proc = new Procedure(frag, 'click');
154
+ await expect(proc.run()).resolves.toBeUndefined();
155
+ const calls = fetchMock.mock
156
+ .calls;
157
+ const options = calls[0][1];
158
+ expect(options.body).toBe(JSON.stringify({ page: 4, q: 'term' }));
159
+ });
95
160
  });
96
161
  //# sourceMappingURL=procedure_events.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"procedure_events.test.js","sourceRoot":"","sources":["../../tests/procedure_events.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure_events.test.js","sourceRoot":"","sources":["../../tests/procedure_events.test.ts"],"names":[],"mappings":"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"}
@@ -23,17 +23,17 @@ describe('Row move functionality', () => {
23
23
  });
24
24
  it('should move row up (data-click-row-prev)', async () => {
25
25
  // テストHTML作成
26
- container.innerHTML = `
27
- <div data-bind='{"items":[
28
- {"name":"Item 1"},{"name":"Item 2"},{"name":"Item 3"}
29
- ]}'>
30
- <ul data-each="items" data-each-key="name">
31
- <li>
32
- <span>{{name}}</span>
33
- <button data-click-row-prev>↑</button>
34
- </li>
35
- </ul>
36
- </div>
26
+ container.innerHTML = `
27
+ <div data-bind='{"items":[
28
+ {"name":"Item 1"},{"name":"Item 2"},{"name":"Item 3"}
29
+ ]}'>
30
+ <ul data-each="items" data-each-key="name">
31
+ <li>
32
+ <span>{{name}}</span>
33
+ <button data-click-row-prev>↑</button>
34
+ </li>
35
+ </ul>
36
+ </div>
37
37
  `;
38
38
  // Haoriを初期化
39
39
  await Core.scan(container);
@@ -56,17 +56,17 @@ describe('Row move functionality', () => {
56
56
  });
57
57
  it('should move row down (data-click-row-next)', async () => {
58
58
  // テストHTML作成
59
- container.innerHTML = `
60
- <div data-bind='{"items":[
61
- {"name":"Item 1"},{"name":"Item 2"},{"name":"Item 3"}
62
- ]}'>
63
- <ul data-each="items" data-each-key="name">
64
- <li>
65
- <span>{{name}}</span>
66
- <button data-click-row-next>↓</button>
67
- </li>
68
- </ul>
69
- </div>
59
+ container.innerHTML = `
60
+ <div data-bind='{"items":[
61
+ {"name":"Item 1"},{"name":"Item 2"},{"name":"Item 3"}
62
+ ]}'>
63
+ <ul data-each="items" data-each-key="name">
64
+ <li>
65
+ <span>{{name}}</span>
66
+ <button data-click-row-next>↓</button>
67
+ </li>
68
+ </ul>
69
+ </div>
70
70
  `;
71
71
  // Haoriを初期化
72
72
  await Core.scan(container);
@@ -89,17 +89,17 @@ describe('Row move functionality', () => {
89
89
  });
90
90
  it('should not move first row up', async () => {
91
91
  // テストHTML作成
92
- container.innerHTML = `
93
- <div data-bind='{"items":[
94
- {"name":"Item 1"},{"name":"Item 2"},{"name":"Item 3"}
95
- ]}'>
96
- <ul data-each="items" data-each-key="name">
97
- <li>
98
- <span>{{name}}</span>
99
- <button data-click-row-prev>↑</button>
100
- </li>
101
- </ul>
102
- </div>
92
+ container.innerHTML = `
93
+ <div data-bind='{"items":[
94
+ {"name":"Item 1"},{"name":"Item 2"},{"name":"Item 3"}
95
+ ]}'>
96
+ <ul data-each="items" data-each-key="name">
97
+ <li>
98
+ <span>{{name}}</span>
99
+ <button data-click-row-prev>↑</button>
100
+ </li>
101
+ </ul>
102
+ </div>
103
103
  `;
104
104
  // Haoriを初期化
105
105
  await Core.scan(container);
@@ -120,17 +120,17 @@ describe('Row move functionality', () => {
120
120
  });
121
121
  it('should not move last row down', async () => {
122
122
  // テストHTML作成
123
- container.innerHTML = `
124
- <div data-bind='{"items":[
125
- {"name":"Item 1"},{"name":"Item 2"},{"name":"Item 3"}
126
- ]}'>
127
- <ul data-each="items" data-each-key="name">
128
- <li>
129
- <span>{{name}}</span>
130
- <button data-click-row-next>↓</button>
131
- </li>
132
- </ul>
133
- </div>
123
+ container.innerHTML = `
124
+ <div data-bind='{"items":[
125
+ {"name":"Item 1"},{"name":"Item 2"},{"name":"Item 3"}
126
+ ]}'>
127
+ <ul data-each="items" data-each-key="name">
128
+ <li>
129
+ <span>{{name}}</span>
130
+ <button data-click-row-next>↓</button>
131
+ </li>
132
+ </ul>
133
+ </div>
134
134
  `;
135
135
  // Haoriを初期化
136
136
  await Core.scan(container);
@@ -151,18 +151,18 @@ describe('Row move functionality', () => {
151
151
  });
152
152
  it('should maintain data integrity after multiple moves', async () => {
153
153
  // テストHTML作成
154
- container.innerHTML = `
155
- <div data-bind='{"items":[
156
- {"name":"A"},{"name":"B"},{"name":"C"},{"name":"D"}
157
- ]}'>
158
- <ul data-each="items" data-each-key="name">
159
- <li>
160
- <span>{{name}}</span>
161
- <button class="up" data-click-row-prev>↑</button>
162
- <button class="down" data-click-row-next>↓</button>
163
- </li>
164
- </ul>
165
- </div>
154
+ container.innerHTML = `
155
+ <div data-bind='{"items":[
156
+ {"name":"A"},{"name":"B"},{"name":"C"},{"name":"D"}
157
+ ]}'>
158
+ <ul data-each="items" data-each-key="name">
159
+ <li>
160
+ <span>{{name}}</span>
161
+ <button class="up" data-click-row-prev>↑</button>
162
+ <button class="down" data-click-row-next>↓</button>
163
+ </li>
164
+ </ul>
165
+ </div>
166
166
  `;
167
167
  // Haoriを初期化
168
168
  await Core.scan(container);
@@ -196,17 +196,17 @@ describe('Row move functionality', () => {
196
196
  expect(items[3].textContent).toBe('C');
197
197
  });
198
198
  it('row move の正常系で Reference child warning を出さない', async () => {
199
- container.innerHTML = `
200
- <div data-bind='{"items":[
201
- {"name":"A"},{"name":"B"},{"name":"C"}
202
- ]}'>
203
- <ul data-each="items" data-each-key="name">
204
- <li>
205
- <span>{{name}}</span>
206
- <button data-click-row-next>↓</button>
207
- </li>
208
- </ul>
209
- </div>
199
+ container.innerHTML = `
200
+ <div data-bind='{"items":[
201
+ {"name":"A"},{"name":"B"},{"name":"C"}
202
+ ]}'>
203
+ <ul data-each="items" data-each-key="name">
204
+ <li>
205
+ <span>{{name}}</span>
206
+ <button data-click-row-next>↓</button>
207
+ </li>
208
+ </ul>
209
+ </div>
210
210
  `;
211
211
  const warnSpy = vi.spyOn(Log, 'warn').mockImplementation(() => { });
212
212
  await Core.scan(container);