Skip to content

exodist/Fuckin-Lazy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME
    Fuckin::Lazy - Lazy way to produce test structures (Or a very bad idea)

WARNING
    Warning! Using the module would fall squarely into BAD PRACTICE. You
    should predict what structures your code produces and put them into the
    test yourself. Simply sumping a result and testing against it is a bad
    idea. The only exception to this policy is when writing tests to make
    sure the output does not change from what it currently is.

SYNOPSIS
        use Test::More;
        use Fuckin::Lazy qw/LAZY/;

        my $foo = { a => 1, b => 2 };

        is_deeply($foo, Fuckin'Lazy($foo), "Foo");

        is_deeply(
            $foo,
            LAZY($foo),
            "Foo"
        );

        is_deeply($foo, LAZY($foo), "Foo");

        done_testing;

    The first time you run the above test it will alter the test file itself
    to produce this:

        use Test::More;
        use Fuckin::Lazy qw/LAZY/;

        my $foo = { a => 1, b => 2 };

        is_deeply($foo, {"a" => 1,"b" => 2}, "Foo");

        is_deeply(
            $foo,
            {"a" => 1,"b" => 2},
            "Foo"
        );

        is_deeply($foo, {"a" => 1,"b" => 2}, "Foo");

        done_testing;

DESCRIPTION
    A poor implementation of a bad idea!

EXPORTS
    LAZY($var)
        This function will turn the argument into the code for a perl data
        structure and replace itself with the code. This is done when the
        file is run. The data structure passed in is returned unchanged
        allowing the test to pass.

MAGIC
    Fuckin'Lazy($var)
        Same as the LAZY() export, except it is the Fuckin::Lazy function,
        not exported. The "'" can be used in place of "::" due to legacy
        perl support.

IDEA
    Thanks to Joshua Keroes for proposing the idea.

COPYRIGHT
    Copyright 2014 Chad Granum <exodist7@gmail.com>.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

    See http://www.perl.com/perl/misc/Artistic.html

About

Lazy test structures

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages