內容

名稱

Test2::API::Stack - 管理 Test2::Hub 實例堆疊的物件。

***內部注意事項***

此套件的內部結構隨時可能變更!提供的公開方法不會以向後不相容的方式變更,但底層實作細節可能會變更。請勿在此處中斷封裝!

說明

此模組用於表示和管理 Test2::Hub 物件的堆疊。Hub 通常會堆疊,以便您可以將新的 Hub 推入適當的位置,以攔截和處理事件的方式與主要 Hub 不同。

SYNOPSIS

my $stack = Test2::API::Stack->new;
my $hub = $stack->top;

方法

$stack = Test2::API::Stack->new()

這會建立一個新的空堆疊實例。所有參數都會被忽略。

$hub = $stack->new_hub()
$hub = $stack->new_hub(%params)
$hub = $stack->new_hub(%params, class => $class)

這會產生一個新的 hub 並將它推到堆疊頂端。您也可以選擇提供參數,這些參數會傳遞到 Test2::Hub 物件的建構函式中。

如果您指定 'class' => $class 參數,新的 hub 將會是指定類別的實例。

除非您的參數指定 'formatter''ipc' 參數,否則格式化程式和 IPC 實例會從目前的頂端 hub 繼承。您可以將參數設定為 undef 以避免擁有格式化程式或 IPC 實例。

如果沒有頂端 hub,而且您沒有要求讓 IPC 和格式化程式保持未定義,那麼會建立一個新的格式化程式,並會使用 Test2::API 中的 IPC 實例。

$hub = $stack->top()

這會從堆疊中傳回頂端 hub。如果還沒有頂端 hub,這會建立一個。

$hub = $stack->peek()

這會從堆疊中傳回頂端 hub。如果還沒有頂端 hub,這會傳回 undef。

$stack->cull

這會對堆疊中所有的 hub 呼叫 $hub->cull

@hubs = $stack->all

這會以清單形式傳回堆疊中的所有 hub。

$stack->clear

這會完全移除堆疊中的所有 hub。通常您不會想要這麼做,但有幾個合理的理由會這麼做。

$stack->push($hub)

這會將新的 hub 推入堆疊。

$stack->pop($hub)

這會從堆疊中彈出一個 hub,如果堆疊頂端的 hub 與您預期的 hub(作為引數傳入)不符,它會擲回例外狀況。

SOURCE

Test2 的原始碼存放庫位於 http://github.com/Test-More/test-more/

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

版權所有 2020 Chad Granum <exodist@cpan.org>。

此程式為自由軟體;您可以在與 Perl 相同的條款下重新散布或修改它。

請參閱 http://dev.perl.org/licenses/