Skip to content

Commit e712369

Browse files
authored
Merge pull request #1326 from vim-jp/hh-update-testing
Update testing.{txt,jax}
2 parents 2b06608 + 0a851b8 commit e712369

File tree

2 files changed

+226
-60
lines changed

2 files changed

+226
-60
lines changed

doc/testing.jax

Lines changed: 118 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*testing.txt* For Vim バージョン 9.0. Last change: 2022 May 16
1+
*testing.txt* For Vim バージョン 9.0. Last change: 2023 May 18
22

33

44
VIMリファレンスマニュアル by Bram Moolenaar
@@ -92,7 +92,7 @@ test_gui_event({event}, {args})
9292
"findrepl" テキストの検索と置換。
9393
"mouse" マウスのボタンクリックイベント。
9494
"scrollbar" スクロールバーの移動もしくはドラッグ。
95-
"sendevent" 低レベル GUI イベントを送出する
95+
"key" 低レベルキーボードイベントを送出する
9696
"tabline" マウスクリックによるタブページ行の選択。
9797
"tabmenu" タブページ行のメニューエントリの選択。
9898

@@ -131,9 +131,9 @@ test_gui_event({event}, {args})
131131
マウスのクリック、あるいはマウスの移動のイベントを注入する。
132132
{args} でサポートする項目は:
133133
button: マウスボタン。サポートする値は:
134-
0 右マウスボタン
134+
0 左マウスボタン
135135
1 中央マウスボタン
136-
2 左マウスボタン
136+
2 右マウスボタン
137137
3 マウスボタンリリース
138138
4 スクロールホイール下
139139
5 スクロールホイール上
@@ -163,19 +163,21 @@ test_gui_event({event}, {args})
163163
左、右あるいは水平スクロールバーの設定もしくはドラッグ。スク
164164
ロールバーが実際に存在する時のみ動作する。{args} でサポート
165165
する項目は:
166-
which: スクロールバー。サポートする値は:
166+
which: スクロールバーを選択する。サポートする値は:
167167
left 現在のウィンドウの左スクロールバー
168168
right 現在のウィンドウの右スクロールバー
169169
hor 水平スクロールバー
170-
value: スクロール量。垂直なスクロールバーの場合、値は
171-
1からバッファの行数になる。水平スクロールバー
172-
の場合、'wrap' が設定されていないと仮定すると、
173-
値は1から最大行長までの間になる。
170+
value: 垂直スクロールバーの場合、値は 0 からバッファ
171+
の行数から 1 を引いた値までの範囲になる。水平
172+
スクロールバーの場合、'wrap' が設定されていな
173+
いと仮定すると、値は 1 から行の最大長までの間
174+
の値になる。
174175
dragging: 1はスクロールバーをドラッグし、0はスクロール
175176
バーをクリックする。
176177

177-
"sendevent":
178-
低レベルの GUI のイベント(例、キーUpやキーDown)を送出する。
178+
"key":
179+
低レベルのキーボードイベント(例、キーUpやキーDown)を送出す
180+
る。
179181
現在は MS-Windows のみサポートしている。
180182
{args} でサポートする項目は:
181183
event: サポートする文字列値は:
@@ -193,7 +195,7 @@ test_gui_event({event}, {args})
193195
タブページ行のメニュー項目の選択イベントの注入。{args} でサ
194196
ポートする項目は:
195197
tabnr: タブページの番号
196-
item: タブページメニュー項目の番号。1で最初のメニュー
198+
item: タブページメニュー項目の番号。1で最初のメニュー
197199
項目、2で2番目の項目になる。
198200

199201
GUI イベントを注入した後、おそらく |feedkeys()| を呼び出してそ
@@ -221,6 +223,81 @@ test_ignore_error({expr}) *test_ignore_error()*
221223
GetErrorText()->test_ignore_error()
222224
223225
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+
224301
test_null_blob() *test_null_blob()*
225302
null の |Blob| を返す。これはテストのみに使われる。
226303

