← Back to index

lib/BDD/Behave.rakumod

187 / 187 lines covered (100.0%)

12use v6.d;34use BDD::Behave::Slang;56sub EXPORT(|) {7  engage-let-slang();8  Map.new;9}1011# Re-export DSL functions with lazy loading12# Each function uses 'state' to cache the implementation after first require13sub describe(|args) is export {14  state $impl = do {15    require ::('BDD::Behave::DSL');16    ::('BDD::Behave::DSL::&describe');17  };18  $impl(|args);19}2021sub context(|args) is export {22  state $impl = do {23    require ::('BDD::Behave::DSL');24    ::('BDD::Behave::DSL::&context');25  };26  $impl(|args);27}2829sub it(|args) is export {30  state $impl = do {31    require ::('BDD::Behave::DSL');32    ::('BDD::Behave::DSL::&it');33  };34  $impl(|args);35}3637sub let(|args) is export {38  state $impl = do {39    require ::('BDD::Behave::DSL');40    ::('BDD::Behave::DSL::&let');41  };42  $impl(|args);43}4445sub let-bang(|args) is export {46  state $impl = do {47    require ::('BDD::Behave::DSL');48    ::('BDD::Behave::DSL::&let-bang');49  };50  $impl(|args);51}5253sub subject(|args) is export {54  state $impl = do {55    require ::('BDD::Behave::DSL');56    ::('BDD::Behave::DSL::&subject');57  };58  $impl(|args);59}6061sub subject-bang(|args) is export {62  state $impl = do {63    require ::('BDD::Behave::DSL');64    ::('BDD::Behave::DSL::&subject-bang');65  };66  $impl(|args);67}6869sub expect(|args) is export {70  state $impl = do {71    require ::('BDD::Behave::DSL');72    ::('BDD::Behave::DSL::&expect');73  };74  $impl(|args);75}7677sub aggregate-failures(|args) is export {78  state $impl = do {79    require ::('BDD::Behave::DSL');80    ::('BDD::Behave::DSL::&aggregate-failures');81  };82  $impl(|args);83}8485sub capture-failures(|args) is export {86  state $impl = do {87    require ::('BDD::Behave::DSL');88    ::('BDD::Behave::DSL::&capture-failures');89  };90  $impl(|args);91}9293sub is-expected() is export {94  state $impl = do {95    require ::('BDD::Behave::DSL');96    ::('BDD::Behave::DSL::&is-expected');97  };98  $impl();99}100101sub before-all(|args) is export {102  state $impl = do {103    require ::('BDD::Behave::DSL');104    ::('BDD::Behave::DSL::&before-all');105  };106  $impl(|args);107}108109sub after-all(|args) is export {110  state $impl = do {111    require ::('BDD::Behave::DSL');112    ::('BDD::Behave::DSL::&after-all');113  };114  $impl(|args);115}116117sub before-each(|args) is export {118  state $impl = do {119    require ::('BDD::Behave::DSL');120    ::('BDD::Behave::DSL::&before-each');121  };122  $impl(|args);123}124125sub after-each(|args) is export {126  state $impl = do {127    require ::('BDD::Behave::DSL');128    ::('BDD::Behave::DSL::&after-each');129  };130  $impl(|args);131}132133sub around-each(|args) is export {134  state $impl = do {135    require ::('BDD::Behave::DSL');136    ::('BDD::Behave::DSL::&around-each');137  };138  $impl(|args);139}140141sub around-all(|args) is export {142  state $impl = do {143    require ::('BDD::Behave::DSL');144    ::('BDD::Behave::DSL::&around-all');145  };146  $impl(|args);147}148149sub shared-context(|args) is export {150  state $impl = do {151    require ::('BDD::Behave::DSL');152    ::('BDD::Behave::DSL::&shared-context');153  };154  $impl(|args);155}156157sub include-context(|args) is export {158  state $impl = do {159    require ::('BDD::Behave::DSL');160    ::('BDD::Behave::DSL::&include-context');161  };162  $impl(|args);163}164165sub shared-examples(|args) is export {166  state $impl = do {167    require ::('BDD::Behave::DSL');168    ::('BDD::Behave::DSL::&shared-examples');169  };170  $impl(|args);171}172173sub include-examples(|args) is export {174  state $impl = do {175    require ::('BDD::Behave::DSL');176    ::('BDD::Behave::DSL::&include-examples');177  };178  $impl(|args);179}180181sub it-behaves-like(|args) is export {182  state $impl = do {183    require ::('BDD::Behave::DSL');184    ::('BDD::Behave::DSL::&it-behaves-like');185  };186  $impl(|args);187}188189sub fit(|args) is export {190  state $impl = do {191    require ::('BDD::Behave::DSL');192    ::('BDD::Behave::DSL::&fit');193  };194  $impl(|args);195}196197sub xit(|args) is export {198  state $impl = do {199    require ::('BDD::Behave::DSL');200    ::('BDD::Behave::DSL::&xit');201  };202  $impl(|args);203}204205sub specify(|args) is export {206  state $impl = do {207    require ::('BDD::Behave::DSL');208    ::('BDD::Behave::DSL::&specify');209  };210  $impl(|args);211}212213sub example(|args) is export {214  state $impl = do {215    require ::('BDD::Behave::DSL');216    ::('BDD::Behave::DSL::&example');217  };218  $impl(|args);219}220221sub pending(|args) is export {222  state $impl = do {223    require ::('BDD::Behave::DSL');224    ::('BDD::Behave::DSL::&pending');225  };226  $impl(|args);227}228229sub fdescribe(|args) is export {230  state $impl = do {231    require ::('BDD::Behave::DSL');232    ::('BDD::Behave::DSL::&fdescribe');233  };234  $impl(|args);235}236237sub xdescribe(|args) is export {238  state $impl = do {239    require ::('BDD::Behave::DSL');240    ::('BDD::Behave::DSL::&xdescribe');241  };242  $impl(|args);243}244245sub fcontext(|args) is export {246  state $impl = do {247    require ::('BDD::Behave::DSL');248    ::('BDD::Behave::DSL::&fcontext');249  };250  $impl(|args);251}252253sub double(|args) is export {254  state $impl = do {255    require ::('BDD::Behave::DSL');256    ::('BDD::Behave::DSL::&double');257  };258  $impl(|args);259}260261sub spy(|args) is export {262  state $impl = do {263    require ::('BDD::Behave::DSL');264    ::('BDD::Behave::DSL::&spy');265  };266  $impl(|args);267}268269sub allow(Mu \target) is export {270  state $impl = do {271    require ::('BDD::Behave::DSL');272    ::('BDD::Behave::DSL::&allow');273  };274  $impl(target);275}276277sub allow-any-instance-of(Mu \cls) is export {278  state $impl = do {279    require ::('BDD::Behave::DSL');280    ::('BDD::Behave::DSL::&allow-any-instance-of');281  };282  $impl(cls);283}284285sub anything() is export {286  state $impl = do {287    require ::('BDD::Behave::DSL');288    ::('BDD::Behave::DSL::&anything');289  };290  $impl();291}292293sub instance-of(Mu \type) is export {294  state $impl = do {295    require ::('BDD::Behave::DSL');296    ::('BDD::Behave::DSL::&instance-of');297  };298  $impl(type);299}300301sub hash-including(*%pairs) is export {302  state $impl = do {303    require ::('BDD::Behave::DSL');304    ::('BDD::Behave::DSL::&hash-including');305  };306  $impl(|%pairs);307}308309sub array-including(*@items) is export {310  state $impl = do {311    require ::('BDD::Behave::DSL');312    ::('BDD::Behave::DSL::&array-including');313  };314  $impl(|@items);315}316317sub xcontext(|args) is export {318  state $impl = do {319    require ::('BDD::Behave::DSL');320    ::('BDD::Behave::DSL::&xcontext');321  };322  $impl(|args);323}324325sub define-matcher(Str:D $name, *%blocks) is export {326  state $impl = do {327    require ::('BDD::Behave::DSL');328    ::('BDD::Behave::DSL::&define-matcher');329  };330  $impl($name, |%blocks);331}332333sub matcher(Str:D $name, |c) is export {334  state $impl = do {335    require ::('BDD::Behave::DSL');336    ::('BDD::Behave::DSL::&matcher');337  };338  $impl($name, |c);339}340341sub benchmark(|args) is export {342  state $impl = do {343    require ::('BDD::Behave::DSL');344    ::('BDD::Behave::DSL::&benchmark');345  };346  $impl(|args);347}348349sub freeze-time(|args) is export {350  state $impl = do {351    require ::('BDD::Behave::DSL');352    ::('BDD::Behave::DSL::&freeze-time');353  };354  $impl(|args);355}356357sub travel-to($when, &block) is export {358  state $impl = do {359    require ::('BDD::Behave::DSL');360    ::('BDD::Behave::DSL::&travel-to');361  };362  $impl($when, &block);363}364365sub travel-by(Real() $delta) is export {366  state $impl = do {367    require ::('BDD::Behave::DSL');368    ::('BDD::Behave::DSL::&travel-by');369  };370  $impl($delta);371}372373sub current-time() is export {374  state $impl = do {375    require ::('BDD::Behave::DSL');376    ::('BDD::Behave::DSL::&current-time');377  };378  $impl();379}