App-OATH

 view release on metacpan or  search on metacpan

bin/oath  view on Meta::CPAN

    $app->usage();
    exit 0;
}

$app->set_search( $search )   if $search;
$app->set_filename( $file )   if $file;
$app->set_raw()               if $raw;
$app->set_rawqr()             if $rawqr;
$app->init()                  if $init;

$app->get_lock() || die 'File is already locked';

if ( $newpass ) {
    $app->set_newpass( $newpass );
    if ( $add ) {
        $app->add_entry( $add );
    }
    else {
        $app->encrypt_data();
        $app->save_data();
    }

t/001-test.t  view on Meta::CPAN

  delete $app->{'rawqr'};

  $app->set_filename( $filename );

};

subtest 'Locking' => sub {
    my $lock1 = $app->get_lock();
    is( $lock1, 1, 'Could lock' );
    my $lock2 = $app->get_lock();
    is( $lock2, 0, 'Already locked' );
    $app->set_filename( $filename2 );
    my $lock3 = $app->get_lock();
    is( $lock3, 1, 'Could lock after file change' );
    my $lock4 = $app->get_lock();
    is( $lock4, 0, 'Already locked' );
    $app->set_filename( $filename2 );
    my $lock5 = $app->get_lock();
    is( $lock5, 0, 'Still locked after false name change' );
    $app->drop_lock();
};

subtest 'Invalid Filename' => sub {
    my $invalid_filename = $filename . '/invalid';
    $app->set_filename( $invalid_filename );
    dies_ok( sub{ $app->save_data(); }, 'Dies on invalid filename save' );
    $app->set_filename( $filename );
};



( run in 0.545 second using v1.01-cache-2.11-cpan-49f99fa48dc )