<commit_before># 検証手順

## 事前準備

 * Thunderbirdに、メールを送信可能なアカウントを用意しておく。
 * 確認を行う条件の正規表現を `要確認|緊急` と設定しておく。
 * 例外ドメインとして以下の2つを設定しておく。
   * `internal1.example.com`
   * `internal2.example.com`
 * 他のアドオンの確認を省略しないよう設定しておく。
 * すべての宛先を確認するまで送信ボタンを無効化するよう設定しておく。
 * Check and Sendをインストールしておく。

## 検証項目

### そのまま送信されるケース

#### 添付無し

 1. 以下の内容でメールを作成する。
    * 添付を伴わない
    * 件名が`このメールは要確認です`
    * 本文が`このメールは要確認です`
    * Toが`内部 <<EMAIL>>`
    * Ccが`内部 <<EMAIL>>`
    * Bccが`外部 <<EMAIL>>`
 2. メールを送信する。
    * 期待される結果：確認されない（Check and Sendによる確認が表示される）。

#### 正規表現にマッチしない

 1. 続けて、何かファイルを添付する。
 2. 件名と本文を以下の通り変更する。
    * 件名が`このメールは確認不要です`
    * 本文が`このメールは確認不要です`
 3. メールを送信する。
    * 期待される結果：確認されない（Check and Sendによる確認が表示される）。

#### 警告対象の宛先がない

 1. 続けて、件名と本文を以下の通り変更する。
    * 件名が`このメールは要確認です`
    * 本文が`このメールは要確認です`
 2. Bccの宛先を削除する。
 3. メールを送信する。
    * 期待される結果：確認されない（Check and Sendによる確認が表示される）。

### 送信前に警告されるケース

#### 件名がマッチする

 1. 続けて、本文を以下の通り変更する。
    * 本文が`本文です`
 2. Bccとして宛先に `外部 <<EMAIL>>` を追加する。
 3. メールを送信する。
    * 期待される結果：確認が表示される。

#### 本文がマッチする

 1. 以下の内容でメールを作成する。
    * 添付を伴う
    * 件名が`件名です`
    * 本文が`このメールは要確認です`
    * Toが`内部 <<EMAIL>>`
    * Ccが`内部 <<EMAIL>>`
    * Bccが`外部 <<EMAIL>>`
 2. メールを送信する。
    * 期待される結果：確認が表示される。

#### Toが警告対象である

 1. 続けて、件名と本文を以下の通り変更する。
    * 件名が`このメールは要確認です`
    * 本文が`このメールは要確認です`
 1. 宛先からTo, Bccを消去し、BccをToに繰り上げて、以下の状態にする。
    * Toが`外部 <<EMAIL>>`
 2. メールを送信する。
    * 期待される結果：確認が表示される。

#### Ccが警告対象である

 1. 続けて、宛先からTo, Bccを消去し、入力し直して以下の状態にする。
    * 件名が`このメールは要確認です`
    * 本文が`このメールは要確認です`
    * Toが`内部 <<EMAIL>>`
    * Ccが`外部 <<EMAIL>>`
 2. メールを送信する。
    * 期待される結果：確認が表示される。

#### Bccが警告対象である

 1. 続けて、Ccの宛先をBccに変更する。
 2. メールを送信する。
    * 期待される結果：確認が表示される。

### 送信確認における送信ボタン

#### 送信ボタンの有効化
<commit_msg>Brush up test scenario<commit_after># 検証手順

## 事前準備

 * Thunderbirdに、メールを送信可能なアカウントを用意しておく。
 * 確認を行う条件の正規表現を `要確認|緊急` と設定しておく。
 * 例外ドメインとして以下の2つを設定しておく。
   * `internal1.example.com`
   * `internal2.example.com`
 * 他のアドオンの確認を省略しないよう設定しておく。
 * すべての宛先を確認するまで送信ボタンを無効化するよう設定しておく。
 * Check and Sendをインストールしておく。

## 検証項目

### そのまま送信されるケース

#### 添付無し

 1. 以下の内容でメールを作成する。
    * 添付を伴わない
    * 件名が`このメールは要確認です`
    * 本文が`このメールは要確認です`
    * Toが`内部 <<EMAIL>>`
    * Ccが`内部 <<EMAIL>>`
    * Bccが`外部 <<EMAIL>>`
 2. メールを送信する。
    * 期待される結果：確認されない（Check and Sendによる確認が表示される）。

#### 正規表現にマッチしない

 1. 続けて、何かファイルを添付する。
 2. 件名と本文を以下の通り変更する。
    * 件名が`このメールは確認不要です`
    * 本文が`このメールは確認不要です`
 3. メールを送信する。
    * 期待される結果：確認されない（Check and Sendによる確認が表示される）。

#### 警告対象の宛先がない

 1. 続けて、件名と本文を以下の通り変更する。
    * 件名が`このメールは要確認です`
    * 本文が`このメールは要確認です`
 2. Bccの宛先を削除する。
 3. メールを送信する。
    * 期待される結果：確認されない（Check and Sendによる確認が表示される）。

### 送信前に警告されるケース

#### 件名がマッチする

 1. 続けて、本文を以下の通り変更する。
    * 本文が`本文です`
 2. Bccとして宛先に `外部 <<EMAIL>>` を追加する。
 3. メールを送信する。
    * 期待される結果：確認が表示される。

#### 本文がマッチする

 1. 続けて、件名と本文を以下の通り変更する。
    * 件名が`件名です`
    * 本文が`このメールは要確認です`
 2. メールを送信する。
    * 期待される結果：確認が表示される。

#### Toが警告対象である

 1. 続けて、件名を以下の通り変更する。
    * 件名が`このメールは要確認です`
 1. 宛先からTo, Ccを消去し、BccをToに繰り上げて、以下の状態にする。
    * Toが`外部 <<EMAIL>>`
 2. メールを送信する。
    * 期待される結果：確認が表示される。

#### Ccが警告対象である

 1. 続けて、宛先からTo, Bccを消去し、入力し直して以下の状態にする。
    * 件名が`このメールは要確認です`
    * 本文が`このメールは要確認です`
    * Toが`内部 <<EMAIL>>`
    * Ccが`外部 <<EMAIL>>`
 2. メールを送信する。
    * 期待される結果：確認が表示される。

#### Bccが警告対象である

 1. 続けて、Ccの宛先をBccに変更する。
 2. メールを送信する。
    * 期待される結果：確認が表示される。

### 送信確認における送信ボタン

#### 送信ボタンの有効化

{'fraction_non_alphanumeric': 0.1528436018957346, 'fraction_numerical': 0.013625592417061612, 'mean_word_length': 3.607094133697135, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 37, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5859707', 'n_tokens_mistral': 2771, 'n_tokens_neox': 2717, 'n_words': 235}