1
- *testing.txt* For Vim バージョン 9.0. Last change: 2022 May 16
1
+ *testing.txt* For Vim バージョン 9.0. Last change: 2023 May 18
2
2
3
3
4
4
VIMリファレンスマニュアル by Bram Moolenaar
@@ -92,7 +92,7 @@ test_gui_event({event}, {args})
92
92
"findrepl" テキストの検索と置換。
93
93
"mouse" マウスのボタンクリックイベント。
94
94
"scrollbar" スクロールバーの移動もしくはドラッグ。
95
- "sendevent" 低レベル GUI イベントを送出する 。
95
+ "key" 低レベルキーボードイベントを送出する 。
96
96
"tabline" マウスクリックによるタブページ行の選択。
97
97
"tabmenu" タブページ行のメニューエントリの選択。
98
98
@@ -131,9 +131,9 @@ test_gui_event({event}, {args})
131
131
マウスのクリック、あるいはマウスの移動のイベントを注入する。
132
132
{args} でサポートする項目は:
133
133
button: マウスボタン。サポートする値は:
134
- 0 右マウスボタン
134
+ 0 左マウスボタン
135
135
1 中央マウスボタン
136
- 2 左マウスボタン
136
+ 2 右マウスボタン
137
137
3 マウスボタンリリース
138
138
4 スクロールホイール下
139
139
5 スクロールホイール上
@@ -163,19 +163,21 @@ test_gui_event({event}, {args})
163
163
左、右あるいは水平スクロールバーの設定もしくはドラッグ。スク
164
164
ロールバーが実際に存在する時のみ動作する。{args} でサポート
165
165
する項目は:
166
- which: スクロールバー 。サポートする値は:
166
+ which: スクロールバーを選択する 。サポートする値は:
167
167
left 現在のウィンドウの左スクロールバー
168
168
right 現在のウィンドウの右スクロールバー
169
169
hor 水平スクロールバー
170
- value: スクロール量。垂直なスクロールバーの場合、値は
171
- 1からバッファの行数になる。水平スクロールバー
172
- の場合、'wrap' が設定されていないと仮定すると、
173
- 値は1から最大行長までの間になる。
170
+ value: 垂直スクロールバーの場合、値は 0 からバッファ
171
+ の行数から 1 を引いた値までの範囲になる。水平
172
+ スクロールバーの場合、'wrap' が設定されていな
173
+ いと仮定すると、値は 1 から行の最大長までの間
174
+ の値になる。
174
175
dragging: 1はスクロールバーをドラッグし、0はスクロール
175
176
バーをクリックする。
176
177
177
- "sendevent":
178
- 低レベルの GUI のイベント(例、キーUpやキーDown)を送出する。
178
+ "key":
179
+ 低レベルのキーボードイベント(例、キーUpやキーDown)を送出す
180
+ る。
179
181
現在は MS-Windows のみサポートしている。
180
182
{args} でサポートする項目は:
181
183
event: サポートする文字列値は:
@@ -193,7 +195,7 @@ test_gui_event({event}, {args})
193
195
タブページ行のメニュー項目の選択イベントの注入。{args} でサ
194
196
ポートする項目は:
195
197
tabnr: タブページの番号
196
- item: タブページメニュー項目の番号。1で最初のメニュー
198
+ item: タブページメニュー項目の番号。1で最初のメニュー
197
199
項目、2で2番目の項目になる。
198
200
199
201
GUI イベントを注入した後、おそらく | feedkeys() | を呼び出してそ
@@ -221,6 +223,81 @@ test_ignore_error({expr}) *test_ignore_error()*
221
223
GetErrorText()->test_ignore_error()
222
224
223
225
226
+ test_mswin_event({event} , {args} ) *test_mswin_event()*
227
+ Vim の機能をテストするために、引数 {args} で低レベルの
228
+ MS-Windows {event} を生成する。MS-Windows の GUI でもコンソー
229
+ ルでも動作する。
230
+
231
+ {event} は文字列で、サポートされている値は以下:
232
+ "mouse" マウスイベント。
233
+ "key" キーボードイベント。
234
+
235
+ "mouse":
236
+ マウスボタンクリックイベントまたはマウス移動イベントを注入す
237
+ る。{args} でサポートされる項目は以下:
238
+ button: マウスボタン。サポートされている値は以下:
239
+ 0 右マウスボタン
240
+ 1 中マウスボタン
241
+ 2 左マウスボタン
242
+ 3 マウスボタンリリース
243
+ 4 スクロールホイール下
244
+ 5 スクロールホイール上
245
+ 6 スクロールホイール左
246
+ 7 スクロールホイール右
247
+ row: マウスクリックの行番号。Vim ウィンドウの最初の
248
+ 行は 1 で、最後の行は 'lines' である。
249
+ col: マウスクリックの桁番号。{col} の最大値は
250
+ 'columns' である。
251
+ Note: row と col は、コンソールアプリケーショ
252
+ ンでは常にスクリーンセルとして解釈される。しか
253
+ し、GUI では "cell" に応じてピクセルとして解釈
254
+ される。
255
+ multiclick: 1 に設定すると、マウスをダブルクリックするイベ
256
+ ントが発生する。
257
+ modifiers: キー修飾子。サポートされている値は以下:
258
+ 4 shift が押された
259
+ 8 alt が押された
260
+ 16 ctrl が押された
261
+ move: オプション; 使用され、TRUE の場合、マウス移動
262
+ イベントを生成できる。
263
+ {args} row: と col: のみが使用され、必須。
264
+ 'mousemoveevent' が設定されている場合、または
265
+ ポップアップでマウス移動イベントが使用されてい
266
+ る場合に、結果としてイベントが発生するだけであ
267
+ る。
268
+ cell: GUI のオプション: 存在し、TRUE の場合、"move"
269
+ はピクセル位置の代わりにスクリーンセルを使用す
270
+ る。コンソールでは使用されない。
271
+
272
+ "key":
273
+ 低レベルのキーボードイベント (例: keyup または keydown) を送
274
+ 信する。
275
+ {args} でサポートされている項目は以下:
276
+ event: サポートされている文字列値は以下:
277
+ keyup キーアップイベントを生成する
278
+ keydown キーダウンイベントを生成する
279
+ keycode: キーアップイベントまたはキーダウンイベントに使
280
+ 用するキーコード。
281
+ modifiers: オプション; キー修飾子。
282
+ サポートされている値は以下:
283
+ 2 shift が押された
284
+ 4 ctrl が押された
285
+ 8 alt が押された
286
+ Note: これらの値はマウス修飾子とは異なる。
287
+ execute: オプション。| feedkeys() | のモードx に似ている。
288
+ これが含まれていて true(非ゼロ)に設定されて
289
+ いる場合、Vim はバッファリングされた未処理の
290
+ キーイベントを処理する。これが設定され true の
291
+ 場合、他のすべての {args} 項目はオプションであ
292
+ る。
293
+
294
+ イベントが正常に追加または実行された場合は TRUE を返し、失敗し
295
+ た場合は FALSE を返す。
296
+
297
+ | method | としても使用できる: >
298
+ GetEvent()->test_mswin_event({args})
299
+ <
300
+
224
301
test_null_blob() *test_null_blob()*
225
302
null の | Blob | を返す。これはテストのみに使われる。
226
303
@@ -280,22 +357,24 @@ test_override({name}, {val}) *test_override()*
280
357
alloc_lines 確保したメモリ内に各バッファの行のコピーを作り、
281
358
それによりメモリアクセスのエラーが valgrind で検
282
359
出できる
283
- autoload `import autoload` でスクリプトを正しい手順でロード
284
- し 、項目が使用されるまで延期はしない
360
+ autoload `import autoload` でスクリプトを正しい手順でロー
361
+ ドし 、項目が使用されるまで延期はしない
285
362
char_avail char_avail() 関数を無効化する
286
363
nfa_fail 古い正規表現エンジンに戻すために、NFA regexp エン
287
364
ジンを失敗させる
288
365
no_query_mouse "dec" 端末のマウス位置を問い合わせない
289
- no_wait_return "no_wait_return" フラグを設定する。"ALL" では
366
+ no_wait_return "no_wait_return" フラグを設定する。"ALL" では
290
367
復元されない
291
368
redraw redrawing() 関数を無効化する
292
369
redraw_flag RedrawingDisabled フラグを無視する
293
370
starting "starting" 変数を初期化する、下記参照
294
- term_props バージョン文字列が検出された場合、すべてのター
295
- ミナルプロパティをリセットする。
296
- ui_delay ui_delay() で使用するミリ秒単位の時間; メッ
297
- セージの最大3秒の待ち時間を上書きする。
298
- uptime sysinfo.uptime を上書きする
371
+ term_props バージョン文字列が検出された場合、すべてのターミ
372
+ ナルプロパティをリセットする。
373
+ ui_delay ui_delay() で使用するミリ秒単位の時間; メッセージ
374
+ の最大3秒の待ち時間を上書きする。
375
+ unreachable `throw ` と `:return ` の後のコードではエラーになら
376
+ ない
377
+ uptime sysinfo.uptime を上書きする
299
378
vterm_title 端末ウィンドウ内でジョブが走っている場合にウィン
300
379
ドウタイトルを設定する
301
380
ALL alloc_lines 以外のすべての置き換えをクリアする
@@ -304,13 +383,18 @@ test_override({name}, {val}) *test_override()*
304
383
"starting" は、起動が完了したようにテストが振る舞うべきときに
305
384
使われる。テストはスクリプトを読み込むことによって開始されるの
306
385
で、"starting" 変数は非ゼロである。これは通常はいいこと (テス
307
- トが早く実行される) だが、テストが適切に動作しないという点では
308
- 動作を変えてしまっている 。
386
+ トが早く実行される) だが、これによって動作が変化し、テストが適
387
+ 切に動作しなくなる場合がある 。
309
388
次のようにしたとき: >
310
389
call test_override('starting', 1)
311
390
< "starting" の値が保存される。次のようにして復元される: >
312
391
call test_override('starting', 0)
313
392
393
+ < フラグが後でリセットされるようにするには、`:defer `を使うと便
394
+ 利である: >
395
+ call test_override('unreachable', 1)
396
+ defer call test_override('unreachable', 0)
397
+
314
398
< | method | としても使用できる: >
315
399
GetOverrideVal()-> test_override('starting')
316
400
@@ -372,11 +456,12 @@ assert_equal({expected}, {actual} [, {msg}])
372
456
{expected} と{actual} が等しくない場合、| v:errors | にエラーメッセ
373
457
ージを追加し、1 が返る。そうでなければ 0 が返る。
374
458
| assert-return |
459
+ エラーは "Expected {expected} but got {actual} " という形式で
460
+ ある。{msg} が存在する場合は、その前に置かれる。
461
+
375
462
暗黙的な変換は行われないため、文字列 "4" は数値 4 とは異なる。
376
463
同様に、数値 4 は浮動小数点数 4.0 と異なる。ここでは
377
464
'ignorecase' の値は使われず、大文字小文字は常に区別される。
378
- {msg} が省略された場合、"Expected {expected} but got {actual} "
379
- という形式のメッセージが生成される。
380
465
例: >
381
466
assert_equal('foo', 'bar')
382
467
< 以下の結果が| v:errors | に追加される:
@@ -453,11 +538,12 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
453
538
assert_false({actual} [, {msg} ]) *assert_false()*
454
539
| assert_equal() | と同様に、{actual} がfalseでない場合、| v:errors |
455
540
にエラーメッセージを追加する。
541
+ エラーは "Expected false but got {actual} " という形式である。
542
+ {msg} が存在する場合は、その前に置かれる。
456
543
| assert-return | も参照。
544
+
457
545
ゼロである時、その値はfalseである。{actual} が数値でない場合、
458
546
テストが失敗する。
459
- {msg} が省略された場合、"Expected False but got {actual} " とい
460
- う形式のメッセージが生成される。
461
547
462
548
| method | としても使用できる: >
463
549
GetResult()->assert_false()
@@ -466,13 +552,15 @@ assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
466
552
これは数値または | Float | の値をテストする。{actual} が{lower} よ
467
553
り小さいか{upper} より大きい場合、| v:errors | にエラーメッセージ
468
554
が追加される。| assert-return | も参照。
469
- {msg} を省略すると、 "Expected range {lower} - {upper} , but
470
- got {actual} " という形式のエラーが生成される 。
555
+ エラーは "Expected range {lower} - {upper} , but got {actual} "
556
+ という形式である。 {msg} が存在する場合は、その前に置かれる 。
471
557
472
558
*assert_match()*
473
559
assert_match({pattern} , {actual} [, {msg} ])
474
560
{pattern} が{actual} と一致しない場合、| v:errors | にエラーメッセー
475
561
ジが追加される。| assert-return | も参照。
562
+ エラーは "Pattern {pattern} does not match {actual} " という形
563
+ 式である。{msg} が存在する場合は、その前に置かれる。
476
564
477
565
| =~ | と同じように{pattern} が使われる: マッチングは 'magic' や
478
566
'cpoptions' の実際の値に関係なく、'magic' が設定され、
@@ -483,8 +571,7 @@ assert_match({pattern}, {actual} [, {msg}])
483
571
両方を使用してテキスト全体を一致させる。{訳注: 使わなければ、
484
572
部分一致で判定が行われる。}
485
573
486
- {msg} を省略すると、"Pattern {pattern} does not match {actual} "
487
- という形式のエラーが生成される。例: >
574
+ 例: >
488
575
assert_match('^f.*o$', 'foobar')
489
576
< これは | v:errors | に文字列が追加されることになる:
490
577
test.vim line 12: Pattern '^f.*o$' does not match 'foobar' ~
@@ -533,8 +620,7 @@ assert_true({actual} [, {msg}]) *assert_true()*
533
620
| assert-return | も参照。
534
621
非ゼロである時、その値はTRUEである。{actual} が数値でない場合、
535
622
テストが失敗する。
536
- {msg} が省略された場合、"Expected True but got {actual} " とい
537
- う形式のメッセージが生成される。
623
+ {msg} が指定されると、デフォルトのメッセージの前に置かれる。
538
624
539
625
| method | としても使用できる: >
540
626
GetResult()->assert_true()
0 commit comments