@@ -280,22 +357,24 @@ test_override({name}, {val}) *test_override()*
280357
alloc_lines 確保したメモリ内に各バッファの行のコピーを作り、
281358
それによりメモリアクセスのエラーが valgrind で検
282359
出できる
283-
autoload `import autoload` でスクリプトを正しい手順でロード
284-
、項目が使用されるまで延期はしない
360+
autoload `import autoload` でスクリプトを正しい手順でロー
361+
ドし、項目が使用されるまで延期はしない
285362
char_avail char_avail() 関数を無効化する
286363
nfa_fail 古い正規表現エンジンに戻すために、NFA regexp エン
287364
ジンを失敗させる
288365
no_query_mouse "dec" 端末のマウス位置を問い合わせない
289-
no_wait_return "no_wait_return" フラグを設定する。"ALL" では
366+
no_wait_return "no_wait_return" フラグを設定する。"ALL" では
290367
復元されない
291368
redraw redrawing() 関数を無効化する
292369
redraw_flag RedrawingDisabled フラグを無視する
293370
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 を上書きする
299378
vterm_title 端末ウィンドウ内でジョブが走っている場合にウィン
300379
ドウタイトルを設定する
301380
ALL alloc_lines 以外のすべての置き換えをクリアする
@@ -304,13 +383,18 @@ test_override({name}, {val}) *test_override()*
304383
"starting" は、起動が完了したようにテストが振る舞うべきときに
305384
使われる。テストはスクリプトを読み込むことによって開始されるの
306385
で、"starting" 変数は非ゼロである。これは通常はいいこと (テス
307-
トが早く実行される) だが、テストが適切に動作しないという点では
308-
動作を変えてしまっている
386+
トが早く実行される) だが、これによって動作が変化し、テストが適
387+
切に動作しなくなる場合がある
309388
次のようにしたとき: >
310389
call test_override('starting', 1)
311390
< "starting" の値が保存される。次のようにして復元される: >
312391
call test_override('starting', 0)
313392
393+
< フラグが後でリセットされるようにするには、`:defer `を使うと便
394+
利である: >
395+
call test_override('unreachable', 1)
396+
defer call test_override('unreachable', 0)
397+
314398
< |method| としても使用できる: >
315399
GetOverrideVal()-> test_override('starting')
316400
@@ -372,11 +456,12 @@ assert_equal({expected}, {actual} [, {msg}])
372456
{expected}{actual}が等しくない場合、|v:errors|にエラーメッセ
373457
ージを追加し、1 が返る。そうでなければ 0 が返る。
374458
|assert-return|
459+
エラーは "Expected {expected} but got {actual}" という形式で
460+
ある。{msg} が存在する場合は、その前に置かれる。
461+
375462
暗黙的な変換は行われないため、文字列 "4" は数値 4 とは異なる。
376463
同様に、数値 4 は浮動小数点数 4.0 と異なる。ここでは
377464
'ignorecase' の値は使われず、大文字小文字は常に区別される。
378-
{msg}が省略された場合、"Expected {expected} but got {actual}"
379-
という形式のメッセージが生成される。
380465
例: >
381466
assert_equal('foo', 'bar')
382467
< 以下の結果が|v:errors|に追加される:
@@ -453,11 +538,12 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
453538
assert_false({actual} [, {msg}]) *assert_false()*
454539
|assert_equal()|と同様に、{actual}がfalseでない場合、|v:errors|
455540
にエラーメッセージを追加する。
541+
エラーは "Expected false but got {actual}" という形式である。
542+
{msg} が存在する場合は、その前に置かれる。
456543
|assert-return| も参照。
544+
457545
ゼロである時、その値はfalseである。{actual}が数値でない場合、
458546
テストが失敗する。
459-
{msg}が省略された場合、"Expected False but got {actual}" とい
460-
う形式のメッセージが生成される。
461547

462548
|method| としても使用できる: >
463549
GetResult()->assert_false()
@@ -466,13 +552,15 @@ assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
466552
これは数値または |Float| の値をテストする。{actual}{lower}
467553
り小さいか{upper}より大きい場合、|v:errors|にエラーメッセージ
468554
が追加される。|assert-return| も参照。
469-
{msg}を省略すると、"Expected range {lower} - {upper}, but
470-
got {actual}" という形式のエラーが生成される
555+
エラーは "Expected range {lower} - {upper}, but got {actual}"
556+
という形式である。{msg} が存在する場合は、その前に置かれる
471557

472558
*assert_match()*
473559
assert_match({pattern}, {actual} [, {msg}])
474560
{pattern}{actual}と一致しない場合、|v:errors|にエラーメッセー
475561
ジが追加される。|assert-return| も参照。
562+
エラーは "Pattern {pattern} does not match {actual}" という形
563+
式である。{msg} が存在する場合は、その前に置かれる。
476564

477565
|=~|と同じように{pattern}が使われる: マッチングは 'magic'
478566
'cpoptions' の実際の値に関係なく、'magic' が設定され、
@@ -483,8 +571,7 @@ assert_match({pattern}, {actual} [, {msg}])
483571
両方を使用してテキスト全体を一致させる。{訳注: 使わなければ、
484572
部分一致で判定が行われる。}
485573

486-
{msg}を省略すると、"Pattern {pattern} does not match {actual}"
487-
という形式のエラーが生成される。例: >
574+
例: >
488575
assert_match('^f.*o$', 'foobar')
489576
< これは |v:errors| に文字列が追加されることになる:
490577
test.vim line 12: Pattern '^f.*o$' does not match 'foobar' ~
@@ -533,8 +620,7 @@ assert_true({actual} [, {msg}]) *assert_true()*
533620
|assert-return| も参照。
534621
非ゼロである時、その値はTRUEである。{actual}が数値でない場合、
535622
テストが失敗する。
536-
{msg}が省略された場合、"Expected True but got {actual}" とい
537-
う形式のメッセージが生成される。
623+
{msg} が指定されると、デフォルトのメッセージの前に置かれる。
538624

539625
|method| としても使用できる: >
540626
GetResult()->assert_true()

0 commit comments

Comments
 (0)