package Ġcom . sk sam uel . kot est . engine . launcher Ċ Ċ import Ġio . kot est . core . descriptors . append Ċ import Ġio . kot est . core . descriptors . to Descriptor Ċ import Ġio . kot est . core . filter . Test Filter Result Ċ import Ġio . kot est . core . spec . style . Fun Spec Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . core . spec . style . Word Spec Ċ import Ġio . kot est . engine . launcher . Test Path TestCase Filter Ċ import Ġio . kot est . matchers . shouldBe Ċ Ċ class ĠTest Path TestCase Filter Test Ġ: ĠFun Spec () Ġ{ ĊĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġexclude Ġtests Ġin Ġa Ġdifferent Ġspec ") Ġ{ ĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" foo ", ĠSpec 1 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpec 2 :: class . to Descriptor (). append (" foo ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Exclude (" Excluded Ġby Ġtest Ġpath Ġfilter : Ġ' foo '") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġexclude Ġtests Ġin Ġthe Ġsame Ġspec Ġwith Ġa Ġdifferent Ġname ") Ġ{ ĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" foo ", ĠSpec 1 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpec 1 :: class . to Descriptor (). append (" b oo ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Exclude (" Excluded Ġby Ġtest Ġpath Ġfilter : Ġ' foo '") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġinclude Ġtests Ġmatching Ġname Ġand Ġspec ") Ġ{ ĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" foo ", ĠSpec 1 :: class ). filter ( Spec 1 :: class . to Descriptor (). append (" foo ")) ĠshouldBe ĠTest Filter Result . Include ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġinclude Ġchild Ġtests Ġof Ġthe Ġtarget ") Ġ{ ĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" foo ", ĠSpec 1 :: class ). filter ( Spec 1 :: class . to Descriptor (). append (" foo "). append (" bar ")) ĠshouldBe ĠTest Filter Result . Include ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġinclude Ġparent Ġtests Ġof Ġthe Ġtarget ") Ġ{ ĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" foo Ġ-- Ġbar ", ĠSpec 1 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpec 1 :: class . to Descriptor (). append (" foo ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Include ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġinclude Ġthe Ġtarget Ġspec ") Ġ{ ĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" foo Ġ-- Ġbar ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpec 1 :: class ĊĠĠĠĠĠĠĠĠ Ġ). filter ( Spec 1 :: class . to Descriptor ()) ĠshouldBe ĠTest Filter Result . Include ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġexclude Ġanother Ġspec Ġwith Ġsame Ġtest Ġname ") Ġ{ ĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" foo Ġ-- Ġbar ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSpec 1 :: class ĊĠĠĠĠĠĠĠĠ Ġ). filter ( Spec 2 :: class . to Descriptor ()) ĠshouldBe ĠTest Filter Result . Exclude (" Excluded Ġby Ġtest Ġpath Ġfilter : Ġ' foo Ġ-- Ġbar '") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġwork Ġfor Ġword Ġspec ") Ġ{ ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" a Ġcontainer Ġ-- Ġpass Ġa Ġtest ", ĠWord Spec 1 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 1 :: class . to Descriptor (). append (" a Ġcontainer Ġshould "). append (" pass Ġa Ġtest ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Include ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" a Ġcontainer Ġ-- Ġpass Ġa Ġtest ", ĠWord Spec 1 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 1 :: class . to Descriptor (). append (" a Ġcontainer Ġshould "). append (" skip Ġa Ġtest ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Exclude (" Excluded Ġby Ġtest Ġpath Ġfilter : Ġ' a Ġcontainer Ġ-- Ġpass Ġa Ġtest '") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġwork Ġfor Ġword Ġspec Ġwith Ġwhen ") Ġ{ ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" a Ġwhen ", ĠWord Spec 2 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 2 :: class . to Descriptor (). append (" a Ġwhen ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Include ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" a Ġwhen Ġ-- Ġa Ġshould ", ĠWord Spec 2 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 2 :: class . to Descriptor (). append (" a Ġwhen "). append (" a Ġshould ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Include ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" a Ġwhen Ġ-- Ġa Ġshould ", ĠWord Spec 2 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 2 :: class . to Descriptor (). append (" a Ġwhen "). append (" a Ġshould nt ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Exclude (" Excluded Ġby Ġtest Ġpath Ġfilter : Ġ' a Ġwhen Ġ-- Ġa Ġshould '") ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" a Ġwhen Ġ-- Ġa Ġshould Ġ-- Ġa Ġtest ", ĠWord Spec 2 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 2 :: class . to Descriptor (). append (" a Ġwhen "). append (" a Ġshould "). append (" a Ġtest ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Include ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" a Ġwhen Ġ-- Ġa Ġshould Ġ-- Ġa Ġtest ", ĠWord Spec 2 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 2 :: class . to Descriptor (). append (" a Ġwhen "). append (" a Ġshould "). append (" b oo ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Exclude (" Excluded Ġby Ġtest Ġpath Ġfilter : Ġ' a Ġwhen Ġ-- Ġa Ġshould Ġ-- Ġa Ġtest '") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtest (" filter Ġshould Ġtrim Ġwhitespace Ġfrom Ġnames ") Ġ{ ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" ĠĠĠ Ġa Ġcontainer ĠĠ Ġ", ĠWord Spec 1 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 1 :: class . to Descriptor (). append (" a Ġcontainer Ġshould "). append (" pass Ġa Ġtest ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Include ĊĊĠĠĠĠĠĠĠĠ ĠTest Path TestCase Filter (" ĠĠĠ Ġa Ġcontainer Ġ-- Ġpass Ġa Ġtest ", ĠWord Spec 1 :: class ). filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWord Spec 1 :: class . to Descriptor (). append (" a Ġcontainer Ġshould "). append (" pass Ġa Ġtest ") ĊĠĠĠĠĠĠĠĠ Ġ) ĠshouldBe ĠTest Filter Result . Include ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠSpec 1 Ġ: ĠString Spec () Ġ{ ĊĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ Ġ" foo " {} ĊĠĠĠĠĠ Ġ" b oo " {} ĊĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠSpec 2 Ġ: ĠString Spec () Ġ{ ĊĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ Ġ" foo " {} ĊĠĠĠĠĠ Ġ" b oo " {} ĊĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠWord Spec 1 Ġ: ĠWord Spec () Ġ{ ĊĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ Ġ" a Ġcontainer " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠ Ġ" skip Ġa Ġtest ". config ( enabled Ġ= Ġfalse ) Ġ{} ĊĠĠĠĠĠĠĠĠ Ġ" pass Ġa Ġtest " Ġ{ Ġ 1 ĠshouldBe Ġ 1 Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠWord Spec 2 Ġ: ĠWord Spec () Ġ{ ĊĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ Ġ" a Ġwhen " ĠWhen Ġ{ ĊĠĠĠĠĠĠĠĠ Ġ" a Ġshould " Ġshould Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" a Ġtest " Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ } Ċ