Merge branch '2.3.0' into 2.4.0
Conflicts: AUTHORS CMakeLists.txt NEWS src/A3.cpp src/CMakeLists.txt src/Config.cpp src/Duration.cpp src/Duration.h src/Nibbler.cpp src/Nibbler.h src/RX.cpp src/RX.h src/columns/ColDate.cpp src/columns/ColScheduled.cpp src/commands/Command.cpp src/legacy.cpp src/utf8.cpp src/utf8.h test/CMakeLists.txt test/bug.mergedeps.t.postponed test/duration.t.cpp test/merge.duplicates.t test/merge.simple_duplication.t test/merge.t test/nibbler.t.cpp test/roundtrip.t test/rx.t.cpp test/utf8.t.cpp
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
################################################################################
|
||||
## taskwarrior - a command line task list manager.
|
||||
##
|
||||
## Copyright 2006-2013, Paul Beckingham, Federico Hernandez.
|
||||
## Copyright 2006-2014, Paul Beckingham, Federico Hernandez.
|
||||
##
|
||||
## Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
## of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -28,7 +28,11 @@
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 4;
|
||||
use Test::More tests => 5;
|
||||
|
||||
# Ensure environment has no influence.
|
||||
delete $ENV{'TASKDATA'};
|
||||
delete $ENV{'TASKRC'};
|
||||
|
||||
# Create the rc file.
|
||||
if (open my $fh, '>', 'roundtrip.rc')
|
||||
@@ -43,36 +47,41 @@ if (open my $fh, '>', 'roundtrip.rc')
|
||||
}
|
||||
|
||||
# Add two tasks.
|
||||
qx{../src/task rc:roundtrip.rc add priority:H project:A one 2>&1};
|
||||
qx{../src/task rc:roundtrip.rc add priority:H project:A one/1 2>&1};
|
||||
qx{../src/task rc:roundtrip.rc add +tag1 +tag2 two 2>&1};
|
||||
|
||||
# trip 1.
|
||||
qx{../src/task rc:roundtrip.rc export > ./roundtrip.txt 2>&1};
|
||||
qx{../src/task rc:roundtrip.rc export > ./roundtrip1.json 2>&1};
|
||||
unlink 'pending.data', 'completed.data', 'undo.data';
|
||||
qx{../src/task rc:roundtrip.rc rc.debug:1 import ./roundtrip.txt 2>&1};
|
||||
qx{../src/task rc:roundtrip.rc rc.debug:1 import ./roundtrip1.json 2>&1};
|
||||
|
||||
# trip 2.
|
||||
qx{../src/task rc:roundtrip.rc export > ./roundtrip.txt 2>&1};
|
||||
qx{../src/task rc:roundtrip.rc export > ./roundtrip2.json 2>&1};
|
||||
unlink 'pending.data', 'completed.data', 'undo.data';
|
||||
qx{../src/task rc:roundtrip.rc import ./roundtrip.txt 2>&1};
|
||||
qx{../src/task rc:roundtrip.rc import ./roundtrip2.json 2>&1};
|
||||
|
||||
# Examine.
|
||||
|
||||
# ID Project Pri Added Started Due Recur Countdown Age Deps Tags Description
|
||||
# -- ------- --- -------- ------- --- ----- --------- --- ---- --------- ---------
|
||||
# 1 A H 8/7/2010 - one
|
||||
# 1 A H 8/7/2010 - one/1
|
||||
# 2 8/7/2010 - tag1 tag2 two
|
||||
my $output = qx{../src/task rc:roundtrip.rc long 2>&1};
|
||||
like ($output, qr/1.+\d+\/\d+\/\d+.+H.+A.+one/, '2 round trips task 1 identical');
|
||||
like ($output, qr/1.+A.+H.+\d+\/\d+\/\d+.+(?:-|\d+).+one\/1/, '2 round trips task 1 identical');
|
||||
like ($output, qr/2.+\d+\/\d+\/\d+.+(?:-|\d+).+tag1\stag2\stwo/, '2 round trips task 2 identical');
|
||||
|
||||
# Compare the actual JSON files.
|
||||
$output = qx{diff ./roundtrip1.json ./roundtrip2.json 2>&1};
|
||||
like ($output, qr/^$/, 'JSON files roundtrip1.json and roundtrip2.json identical');
|
||||
|
||||
# Cleanup.
|
||||
unlink qw(roundtrip.txt pending.data completed.data undo.data backlog.data roundtrip.rc);
|
||||
ok (! -r 'roundtrip.txt' &&
|
||||
! -r 'pending.data' &&
|
||||
! -r 'completed.data' &&
|
||||
! -r 'undo.data' &&
|
||||
! -r 'backlog.data' &&
|
||||
unlink qw(roundtrip1.json roundtrip2.json pending.data completed.data undo.data backlog.data roundtrip.rc);
|
||||
ok (! -r 'roundtrip1.json' &&
|
||||
! -r 'roundtrip2.json' &&
|
||||
! -r 'pending.data' &&
|
||||
! -r 'completed.data' &&
|
||||
! -r 'undo.data' &&
|
||||
! -r 'backlog.data' &&
|
||||
! -r 'roundtrip.rc', 'Cleanup');
|
||||
|
||||
exit 0;
|
||||
|
||||
Reference in New Issue
Block a user