Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
topydo
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
topydo
Commits
c6015996
Commit
c6015996
authored
Nov 23, 2014
by
Bram Schoenmakers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove relative imports.
parent
43c6beee
Changes
54
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
54 changed files
with
458 additions
and
458 deletions
+458
-458
test/AddCommandTest.py
test/AddCommandTest.py
+2
-2
test/AppendCommandTest.py
test/AppendCommandTest.py
+14
-14
test/ArchiveCommandTest.py
test/ArchiveCommandTest.py
+7
-7
test/CommandTest.py
test/CommandTest.py
+4
-4
test/ConfigTest.py
test/ConfigTest.py
+1
-1
test/DeleteCommandTest.py
test/DeleteCommandTest.py
+13
-13
test/DepCommandTest.py
test/DepCommandTest.py
+26
-26
test/DepriCommandTest.py
test/DepriCommandTest.py
+12
-12
test/DoCommandTest.py
test/DoCommandTest.py
+22
-22
test/FilterTest.py
test/FilterTest.py
+7
-7
test/GraphTest.py
test/GraphTest.py
+5
-5
test/ImportanceTest.py
test/ImportanceTest.py
+10
-10
test/ListCommandTest.py
test/ListCommandTest.py
+17
-17
test/ListContextCommandTest.py
test/ListContextCommandTest.py
+7
-7
test/ListProjectCommandTest.py
test/ListProjectCommandTest.py
+7
-7
test/PostponeCommandTest.py
test/PostponeCommandTest.py
+20
-20
test/PriorityCommandTest.py
test/PriorityCommandTest.py
+13
-13
test/RecurrenceTest.py
test/RecurrenceTest.py
+5
-5
test/RelativeDateTest.py
test/RelativeDateTest.py
+24
-24
test/SortCommandTest.py
test/SortCommandTest.py
+4
-4
test/SorterTest.py
test/SorterTest.py
+19
-19
test/TagCommandTest.py
test/TagCommandTest.py
+24
-24
test/TestFacilities.py
test/TestFacilities.py
+9
-9
test/TodoBaseTest.py
test/TodoBaseTest.py
+41
-41
test/TodoListTest.py
test/TodoListTest.py
+11
-11
test/TodoTest.py
test/TodoTest.py
+18
-18
test/ViewTest.py
test/ViewTest.py
+10
-10
test/run.sh
test/run.sh
+1
-1
topydo/lib/AddCommand.py
topydo/lib/AddCommand.py
+6
-6
topydo/lib/AppendCommand.py
topydo/lib/AppendCommand.py
+3
-3
topydo/lib/ArchiveCommand.py
topydo/lib/ArchiveCommand.py
+2
-2
topydo/lib/DCommand.py
topydo/lib/DCommand.py
+3
-3
topydo/lib/DeleteCommand.py
topydo/lib/DeleteCommand.py
+2
-2
topydo/lib/DepCommand.py
topydo/lib/DepCommand.py
+8
-8
topydo/lib/DepriCommand.py
topydo/lib/DepriCommand.py
+3
-3
topydo/lib/DoCommand.py
topydo/lib/DoCommand.py
+4
-4
topydo/lib/Filter.py
topydo/lib/Filter.py
+3
-3
topydo/lib/Importance.py
topydo/lib/Importance.py
+4
-4
topydo/lib/ListCommand.py
topydo/lib/ListCommand.py
+7
-7
topydo/lib/ListContextCommand.py
topydo/lib/ListContextCommand.py
+2
-2
topydo/lib/ListProjectCommand.py
topydo/lib/ListProjectCommand.py
+2
-2
topydo/lib/PostponeCommand.py
topydo/lib/PostponeCommand.py
+6
-6
topydo/lib/PrettyPrinter.py
topydo/lib/PrettyPrinter.py
+1
-1
topydo/lib/PriorityCommand.py
topydo/lib/PriorityCommand.py
+4
-4
topydo/lib/Recurrence.py
topydo/lib/Recurrence.py
+7
-7
topydo/lib/SortCommand.py
topydo/lib/SortCommand.py
+4
-4
topydo/lib/Sorter.py
topydo/lib/Sorter.py
+1
-1
topydo/lib/TagCommand.py
topydo/lib/TagCommand.py
+3
-3
topydo/lib/Todo.py
topydo/lib/Todo.py
+9
-9
topydo/lib/TodoBase.py
topydo/lib/TodoBase.py
+6
-6
topydo/lib/TodoList.py
topydo/lib/TodoList.py
+4
-4
topydo/lib/TodoListBase.py
topydo/lib/TodoListBase.py
+6
-6
topydo/lib/TodoParser.py
topydo/lib/TodoParser.py
+4
-4
topydo/lib/View.py
topydo/lib/View.py
+1
-1
No files found.
test/AddCommandTest.py
View file @
c6015996
...
@@ -16,9 +16,9 @@
...
@@ -16,9 +16,9 @@
from
datetime
import
date
from
datetime
import
date
import
AddCommand
from
topydo.lib
import
AddCommand
import
CommandTest
import
CommandTest
import
TodoList
from
topydo.lib
import
TodoList
class
AddCommandTest
(
CommandTest
.
CommandTest
):
class
AddCommandTest
(
CommandTest
.
CommandTest
):
def
setUp
(
self
):
def
setUp
(
self
):
...
...
test/AppendCommandTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
AppendCommand
from
topydo.lib.AppendCommand
import
AppendCommand
import
CommandTest
import
CommandTest
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
AppendCommandTest
(
CommandTest
.
CommandTest
):
class
AppendCommandTest
(
CommandTest
.
CommandTest
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
todolist
=
TodoList
.
TodoList
([])
self
.
todolist
=
TodoList
([])
self
.
todolist
.
add
(
"Foo"
)
self
.
todolist
.
add
(
"Foo"
)
def
test_append1
(
self
):
def
test_append1
(
self
):
command
=
AppendCommand
.
AppendCommand
([
1
,
"Bar"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
AppendCommand
([
1
,
"Bar"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEqual
(
self
.
output
,
" 1 Foo Bar
\
n
"
)
self
.
assertEqual
(
self
.
output
,
" 1 Foo Bar
\
n
"
)
self
.
assertEqual
(
self
.
errors
,
""
)
self
.
assertEqual
(
self
.
errors
,
""
)
def
test_append2
(
self
):
def
test_append2
(
self
):
command
=
AppendCommand
.
AppendCommand
([
2
,
"Bar"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
AppendCommand
([
2
,
"Bar"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEqual
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_append3
(
self
):
def
test_append3
(
self
):
command
=
AppendCommand
.
AppendCommand
([
1
,
""
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
AppendCommand
([
1
,
""
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
output
,
""
)
def
test_append4
(
self
):
def
test_append4
(
self
):
command
=
AppendCommand
.
AppendCommand
([
1
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
AppendCommand
([
1
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEqual
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_append5
(
self
):
def
test_append5
(
self
):
command
=
AppendCommand
.
AppendCommand
([
1
,
"Bar"
,
"Baz"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
AppendCommand
([
1
,
"Bar"
,
"Baz"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEqual
(
self
.
output
,
" 1 Foo Bar Baz
\
n
"
)
self
.
assertEqual
(
self
.
output
,
" 1 Foo Bar Baz
\
n
"
)
self
.
assertEqual
(
self
.
errors
,
""
)
self
.
assertEqual
(
self
.
errors
,
""
)
def
test_append6
(
self
):
def
test_append6
(
self
):
command
=
AppendCommand
.
AppendCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
AppendCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEqual
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_append7
(
self
):
def
test_append7
(
self
):
command
=
AppendCommand
.
AppendCommand
([
"Bar"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
AppendCommand
([
"Bar"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
output
,
""
)
self
.
assertEqual
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEqual
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
AppendCommand
.
AppendCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
AppendCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/ArchiveCommandTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
ArchiveCommand
from
topydo.lib.ArchiveCommand
import
ArchiveCommand
import
CommandTest
import
CommandTest
import
TestFacilities
import
TestFacilities
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
ArchiveCommandTest
(
CommandTest
.
CommandTest
):
class
ArchiveCommandTest
(
CommandTest
.
CommandTest
):
def
test_archive
(
self
):
def
test_archive
(
self
):
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/ArchiveCommandTest.txt"
)
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/ArchiveCommandTest.txt"
)
archive
=
TodoList
.
TodoList
([])
archive
=
TodoList
([])
command
=
ArchiveCommand
.
ArchiveCommand
(
todolist
,
archive
)
command
=
ArchiveCommand
(
todolist
,
archive
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
todolist
.
is_dirty
())
self
.
assertTrue
(
todolist
.
is_dirty
())
...
...
test/CommandTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
from
Utils
import
escape_ansi
from
topydo.lib.
Utils
import
escape_ansi
class
CommandTest
(
unittest
.
TestCase
):
class
CommandTest
(
unittest
.
TestCase
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
def
__init__
(
self
,
*
args
,
**
kwargs
):
...
...
test/ConfigTest.py
View file @
c6015996
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
import
unittest
import
unittest
from
Config
import
config
from
topydo.lib.
Config
import
config
class
ConfigTest
(
unittest
.
TestCase
):
class
ConfigTest
(
unittest
.
TestCase
):
def
test_config1
(
self
):
def
test_config1
(
self
):
...
...
test/DeleteCommandTest.py
View file @
c6015996
...
@@ -15,8 +15,8 @@
...
@@ -15,8 +15,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
CommandTest
import
CommandTest
import
DeleteCommand
from
topydo.lib.DeleteCommand
import
DeleteCommand
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
DeleteCommandTest
(
CommandTest
.
CommandTest
):
class
DeleteCommandTest
(
CommandTest
.
CommandTest
):
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -25,10 +25,10 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -25,10 +25,10 @@ class DeleteCommandTest(CommandTest.CommandTest):
"Bar p:1"
,
"Bar p:1"
,
]
]
self
.
todolist
=
TodoList
.
TodoList
(
todos
)
self
.
todolist
=
TodoList
(
todos
)
def
test_del1
(
self
):
def
test_del1
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"n"
)
command
=
DeleteCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"n"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -37,7 +37,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -37,7 +37,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_del1_regex
(
self
):
def
test_del1_regex
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"Foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"n"
)
command
=
DeleteCommand
([
"Foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"n"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -46,7 +46,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -46,7 +46,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_del2
(
self
):
def
test_del2
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"y"
)
command
=
DeleteCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"y"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -55,7 +55,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -55,7 +55,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_del3
(
self
):
def
test_del3
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"-f"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"y"
)
command
=
DeleteCommand
([
"-f"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"y"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -64,7 +64,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -64,7 +64,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_del4
(
self
):
def
test_del4
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"--force"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"y"
)
command
=
DeleteCommand
([
"--force"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
p
:
"y"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -73,7 +73,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -73,7 +73,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_del5
(
self
):
def
test_del5
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DeleteCommand
([
"2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -82,7 +82,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -82,7 +82,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_del7
(
self
):
def
test_del7
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"99"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DeleteCommand
([
"99"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -90,7 +90,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -90,7 +90,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_del8
(
self
):
def
test_del8
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"A"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DeleteCommand
([
"A"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -98,7 +98,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -98,7 +98,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_empty
(
self
):
def
test_empty
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DeleteCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -106,7 +106,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
...
@@ -106,7 +106,7 @@ class DeleteCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
DeleteCommand
.
DeleteCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DeleteCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/DepCommandTest.py
View file @
c6015996
...
@@ -15,8 +15,8 @@
...
@@ -15,8 +15,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
CommandTest
import
CommandTest
import
DepCommand
from
topydo.lib.DepCommand
import
DepCommand
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
DepCommandTest
(
CommandTest
.
CommandTest
):
class
DepCommandTest
(
CommandTest
.
CommandTest
):
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -29,10 +29,10 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -29,10 +29,10 @@ class DepCommandTest(CommandTest.CommandTest):
"Fart p:2"
,
"Fart p:2"
,
]
]
self
.
todolist
=
TodoList
.
TodoList
(
todos
)
self
.
todolist
=
TodoList
(
todos
)
def
test_add1
(
self
):
def
test_add1
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"1"
,
"to"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"1"
,
"to"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -41,7 +41,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -41,7 +41,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_add2
(
self
):
def
test_add2
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"1"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"1"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -50,7 +50,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -50,7 +50,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_add3
(
self
):
def
test_add3
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"99"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"99"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -58,7 +58,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -58,7 +58,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_add4
(
self
):
def
test_add4
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"A"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"A"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -66,7 +66,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -66,7 +66,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_add5
(
self
):
def
test_add5
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -74,7 +74,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -74,7 +74,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_add6
(
self
):
def
test_add6
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"1"
,
"after"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"1"
,
"after"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -83,7 +83,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -83,7 +83,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_add7
(
self
):
def
test_add7
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"1"
,
"before"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"1"
,
"before"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -92,7 +92,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -92,7 +92,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_add8
(
self
):
def
test_add8
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"1"
,
"partof"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"1"
,
"partof"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -101,7 +101,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -101,7 +101,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_add9
(
self
):
def
test_add9
(
self
):
command
=
DepCommand
.
DepCommand
([
"add"
,
"Foo"
,
"to"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"add"
,
"Foo"
,
"to"
,
"4"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -115,7 +115,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -115,7 +115,7 @@ class DepCommandTest(CommandTest.CommandTest):
to todo 3.
to todo 3.
"""
"""
command
=
DepCommand
.
DepCommand
(
p_args
,
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
(
p_args
,
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -137,7 +137,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -137,7 +137,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
rm_helper
([
"del"
,
"1"
,
"3"
])
self
.
rm_helper
([
"del"
,
"1"
,
"3"
])
def
test_rm3
(
self
):
def
test_rm3
(
self
):
command
=
DepCommand
.
DepCommand
([
"rm"
,
"99"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"rm"
,
"99"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -145,7 +145,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -145,7 +145,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_rm4
(
self
):
def
test_rm4
(
self
):
command
=
DepCommand
.
DepCommand
([
"rm"
,
"A"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"rm"
,
"A"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -153,7 +153,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -153,7 +153,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_rm5
(
self
):
def
test_rm5
(
self
):
command
=
DepCommand
.
DepCommand
([
"rm"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"rm"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -161,7 +161,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -161,7 +161,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_ls1
(
self
):
def
test_ls1
(
self
):
command
=
DepCommand
.
DepCommand
([
"ls"
,
"1"
,
"to"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"ls"
,
"1"
,
"to"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -169,7 +169,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -169,7 +169,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_ls2
(
self
):
def
test_ls2
(
self
):
command
=
DepCommand
.
DepCommand
([
"ls"
,
"99"
,
"to"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"ls"
,
"99"
,
"to"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -177,7 +177,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -177,7 +177,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_ls3
(
self
):
def
test_ls3
(
self
):
command
=
DepCommand
.
DepCommand
([
"ls"
,
"to"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"ls"
,
"to"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -185,7 +185,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -185,7 +185,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_ls4
(
self
):
def
test_ls4
(
self
):
command
=
DepCommand
.
DepCommand
([
"ls"
,
"to"
,
"99"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"ls"
,
"to"
,
"99"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -193,7 +193,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -193,7 +193,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_ls5
(
self
):
def
test_ls5
(
self
):
command
=
DepCommand
.
DepCommand
([
"ls"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"ls"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -201,7 +201,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -201,7 +201,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_ls6
(
self
):
def
test_ls6
(
self
):
command
=
DepCommand
.
DepCommand
([
"ls"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"ls"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -209,7 +209,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -209,7 +209,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
gc_helper
(
self
,
p_subcommand
):
def
gc_helper
(
self
,
p_subcommand
):
command
=
DepCommand
.
DepCommand
([
p_subcommand
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
p_subcommand
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -224,7 +224,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -224,7 +224,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
gc_helper
(
"gc"
)
self
.
gc_helper
(
"gc"
)
def
test_invalid_subsubcommand
(
self
):
def
test_invalid_subsubcommand
(
self
):
command
=
DepCommand
.
DepCommand
([
"foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
output
)
self
.
assertFalse
(
self
.
output
)
...
@@ -232,7 +232,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -232,7 +232,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
def
test_no_subsubcommand
(
self
):
def
test_no_subsubcommand
(
self
):
command
=
DepCommand
.
DepCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
output
)
self
.
assertFalse
(
self
.
output
)
...
@@ -240,7 +240,7 @@ class DepCommandTest(CommandTest.CommandTest):
...
@@ -240,7 +240,7 @@ class DepCommandTest(CommandTest.CommandTest):
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
def
test_help
(
self
):
def
test_help
(
self
):
command
=
DepCommand
.
DepCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/DepriCommandTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
CommandTest
import
CommandTest
import
DepriCommand
from
topydo.lib.DepriCommand
import
DepriCommand
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
DepriCommandTest
(
CommandTest
.
CommandTest
):
class
DepriCommandTest
(
CommandTest
.
CommandTest
):
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -25,10 +25,10 @@ class DepriCommandTest(CommandTest.CommandTest):
...
@@ -25,10 +25,10 @@ class DepriCommandTest(CommandTest.CommandTest):
"Bar"
,
"Bar"
,
]
]
self
.
todolist
=
TodoList
.
TodoList
(
todos
)
self
.
todolist
=
TodoList
(
todos
)
def
test_set_prio1
(
self
):
def
test_set_prio1
(
self
):
command
=
DepriCommand
.
DepriCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepriCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -37,7 +37,7 @@ class DepriCommandTest(CommandTest.CommandTest):
...
@@ -37,7 +37,7 @@ class DepriCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_prio2
(
self
):
def
test_set_prio2
(
self
):
command
=
DepriCommand
.
DepriCommand
([
"2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepriCommand
([
"2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -46,7 +46,7 @@ class DepriCommandTest(CommandTest.CommandTest):
...
@@ -46,7 +46,7 @@ class DepriCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_prio3
(
self
):
def
test_set_prio3
(
self
):
command
=
DepriCommand
.
DepriCommand
([
"Foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepriCommand
([
"Foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -55,7 +55,7 @@ class DepriCommandTest(CommandTest.CommandTest):
...
@@ -55,7 +55,7 @@ class DepriCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_invalid1
(
self
):
def
test_invalid1
(
self
):
command
=
DepriCommand
.
DepriCommand
([
"99"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepriCommand
([
"99"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -63,7 +63,7 @@ class DepriCommandTest(CommandTest.CommandTest):
...
@@ -63,7 +63,7 @@ class DepriCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_empty
(
self
):
def
test_empty
(
self
):
command
=
DepriCommand
.
DepriCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepriCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -71,7 +71,7 @@ class DepriCommandTest(CommandTest.CommandTest):
...
@@ -71,7 +71,7 @@ class DepriCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
DepriCommand
.
DepriCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DepriCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/DoCommandTest.py
View file @
c6015996
...
@@ -17,8 +17,8 @@
...
@@ -17,8 +17,8 @@
from
datetime
import
date
,
timedelta
from
datetime
import
date
,
timedelta
import
CommandTest
import
CommandTest
import
DoCommand
from
topydo.lib.DoCommand
import
DoCommand
import
TodoList
from
topydo.lib.TodoList
import
TodoList
def
_yes_prompt
(
self
):
def
_yes_prompt
(
self
):
return
"y"
return
"y"
...
@@ -39,14 +39,14 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -39,14 +39,14 @@ class DoCommandTest(CommandTest.CommandTest):
"Strict due:2014-01-01 rec:1d"
,
"Strict due:2014-01-01 rec:1d"
,
]
]
self
.
todolist
=
TodoList
.
TodoList
(
todos
)
self
.
todolist
=
TodoList
(
todos
)
self
.
today
=
date
.
today
()
self
.
today
=
date
.
today
()
self
.
tomorrow
=
self
.
today
+
timedelta
(
1
)
self
.
tomorrow
=
self
.
today
+
timedelta
(
1
)
self
.
today
=
self
.
today
.
isoformat
()
self
.
today
=
self
.
today
.
isoformat
()
self
.
tomorrow
=
self
.
tomorrow
.
isoformat
()
self
.
tomorrow
=
self
.
tomorrow
.
isoformat
()
def
test_do1
(
self
):
def
test_do1
(
self
):
command
=
DoCommand
.
DoCommand
([
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
_no_prompt
)
command
=
DoCommand
([
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
_no_prompt
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -55,7 +55,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -55,7 +55,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_do_subtasks1
(
self
):
def
test_do_subtasks1
(
self
):
command
=
DoCommand
.
DoCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
_yes_prompt
)
command
=
DoCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
_yes_prompt
)
command
.
execute
()
command
.
execute
()
result
=
" 2 Bar p:1
\
n
3 Baz p:1
\
n
Completed: x %s Bar p:1
\
n
Completed: x %s Baz p:1
\
n
Completed: x %s Foo id:1
\
n
"
%
(
self
.
today
,
self
.
today
,
self
.
today
)
result
=
" 2 Bar p:1
\
n
3 Baz p:1
\
n
Completed: x %s Bar p:1
\
n
Completed: x %s Baz p:1
\
n
Completed: x %s Foo id:1
\
n
"
%
(
self
.
today
,
self
.
today
,
self
.
today
)
...
@@ -69,7 +69,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -69,7 +69,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_do_subtasks2
(
self
):
def
test_do_subtasks2
(
self
):
command
=
DoCommand
.
DoCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
_no_prompt
)
command
=
DoCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
_no_prompt
)
command
.
execute
()
command
.
execute
()
result
=
" 2 Bar p:1
\
n
3 Baz p:1
\
n
Completed: x %s Foo id:1
\
n
"
%
self
.
today
result
=
" 2 Bar p:1
\
n
3 Baz p:1
\
n
Completed: x %s Foo id:1
\
n
"
%
self
.
today
...
@@ -88,7 +88,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -88,7 +88,7 @@ class DoCommandTest(CommandTest.CommandTest):
global
prompt_shown
global
prompt_shown
prompt_shown
=
True
prompt_shown
=
True
command
=
DoCommand
.
DoCommand
([
"-f"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
prompt
)
command
=
DoCommand
([
"-f"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
prompt
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
prompt_shown
)
self
.
assertFalse
(
prompt_shown
)
...
@@ -102,7 +102,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -102,7 +102,7 @@ class DoCommandTest(CommandTest.CommandTest):
global
prompt_shown
global
prompt_shown
prompt_shown
=
True
prompt_shown
=
True
command
=
DoCommand
.
DoCommand
([
"--force"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
prompt
)
command
=
DoCommand
([
"--force"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
prompt
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
prompt_shown
)
self
.
assertFalse
(
prompt_shown
)
...
@@ -110,7 +110,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -110,7 +110,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertFalse
(
self
.
todolist
.
todo
(
2
).
is_completed
())
self
.
assertFalse
(
self
.
todolist
.
todo
(
2
).
is_completed
())
def
_recurrence_helper
(
self
,
p_flags
):
def
_recurrence_helper
(
self
,
p_flags
):
command
=
DoCommand
.
DoCommand
(
p_flags
,
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
(
p_flags
,
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -142,7 +142,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -142,7 +142,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
output
,
result
)
self
.
assertEquals
(
self
.
output
,
result
)
def
test_invalid1
(
self
):
def
test_invalid1
(
self
):
command
=
DoCommand
.
DoCommand
([
"99"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"99"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -150,7 +150,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -150,7 +150,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_invalid2
(
self
):
def
test_invalid2
(
self
):
command
=
DoCommand
.
DoCommand
([
"AAA"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"AAA"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -158,7 +158,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -158,7 +158,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_activated_todos1
(
self
):
def
test_activated_todos1
(
self
):
command
=
DoCommand
.
DoCommand
([
"2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
first_output
=
"Completed: x %s Bar p:1
\
n
"
%
self
.
today
first_output
=
"Completed: x %s Bar p:1
\
n
"
%
self
.
today
...
@@ -166,21 +166,21 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -166,21 +166,21 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
output
,
first_output
)
self
.
assertEquals
(
self
.
output
,
first_output
)
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
command
=
DoCommand
.
DoCommand
([
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
first_output
+
"Completed: x %s Baz p:1
\
n
The following todo item(s) became active:
\
n
Foo id:1
\
n
"
%
self
.
today
)
self
.
assertEquals
(
self
.
output
,
first_output
+
"Completed: x %s Baz p:1
\
n
The following todo item(s) became active:
\
n
Foo id:1
\
n
"
%
self
.
today
)
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_activated_todos2
(
self
):
def
test_activated_todos2
(
self
):
command
=
DoCommand
.
DoCommand
([
"7"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"7"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
"Completed: x %s Subtodo of inactive p:2
\
n
"
%
self
.
today
)
self
.
assertEquals
(
self
.
output
,
"Completed: x %s Subtodo of inactive p:2
\
n
"
%
self
.
today
)
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_already_complete
(
self
):
def
test_already_complete
(
self
):
command
=
DoCommand
.
DoCommand
([
"5"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"5"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -189,7 +189,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -189,7 +189,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Todo has already been completed.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Todo has already been completed.
\
n
"
)
def
test_do_regex1
(
self
):
def
test_do_regex1
(
self
):
command
=
DoCommand
.
DoCommand
([
"baz"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"baz"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -198,7 +198,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -198,7 +198,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_do_custom_date1
(
self
):
def
test_do_custom_date1
(
self
):
command
=
DoCommand
.
DoCommand
([
"-d"
,
"2014-11-18"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"-d"
,
"2014-11-18"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -206,7 +206,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -206,7 +206,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_do_custom_date2
(
self
):
def
test_do_custom_date2
(
self
):
command
=
DoCommand
.
DoCommand
([
"-d"
,
"2014-11-18"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
_yes_prompt
)
command
=
DoCommand
([
"-d"
,
"2014-11-18"
,
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
_yes_prompt
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -214,7 +214,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -214,7 +214,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_do_custom_date3
(
self
):
def
test_do_custom_date3
(
self
):
command
=
DoCommand
.
DoCommand
([
"--date=2014-11-18"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"--date=2014-11-18"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -222,7 +222,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -222,7 +222,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_do_custom_date4
(
self
):
def
test_do_custom_date4
(
self
):
command
=
DoCommand
.
DoCommand
([
"-d"
,
"foo"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"-d"
,
"foo"
,
"3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -230,7 +230,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -230,7 +230,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_empty
(
self
):
def
test_empty
(
self
):
command
=
DoCommand
.
DoCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -238,7 +238,7 @@ class DoCommandTest(CommandTest.CommandTest):
...
@@ -238,7 +238,7 @@ class DoCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
DoCommand
.
DoCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
DoCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/FilterTest.py
View file @
c6015996
...
@@ -19,13 +19,13 @@
...
@@ -19,13 +19,13 @@
from
datetime
import
date
,
timedelta
from
datetime
import
date
,
timedelta
import
unittest
import
unittest
import
Filter
from
topydo.lib
import
Filter
from
TestFacilities
import
load_file
,
todolist_to_string
,
load_file_to_todolist
from
TestFacilities
import
load_file
,
todolist_to_string
,
load_file_to_todolist
import
Todo
from
topydo.lib.Todo
import
Todo
class
FilterTest
(
unittest
.
TestCase
):
class
FilterTest
(
unittest
.
TestCase
):
def
test_filter3
(
self
):
def
test_filter3
(
self
):
todo
=
Todo
.
Todo
(
"(C) Relevant"
)
todo
=
Todo
(
"(C) Relevant"
)
relevance
=
Filter
.
RelevanceFilter
()
relevance
=
Filter
.
RelevanceFilter
()
result
=
relevance
.
filter
([
todo
])
result
=
relevance
.
filter
([
todo
])
...
@@ -303,10 +303,10 @@ class OrdinalTagFilterTest(unittest.TestCase):
...
@@ -303,10 +303,10 @@ class OrdinalTagFilterTest(unittest.TestCase):
self
.
tomorrow
=
tomorrow
.
isoformat
()
self
.
tomorrow
=
tomorrow
.
isoformat
()
self
.
todos
=
[
self
.
todos
=
[
Todo
.
Todo
(
"Foo due:%s"
%
self
.
today
),
Todo
(
"Foo due:%s"
%
self
.
today
),
Todo
.
Todo
(
"Bar due:%s"
%
self
.
tomorrow
),
Todo
(
"Bar due:%s"
%
self
.
tomorrow
),
Todo
.
Todo
(
"Baz due:nonsense"
),
Todo
(
"Baz due:nonsense"
),
Todo
.
Todo
(
"Fnord due:2014-10-32"
)
Todo
(
"Fnord due:2014-10-32"
)
]
]
def
test_filter1
(
self
):
def
test_filter1
(
self
):
...
...
test/GraphTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
import
Graph
from
topydo.lib.Graph
import
Directed
Graph
class
GraphTest
(
unittest
.
TestCase
):
class
GraphTest
(
unittest
.
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
graph
=
Graph
.
DirectedGraph
()
self
.
graph
=
DirectedGraph
()
self
.
graph
.
add_edge
(
1
,
2
,
1
)
self
.
graph
.
add_edge
(
1
,
2
,
1
)
self
.
graph
.
add_edge
(
2
,
4
,
"Test"
)
self
.
graph
.
add_edge
(
2
,
4
,
"Test"
)
...
...
test/ImportanceTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
datetime
import
date
from
datetime
import
date
import
unittest
import
unittest
from
Config
import
config
from
topydo.lib.
Config
import
config
from
Importance
import
importance
from
topydo.lib.
Importance
import
importance
import
Todo
from
topydo.lib.Todo
import
Todo
class
ImportanceTest
(
unittest
.
TestCase
):
class
ImportanceTest
(
unittest
.
TestCase
):
def
test_importance1
(
self
):
def
test_importance1
(
self
):
todo
=
Todo
.
Todo
(
"Foo"
)
todo
=
Todo
(
"Foo"
)
self
.
assertEqual
(
importance
(
todo
),
2
)
self
.
assertEqual
(
importance
(
todo
),
2
)
def
test_importance2
(
self
):
def
test_importance2
(
self
):
todo
=
Todo
.
Todo
(
"(A) Foo"
)
todo
=
Todo
(
"(A) Foo"
)
self
.
assertEqual
(
importance
(
todo
),
5
)
self
.
assertEqual
(
importance
(
todo
),
5
)
def
test_importance3
(
self
):
def
test_importance3
(
self
):
todo
=
Todo
.
Todo
(
"(A) Foo "
+
config
().
tag_star
()
+
":1"
)
todo
=
Todo
(
"(A) Foo "
+
config
().
tag_star
()
+
":1"
)
self
.
assertEqual
(
importance
(
todo
),
6
)
self
.
assertEqual
(
importance
(
todo
),
6
)
def
test_importance4
(
self
):
def
test_importance4
(
self
):
today_str
=
date
.
today
().
isoformat
()
today_str
=
date
.
today
().
isoformat
()
todo
=
Todo
.
Todo
(
"(C) Foo "
+
config
().
tag_due
()
+
":"
+
today_str
)
todo
=
Todo
(
"(C) Foo "
+
config
().
tag_due
()
+
":"
+
today_str
)
self
.
assertEqual
(
importance
(
todo
),
8
)
self
.
assertEqual
(
importance
(
todo
),
8
)
test/ListCommandTest.py
View file @
c6015996
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
Config
import
config
from
topydo.lib.
Config
import
config
import
CommandTest
import
CommandTest
import
ListCommand
from
topydo.lib.ListCommand
import
ListCommand
import
TestFacilities
import
TestFacilities
class
ListCommandTest
(
CommandTest
.
CommandTest
):
class
ListCommandTest
(
CommandTest
.
CommandTest
):
...
@@ -28,7 +28,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -28,7 +28,7 @@ class ListCommandTest(CommandTest.CommandTest):
config
(
""
)
config
(
""
)
def
test_list1
(
self
):
def
test_list1
(
self
):
command
=
ListCommand
.
ListCommand
([
""
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
""
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -36,7 +36,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -36,7 +36,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list3
(
self
):
def
test_list3
(
self
):
command
=
ListCommand
.
ListCommand
([
"Context1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"Context1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -44,7 +44,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -44,7 +44,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list4
(
self
):
def
test_list4
(
self
):
command
=
ListCommand
.
ListCommand
([
"-x"
,
"Context1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"-x"
,
"Context1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -52,7 +52,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -52,7 +52,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list5
(
self
):
def
test_list5
(
self
):
command
=
ListCommand
.
ListCommand
([
"-x"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"-x"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -60,7 +60,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -60,7 +60,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list6
(
self
):
def
test_list6
(
self
):
command
=
ListCommand
.
ListCommand
([
"Project3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"Project3"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -68,7 +68,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -68,7 +68,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list7
(
self
):
def
test_list7
(
self
):
command
=
ListCommand
.
ListCommand
([
"-s"
,
"text"
,
"-x"
,
"Project1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"-s"
,
"text"
,
"-x"
,
"Project1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -76,7 +76,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -76,7 +76,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list8
(
self
):
def
test_list8
(
self
):
command
=
ListCommand
.
ListCommand
([
"--"
,
"-project1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"--"
,
"-project1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -84,7 +84,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -84,7 +84,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list9
(
self
):
def
test_list9
(
self
):
command
=
ListCommand
.
ListCommand
([
"--"
,
"-project1"
,
"-Drink"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"--"
,
"-project1"
,
"-Drink"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -92,7 +92,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -92,7 +92,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list10
(
self
):
def
test_list10
(
self
):
command
=
ListCommand
.
ListCommand
([
"text1"
,
"2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"text1"
,
"2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -102,7 +102,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -102,7 +102,7 @@ class ListCommandTest(CommandTest.CommandTest):
def
test_list11
(
self
):
def
test_list11
(
self
):
config
(
"data/listcommand.conf"
)
config
(
"data/listcommand.conf"
)
command
=
ListCommand
.
ListCommand
([
"project"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"project"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -112,7 +112,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -112,7 +112,7 @@ class ListCommandTest(CommandTest.CommandTest):
def
test_list12
(
self
):
def
test_list12
(
self
):
config
(
"data/listcommand.conf"
)
config
(
"data/listcommand.conf"
)
command
=
ListCommand
.
ListCommand
([
"-x"
,
"project"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"-x"
,
"project"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -120,7 +120,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -120,7 +120,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list13
(
self
):
def
test_list13
(
self
):
command
=
ListCommand
.
ListCommand
([
"-x"
,
"--"
,
"-@Context1 +Project2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"-x"
,
"--"
,
"-@Context1 +Project2"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -130,7 +130,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -130,7 +130,7 @@ class ListCommandTest(CommandTest.CommandTest):
def
test_list14
(
self
):
def
test_list14
(
self
):
config
(
"data/listcommand2.conf"
)
config
(
"data/listcommand2.conf"
)
command
=
ListCommand
.
ListCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -138,7 +138,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -138,7 +138,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_list15
(
self
):
def
test_list15
(
self
):
command
=
ListCommand
.
ListCommand
([
"p:<10"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"p:<10"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -146,7 +146,7 @@ class ListCommandTest(CommandTest.CommandTest):
...
@@ -146,7 +146,7 @@ class ListCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
ListCommand
.
ListCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
ListCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/ListContextCommandTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
CommandTest
import
CommandTest
import
TestFacilities
import
TestFacilities
import
ListContextCommand
from
topydo.lib.ListContextCommand
import
ListContextCommand
class
ListContextCommandTest
(
CommandTest
.
CommandTest
):
class
ListContextCommandTest
(
CommandTest
.
CommandTest
):
def
test_contexts1
(
self
):
def
test_contexts1
(
self
):
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/TodoListTest.txt"
)
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/TodoListTest.txt"
)
command
=
ListContextCommand
.
ListContextCommand
([
""
],
todolist
,
self
.
out
,
self
.
error
)
command
=
ListContextCommand
([
""
],
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
"Context1
\
n
Context2
\
n
"
)
self
.
assertEquals
(
self
.
output
,
"Context1
\
n
Context2
\
n
"
)
...
@@ -29,14 +29,14 @@ class ListContextCommandTest(CommandTest.CommandTest):
...
@@ -29,14 +29,14 @@ class ListContextCommandTest(CommandTest.CommandTest):
def
test_contexts2
(
self
):
def
test_contexts2
(
self
):
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/TodoListTest.txt"
)
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/TodoListTest.txt"
)
command
=
ListContextCommand
.
ListContextCommand
([
"aaa"
],
todolist
,
self
.
out
,
self
.
error
)
command
=
ListContextCommand
([
"aaa"
],
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
"Context1
\
n
Context2
\
n
"
)
self
.
assertEquals
(
self
.
output
,
"Context1
\
n
Context2
\
n
"
)
self
.
assertFalse
(
self
.
errors
)
self
.
assertFalse
(
self
.
errors
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
ListContextCommand
.
ListContextCommand
([
"help"
],
None
,
self
.
out
,
self
.
error
)
command
=
ListContextCommand
([
"help"
],
None
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/ListProjectCommandTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
CommandTest
import
CommandTest
import
TestFacilities
import
TestFacilities
import
ListProjectCommand
from
topydo.lib.ListProjectCommand
import
ListProjectCommand
class
ListProjectCommandTest
(
CommandTest
.
CommandTest
):
class
ListProjectCommandTest
(
CommandTest
.
CommandTest
):
def
test_projects1
(
self
):
def
test_projects1
(
self
):
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/TodoListTest.txt"
)
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/TodoListTest.txt"
)
command
=
ListProjectCommand
.
ListProjectCommand
([
""
],
todolist
,
self
.
out
,
self
.
error
)
command
=
ListProjectCommand
([
""
],
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
"Project1
\
n
Project2
\
n
"
)
self
.
assertEquals
(
self
.
output
,
"Project1
\
n
Project2
\
n
"
)
...
@@ -29,14 +29,14 @@ class ListProjectCommandTest(CommandTest.CommandTest):
...
@@ -29,14 +29,14 @@ class ListProjectCommandTest(CommandTest.CommandTest):
def
test_projects2
(
self
):
def
test_projects2
(
self
):
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/TodoListTest.txt"
)
todolist
=
TestFacilities
.
load_file_to_todolist
(
"data/TodoListTest.txt"
)
command
=
ListProjectCommand
.
ListProjectCommand
([
"aaa"
],
todolist
,
self
.
out
,
self
.
error
)
command
=
ListProjectCommand
([
"aaa"
],
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
"Project1
\
n
Project2
\
n
"
)
self
.
assertEquals
(
self
.
output
,
"Project1
\
n
Project2
\
n
"
)
self
.
assertFalse
(
self
.
errors
)
self
.
assertFalse
(
self
.
errors
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
ListProjectCommand
.
ListProjectCommand
([
"help"
],
None
,
self
.
out
,
self
.
error
)
command
=
ListProjectCommand
([
"help"
],
None
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/PostponeCommandTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
datetime
import
date
,
timedelta
from
datetime
import
date
,
timedelta
import
CommandTest
import
CommandTest
import
PostponeCommand
from
topydo.lib.PostponeCommand
import
PostponeCommand
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
PostponeCommandTest
(
CommandTest
.
CommandTest
):
class
PostponeCommandTest
(
CommandTest
.
CommandTest
):
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -36,10 +36,10 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -36,10 +36,10 @@ class PostponeCommandTest(CommandTest.CommandTest):
"Future due:%s t:%s"
%
(
self
.
future
.
isoformat
(),
self
.
future_start
.
isoformat
()),
"Future due:%s t:%s"
%
(
self
.
future
.
isoformat
(),
self
.
future_start
.
isoformat
()),
]
]
self
.
todolist
=
TodoList
.
TodoList
(
todos
)
self
.
todolist
=
TodoList
(
todos
)
def
test_postpone1
(
self
):
def
test_postpone1
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"1"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"1"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
today
+
timedelta
(
7
)
due
=
self
.
today
+
timedelta
(
7
)
...
@@ -49,7 +49,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -49,7 +49,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_postpone2
(
self
):
def
test_postpone2
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"2"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"2"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
today
+
timedelta
(
7
)
due
=
self
.
today
+
timedelta
(
7
)
...
@@ -59,7 +59,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -59,7 +59,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_postpone3
(
self
):
def
test_postpone3
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"-s"
,
"2"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"-s"
,
"2"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
today
+
timedelta
(
7
)
due
=
self
.
today
+
timedelta
(
7
)
...
@@ -69,7 +69,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -69,7 +69,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_postpone4
(
self
):
def
test_postpone4
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"3"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"3"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
today
+
timedelta
(
7
)
due
=
self
.
today
+
timedelta
(
7
)
...
@@ -79,7 +79,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -79,7 +79,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_postpone5
(
self
):
def
test_postpone5
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"-s"
,
"3"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"-s"
,
"3"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
today
+
timedelta
(
7
)
due
=
self
.
today
+
timedelta
(
7
)
...
@@ -90,7 +90,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -90,7 +90,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_postpone6
(
self
):
def
test_postpone6
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"4"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"4"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
today
+
timedelta
(
7
)
due
=
self
.
today
+
timedelta
(
7
)
...
@@ -100,7 +100,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -100,7 +100,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_postpone7
(
self
):
def
test_postpone7
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"5"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"5"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
future
+
timedelta
(
7
)
due
=
self
.
future
+
timedelta
(
7
)
...
@@ -110,7 +110,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -110,7 +110,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_postpone8
(
self
):
def
test_postpone8
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"-s"
,
"5"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"-s"
,
"5"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
future
+
timedelta
(
7
)
due
=
self
.
future
+
timedelta
(
7
)
...
@@ -121,7 +121,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -121,7 +121,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_postpone9
(
self
):
def
test_postpone9
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"1"
,
"foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"1"
,
"foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -129,7 +129,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -129,7 +129,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid date pattern given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid date pattern given.
\
n
"
)
def
test_postpone10
(
self
):
def
test_postpone10
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"99"
,
"foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"99"
,
"foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -137,7 +137,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -137,7 +137,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_postpone11
(
self
):
def
test_postpone11
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"A"
,
"foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"A"
,
"foo"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -145,7 +145,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -145,7 +145,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_postpone12
(
self
):
def
test_postpone12
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -153,7 +153,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -153,7 +153,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_postpone13
(
self
):
def
test_postpone13
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"Foo"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"Foo"
,
"1w"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
due
=
self
.
today
+
timedelta
(
7
)
due
=
self
.
today
+
timedelta
(
7
)
...
@@ -163,7 +163,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
...
@@ -163,7 +163,7 @@ class PostponeCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
PostponeCommand
.
PostponeCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PostponeCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/PriorityCommandTest.py
View file @
c6015996
...
@@ -15,8 +15,8 @@
...
@@ -15,8 +15,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
CommandTest
import
CommandTest
import
PriorityCommand
from
topydo.lib.PriorityCommand
import
PriorityCommand
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
PriorityCommandTest
(
CommandTest
.
CommandTest
):
class
PriorityCommandTest
(
CommandTest
.
CommandTest
):
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -25,10 +25,10 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -25,10 +25,10 @@ class PriorityCommandTest(CommandTest.CommandTest):
"Bar"
,
"Bar"
,
]
]
self
.
todolist
=
TodoList
.
TodoList
(
todos
)
self
.
todolist
=
TodoList
(
todos
)
def
test_set_prio1
(
self
):
def
test_set_prio1
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"1"
,
"B"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"1"
,
"B"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -36,7 +36,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -36,7 +36,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_prio2
(
self
):
def
test_set_prio2
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"2"
,
"Z"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"2"
,
"Z"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -44,7 +44,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -44,7 +44,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_prio3
(
self
):
def
test_set_prio3
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"Foo"
,
"B"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"Foo"
,
"B"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -52,7 +52,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -52,7 +52,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_prio4
(
self
):
def
test_set_prio4
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"1"
,
"A"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"1"
,
"A"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -60,7 +60,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -60,7 +60,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_invalid1
(
self
):
def
test_invalid1
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"99"
,
"A"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"99"
,
"A"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -68,7 +68,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -68,7 +68,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number given.
\
n
"
)
def
test_invalid2
(
self
):
def
test_invalid2
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"1"
,
"ZZ"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"1"
,
"ZZ"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -76,7 +76,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -76,7 +76,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid priority given.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid priority given.
\
n
"
)
def
test_invalid3
(
self
):
def
test_invalid3
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"A"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"A"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -84,7 +84,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -84,7 +84,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_invalid4
(
self
):
def
test_invalid4
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"1"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -92,7 +92,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -92,7 +92,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_empty
(
self
):
def
test_empty
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -100,7 +100,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
...
@@ -100,7 +100,7 @@ class PriorityCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
command
.
usage
()
+
"
\
n
"
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
PriorityCommand
.
PriorityCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
PriorityCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/RecurrenceTest.py
View file @
c6015996
...
@@ -10,20 +10,20 @@
...
@@ -10,20 +10,20 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
datetime
import
date
,
timedelta
from
datetime
import
date
,
timedelta
import
unittest
import
unittest
from
Config
import
config
from
topydo.lib.
Config
import
config
from
Recurrence
import
advance_recurring_todo
,
strict_advance_recurring_todo
,
NoRecurrenceException
from
topydo.lib.
Recurrence
import
advance_recurring_todo
,
strict_advance_recurring_todo
,
NoRecurrenceException
import
Todo
from
topydo.lib.Todo
import
Todo
class
RecurrenceTest
(
unittest
.
TestCase
):
class
RecurrenceTest
(
unittest
.
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
todo
=
Todo
.
Todo
(
"Test rec:1w"
)
self
.
todo
=
Todo
(
"Test rec:1w"
)
def
test_duedate1
(
self
):
def
test_duedate1
(
self
):
""" Where due date is in the future. """
""" Where due date is in the future. """
...
...
test/RelativeDateTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
datetime
import
date
,
timedelta
from
datetime
import
date
,
timedelta
import
unittest
import
unittest
import
RelativeD
ate
from
topydo.lib.RelativeDate
import
relative_date_to_d
ate
class
RelativeDateTester
(
unittest
.
TestCase
):
class
RelativeDateTester
(
unittest
.
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -29,82 +29,82 @@ class RelativeDateTester(unittest.TestCase):
...
@@ -29,82 +29,82 @@ class RelativeDateTester(unittest.TestCase):
self
.
monday
+=
timedelta
(
7
-
self
.
today
.
weekday
()
%
7
)
self
.
monday
+=
timedelta
(
7
-
self
.
today
.
weekday
()
%
7
)
def
test_zero_days
(
self
):
def
test_zero_days
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'0d'
)
result
=
relative_date_to_date
(
'0d'
)
self
.
assertEquals
(
result
,
self
.
today
)
self
.
assertEquals
(
result
,
self
.
today
)
def
test_one_day
(
self
):
def
test_one_day
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'1d'
)
result
=
relative_date_to_date
(
'1d'
)
self
.
assertEquals
(
result
,
self
.
tomorrow
)
self
.
assertEquals
(
result
,
self
.
tomorrow
)
def
test_one_week
(
self
):
def
test_one_week
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'1w'
)
result
=
relative_date_to_date
(
'1w'
)
self
.
assertEquals
(
result
,
date
.
today
()
+
timedelta
(
weeks
=
1
))
self
.
assertEquals
(
result
,
date
.
today
()
+
timedelta
(
weeks
=
1
))
def
test_one_month
(
self
):
def
test_one_month
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'1m'
)
result
=
relative_date_to_date
(
'1m'
)
self
.
assertEquals
(
result
,
date
.
today
()
+
timedelta
(
30
))
self
.
assertEquals
(
result
,
date
.
today
()
+
timedelta
(
30
))
def
test_one_year
(
self
):
def
test_one_year
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'1y'
)
result
=
relative_date_to_date
(
'1y'
)
self
.
assertEquals
(
result
,
date
.
today
()
+
timedelta
(
365
))
self
.
assertEquals
(
result
,
date
.
today
()
+
timedelta
(
365
))
def
test_zero_months
(
self
):
def
test_zero_months
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'0m'
)
result
=
relative_date_to_date
(
'0m'
)
self
.
assertEquals
(
result
,
self
.
today
)
self
.
assertEquals
(
result
,
self
.
today
)
def
test_zero_years
(
self
):
def
test_zero_years
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'0y'
)
result
=
relative_date_to_date
(
'0y'
)
self
.
assertEquals
(
result
,
self
.
today
)
self
.
assertEquals
(
result
,
self
.
today
)
def
test_garbage1
(
self
):
def
test_garbage1
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'0dd'
)
result
=
relative_date_to_date
(
'0dd'
)
self
.
assertFalse
(
result
)
self
.
assertFalse
(
result
)
def
test_garbage2
(
self
):
def
test_garbage2
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'-0d'
)
result
=
relative_date_to_date
(
'-0d'
)
self
.
assertFalse
(
result
)
self
.
assertFalse
(
result
)
def
test_one_day_capital
(
self
):
def
test_one_day_capital
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'1D'
)
result
=
relative_date_to_date
(
'1D'
)
self
.
assertEquals
(
result
,
self
.
tomorrow
)
self
.
assertEquals
(
result
,
self
.
tomorrow
)
def
test_today1
(
self
):
def
test_today1
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'today'
)
result
=
relative_date_to_date
(
'today'
)
self
.
assertEquals
(
result
,
self
.
today
)
self
.
assertEquals
(
result
,
self
.
today
)
def
test_today2
(
self
):
def
test_today2
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'tod'
)
result
=
relative_date_to_date
(
'tod'
)
self
.
assertEquals
(
result
,
self
.
today
)
self
.
assertEquals
(
result
,
self
.
today
)
def
test_today3
(
self
):
def
test_today3
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'today'
,
\
result
=
relative_date_to_date
(
'today'
,
\
date
.
today
()
+
timedelta
(
1
))
date
.
today
()
+
timedelta
(
1
))
self
.
assertEquals
(
result
,
self
.
today
)
self
.
assertEquals
(
result
,
self
.
today
)
def
test_tomorrow1
(
self
):
def
test_tomorrow1
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'Tomorrow'
)
result
=
relative_date_to_date
(
'Tomorrow'
)
self
.
assertEquals
(
result
,
self
.
tomorrow
)
self
.
assertEquals
(
result
,
self
.
tomorrow
)
def
test_tomorrow2
(
self
):
def
test_tomorrow2
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'tom'
)
result
=
relative_date_to_date
(
'tom'
)
self
.
assertEquals
(
result
,
self
.
tomorrow
)
self
.
assertEquals
(
result
,
self
.
tomorrow
)
def
test_monday1
(
self
):
def
test_monday1
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'monday'
)
result
=
relative_date_to_date
(
'monday'
)
self
.
assertEquals
(
result
,
self
.
monday
)
self
.
assertEquals
(
result
,
self
.
monday
)
def
test_monday2
(
self
):
def
test_monday2
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'mo'
)
result
=
relative_date_to_date
(
'mo'
)
self
.
assertEquals
(
result
,
self
.
monday
)
self
.
assertEquals
(
result
,
self
.
monday
)
def
test_monday3
(
self
):
def
test_monday3
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'mon'
)
result
=
relative_date_to_date
(
'mon'
)
self
.
assertEquals
(
result
,
self
.
monday
)
self
.
assertEquals
(
result
,
self
.
monday
)
def
test_monday4
(
self
):
def
test_monday4
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'mondayy'
)
result
=
relative_date_to_date
(
'mondayy'
)
self
.
assertFalse
(
result
)
self
.
assertFalse
(
result
)
def
test_offset1
(
self
):
def
test_offset1
(
self
):
result
=
RelativeDate
.
relative_date_to_date
(
'1d'
,
self
.
tomorrow
)
result
=
relative_date_to_date
(
'1d'
,
self
.
tomorrow
)
self
.
assertEquals
(
result
,
date
.
today
()
+
timedelta
(
2
))
self
.
assertEquals
(
result
,
date
.
today
()
+
timedelta
(
2
))
test/SortCommandTest.py
View file @
c6015996
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
CommandTest
import
CommandTest
import
SortCommand
from
topydo.lib.SortCommand
import
SortCommand
import
TestFacilities
import
TestFacilities
class
SortCommandTest
(
CommandTest
.
CommandTest
):
class
SortCommandTest
(
CommandTest
.
CommandTest
):
...
@@ -24,19 +24,19 @@ class SortCommandTest(CommandTest.CommandTest):
...
@@ -24,19 +24,19 @@ class SortCommandTest(CommandTest.CommandTest):
def
test_sort1
(
self
):
def
test_sort1
(
self
):
""" Alphabetically sorted """
""" Alphabetically sorted """
command
=
SortCommand
.
SortCommand
([
"text"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
SortCommand
([
"text"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
str
(
self
.
todolist
),
"First
\
n
(A) Foo
\
n
2014-06-14 Last"
)
self
.
assertEquals
(
str
(
self
.
todolist
),
"First
\
n
(A) Foo
\
n
2014-06-14 Last"
)
def
test_sort2
(
self
):
def
test_sort2
(
self
):
command
=
SortCommand
.
SortCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
SortCommand
([],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
str
(
self
.
todolist
),
"(A) Foo
\
n
2014-06-14 Last
\
n
First"
)
self
.
assertEquals
(
str
(
self
.
todolist
),
"(A) Foo
\
n
2014-06-14 Last
\
n
First"
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
SortCommand
.
SortCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
SortCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/SorterTest.py
View file @
c6015996
...
@@ -16,8 +16,8 @@
...
@@ -16,8 +16,8 @@
import
unittest
import
unittest
from
Config
import
config
from
topydo.lib.
Config
import
config
import
Sorter
from
topydo.lib.Sorter
import
Sorter
from
TestFacilities
import
load_file
,
todolist_to_string
,
load_file_to_todolist
from
TestFacilities
import
load_file
,
todolist_to_string
,
load_file_to_todolist
...
@@ -37,21 +37,21 @@ class SorterTest(unittest.TestCase):
...
@@ -37,21 +37,21 @@ class SorterTest(unittest.TestCase):
def
test_sort1
(
self
):
def
test_sort1
(
self
):
""" Alphabetically sorted """
""" Alphabetically sorted """
sorter
=
Sorter
.
Sorter
(
'text'
)
sorter
=
Sorter
(
'text'
)
self
.
sort_file
(
'data/SorterTest1.txt'
,
'data/SorterTest1-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest1.txt'
,
'data/SorterTest1-result.txt'
,
sorter
)
def
test_sort2a
(
self
):
def
test_sort2a
(
self
):
"""
"""
Ascendingly sorted by priority. Also checks stableness of the sort.
Ascendingly sorted by priority. Also checks stableness of the sort.
"""
"""
sorter
=
Sorter
.
Sorter
(
'prio'
)
sorter
=
Sorter
(
'prio'
)
self
.
sort_file
(
'data/SorterTest2.txt'
,
'data/SorterTest2-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest2.txt'
,
'data/SorterTest2-result.txt'
,
sorter
)
def
test_sort2b
(
self
):
def
test_sort2b
(
self
):
"""
"""
Ascendingly sorted by priority. Also checks stableness of the sort.
Ascendingly sorted by priority. Also checks stableness of the sort.
"""
"""
sorter
=
Sorter
.
Sorter
(
'asc:prio'
)
sorter
=
Sorter
(
'asc:prio'
)
self
.
sort_file
(
'data/SorterTest2.txt'
,
'data/SorterTest2-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest2.txt'
,
'data/SorterTest2-result.txt'
,
sorter
)
def
test_sort3
(
self
):
def
test_sort3
(
self
):
...
@@ -59,32 +59,32 @@ class SorterTest(unittest.TestCase):
...
@@ -59,32 +59,32 @@ class SorterTest(unittest.TestCase):
Descendingly sorted by priority. Also checks stableness of the
Descendingly sorted by priority. Also checks stableness of the
sort.
sort.
"""
"""
sorter
=
Sorter
.
Sorter
(
'desc:prio'
)
sorter
=
Sorter
(
'desc:prio'
)
self
.
sort_file
(
'data/SorterTest3.txt'
,
'data/SorterTest3-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest3.txt'
,
'data/SorterTest3-result.txt'
,
sorter
)
def
test_sort4
(
self
):
def
test_sort4
(
self
):
""" Ascendingly sorted by due date """
""" Ascendingly sorted by due date """
sorter
=
Sorter
.
Sorter
(
config
().
tag_due
())
sorter
=
Sorter
(
config
().
tag_due
())
self
.
sort_file
(
'data/SorterTest4.txt'
,
'data/SorterTest4-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest4.txt'
,
'data/SorterTest4-result.txt'
,
sorter
)
def
test_sort5
(
self
):
def
test_sort5
(
self
):
""" Descendingly sorted by due date """
""" Descendingly sorted by due date """
sorter
=
Sorter
.
Sorter
(
'desc:due'
)
sorter
=
Sorter
(
'desc:due'
)
self
.
sort_file
(
'data/SorterTest5.txt'
,
'data/SorterTest5-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest5.txt'
,
'data/SorterTest5-result.txt'
,
sorter
)
def
test_sort6
(
self
):
def
test_sort6
(
self
):
""" Ascendingly sorted by creation date """
""" Ascendingly sorted by creation date """
sorter
=
Sorter
.
Sorter
(
'creation'
)
sorter
=
Sorter
(
'creation'
)
self
.
sort_file
(
'data/SorterTest6.txt'
,
'data/SorterTest6-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest6.txt'
,
'data/SorterTest6-result.txt'
,
sorter
)
def
test_sort7
(
self
):
def
test_sort7
(
self
):
""" Ascendingly sorted by completion date. """
""" Ascendingly sorted by completion date. """
sorter
=
Sorter
.
Sorter
(
'completion'
)
sorter
=
Sorter
(
'completion'
)
self
.
sort_file
(
'data/SorterTest7.txt'
,
'data/SorterTest7-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest7.txt'
,
'data/SorterTest7-result.txt'
,
sorter
)
def
test_sort8
(
self
):
def
test_sort8
(
self
):
""" Descendingly sorted by importance """
""" Descendingly sorted by importance """
sorter
=
Sorter
.
Sorter
(
'desc:importance'
)
sorter
=
Sorter
(
'desc:importance'
)
self
.
sort_file
(
'data/SorterTest8.txt'
,
'data/SorterTest8-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest8.txt'
,
'data/SorterTest8-result.txt'
,
sorter
)
def
test_sort9
(
self
):
def
test_sort9
(
self
):
...
@@ -92,22 +92,22 @@ class SorterTest(unittest.TestCase):
...
@@ -92,22 +92,22 @@ class SorterTest(unittest.TestCase):
Sort on multiple levels: first descending importance, then
Sort on multiple levels: first descending importance, then
ascending priority.
ascending priority.
"""
"""
sorter
=
Sorter
.
Sorter
(
'desc:importance,priority'
)
sorter
=
Sorter
(
'desc:importance,priority'
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9-result.txt'
,
sorter
)
def
test_sort10
(
self
):
def
test_sort10
(
self
):
""" Deal with garbage input. """
""" Deal with garbage input. """
sorter
=
Sorter
.
Sorter
(
''
)
sorter
=
Sorter
(
''
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9.txt'
,
sorter
)
def
test_sort11
(
self
):
def
test_sort11
(
self
):
""" Deal with garbage input. """
""" Deal with garbage input. """
sorter
=
Sorter
.
Sorter
(
'fnord'
)
sorter
=
Sorter
(
'fnord'
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9.txt'
,
sorter
)
def
test_sort12
(
self
):
def
test_sort12
(
self
):
""" Deal with garbage input. """
""" Deal with garbage input. """
sorter
=
Sorter
.
Sorter
(
'desc:importance,,priority'
)
sorter
=
Sorter
(
'desc:importance,,priority'
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9-result.txt'
,
sorter
)
def
test_sort13
(
self
):
def
test_sort13
(
self
):
...
@@ -117,11 +117,11 @@ class SorterTest(unittest.TestCase):
...
@@ -117,11 +117,11 @@ class SorterTest(unittest.TestCase):
Reusing input and output for normal importance test, since without
Reusing input and output for normal importance test, since without
dependencies the average importance should be equal.
dependencies the average importance should be equal.
"""
"""
sorter
=
Sorter
.
Sorter
(
'desc:importance-avg'
)
sorter
=
Sorter
(
'desc:importance-avg'
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9-result.txt'
,
sorter
)
self
.
sort_file
(
'data/SorterTest9.txt'
,
'data/SorterTest9-result.txt'
,
sorter
)
def
test_sort14
(
self
):
def
test_sort14
(
self
):
sorter
=
Sorter
.
Sorter
(
'desc:importance-average'
)
sorter
=
Sorter
(
'desc:importance-average'
)
todolist
=
load_file_to_todolist
(
'data/SorterTest10.txt'
)
todolist
=
load_file_to_todolist
(
'data/SorterTest10.txt'
)
view
=
todolist
.
view
(
sorter
,
[])
view
=
todolist
.
view
(
sorter
,
[])
...
@@ -134,7 +134,7 @@ class SorterTest(unittest.TestCase):
...
@@ -134,7 +134,7 @@ class SorterTest(unittest.TestCase):
Test that own importance is used when average turns out to be
Test that own importance is used when average turns out to be
lower.
lower.
"""
"""
sorter
=
Sorter
.
Sorter
(
'desc:importance-average'
)
sorter
=
Sorter
(
'desc:importance-average'
)
todolist
=
load_file_to_todolist
(
'data/SorterTest11.txt'
)
todolist
=
load_file_to_todolist
(
'data/SorterTest11.txt'
)
view
=
todolist
.
view
(
sorter
,
[])
view
=
todolist
.
view
(
sorter
,
[])
...
@@ -146,7 +146,7 @@ class SorterTest(unittest.TestCase):
...
@@ -146,7 +146,7 @@ class SorterTest(unittest.TestCase):
"""
"""
Check sort of low priority tasks (D or lower) with non-priority tasks.
Check sort of low priority tasks (D or lower) with non-priority tasks.
"""
"""
sorter
=
Sorter
.
Sorter
(
'desc:importance,desc:prio'
)
sorter
=
Sorter
(
'desc:importance,desc:prio'
)
todolist
=
load_file_to_todolist
(
'data/SorterTest12.txt'
)
todolist
=
load_file_to_todolist
(
'data/SorterTest12.txt'
)
view
=
todolist
.
view
(
sorter
,
[])
view
=
todolist
.
view
(
sorter
,
[])
...
...
test/TagCommandTest.py
View file @
c6015996
...
@@ -15,8 +15,8 @@
...
@@ -15,8 +15,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
CommandTest
import
CommandTest
import
TagCommand
from
topydo.lib.TagCommand
import
TagCommand
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
TagCommandTest
(
CommandTest
.
CommandTest
):
class
TagCommandTest
(
CommandTest
.
CommandTest
):
def
setUp
(
self
):
def
setUp
(
self
):
...
@@ -27,10 +27,10 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -27,10 +27,10 @@ class TagCommandTest(CommandTest.CommandTest):
"Fnord due:2014-10-20 due:2014-10-22"
,
"Fnord due:2014-10-20 due:2014-10-22"
,
]
]
self
.
todolist
=
TodoList
.
TodoList
(
todos
)
self
.
todolist
=
TodoList
(
todos
)
def
test_add_tag1
(
self
):
def
test_add_tag1
(
self
):
command
=
TagCommand
.
TagCommand
([
"1"
,
"due"
,
"2014-10-22"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"1"
,
"due"
,
"2014-10-22"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
todolist
.
todo
(
1
).
source
(),
"Foo due:2014-10-22"
)
self
.
assertEquals
(
self
.
todolist
.
todo
(
1
).
source
(),
"Foo due:2014-10-22"
)
...
@@ -39,7 +39,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -39,7 +39,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
def
test_add_tag2
(
self
):
def
test_add_tag2
(
self
):
command
=
TagCommand
.
TagCommand
([
"Foo"
,
"due"
,
"2014-10-22"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"Foo"
,
"due"
,
"2014-10-22"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
todolist
.
todo
(
1
).
source
(),
"Foo due:2014-10-22"
)
self
.
assertEquals
(
self
.
todolist
.
todo
(
1
).
source
(),
"Foo due:2014-10-22"
)
...
@@ -48,7 +48,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -48,7 +48,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
def
test_add_tag3
(
self
):
def
test_add_tag3
(
self
):
command
=
TagCommand
.
TagCommand
([
"-a"
,
"2"
,
"due"
,
"2014-10-19"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"-a"
,
"2"
,
"due"
,
"2014-10-19"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
todolist
.
todo
(
2
).
source
(),
"Bar due:2014-10-22 due:2014-10-19"
)
self
.
assertEquals
(
self
.
todolist
.
todo
(
2
).
source
(),
"Bar due:2014-10-22 due:2014-10-19"
)
...
@@ -57,7 +57,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -57,7 +57,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
def
test_add_tag4
(
self
):
def
test_add_tag4
(
self
):
command
=
TagCommand
.
TagCommand
([
"Foox"
,
"due"
,
"2014-10-22"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"Foox"
,
"due"
,
"2014-10-22"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -65,7 +65,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -65,7 +65,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number.
\
n
"
)
def
test_set_tag4
(
self
):
def
test_set_tag4
(
self
):
command
=
TagCommand
.
TagCommand
([
"3"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"3"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -73,7 +73,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -73,7 +73,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_tag5
(
self
):
def
test_set_tag5
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"all"
)
command
=
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"all"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -81,7 +81,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -81,7 +81,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_tag6
(
self
):
def
test_set_tag6
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"1"
)
command
=
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"1"
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -89,7 +89,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -89,7 +89,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_tag7
(
self
):
def
test_set_tag7
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"2"
)
command
=
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"2"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -97,7 +97,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -97,7 +97,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_tag8
(
self
):
def
test_set_tag8
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
""
)
command
=
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
""
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -105,7 +105,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -105,7 +105,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_tag9
(
self
):
def
test_set_tag9
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"99"
)
command
=
TagCommand
([
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"99"
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -113,7 +113,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -113,7 +113,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_set_tag10
(
self
):
def
test_set_tag10
(
self
):
command
=
TagCommand
.
TagCommand
([
"-f"
,
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"99"
)
command
=
TagCommand
([
"-f"
,
"4"
,
"due"
,
"2014-10-20"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"99"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -121,7 +121,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -121,7 +121,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_rm_tag1
(
self
):
def
test_rm_tag1
(
self
):
command
=
TagCommand
.
TagCommand
([
"1"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"1"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -129,7 +129,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -129,7 +129,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_rm_tag2
(
self
):
def
test_rm_tag2
(
self
):
command
=
TagCommand
.
TagCommand
([
"2"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"2"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -137,7 +137,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -137,7 +137,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_rm_tag3
(
self
):
def
test_rm_tag3
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"all"
)
command
=
TagCommand
([
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"all"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -145,7 +145,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -145,7 +145,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_rm_tag4
(
self
):
def
test_rm_tag4
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"1"
)
command
=
TagCommand
([
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"1"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -153,7 +153,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -153,7 +153,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_rm_tag6
(
self
):
def
test_rm_tag6
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"99"
)
command
=
TagCommand
([
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"99"
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -161,7 +161,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -161,7 +161,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_rm_tag7
(
self
):
def
test_rm_tag7
(
self
):
command
=
TagCommand
.
TagCommand
([
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"A"
)
command
=
TagCommand
([
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"A"
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -169,7 +169,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -169,7 +169,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_rm_tag8
(
self
):
def
test_rm_tag8
(
self
):
command
=
TagCommand
.
TagCommand
([
"5"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"5"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -177,7 +177,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -177,7 +177,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number.
\
n
"
)
def
test_rm_tag9
(
self
):
def
test_rm_tag9
(
self
):
command
=
TagCommand
.
TagCommand
([
"A"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"A"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
self
.
assertFalse
(
self
.
todolist
.
is_dirty
())
...
@@ -185,7 +185,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -185,7 +185,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number.
\
n
"
)
self
.
assertEquals
(
self
.
errors
,
"Invalid todo number.
\
n
"
)
def
test_rm_tag10
(
self
):
def
test_rm_tag10
(
self
):
command
=
TagCommand
.
TagCommand
([
"-f"
,
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"A"
)
command
=
TagCommand
([
"-f"
,
"4"
,
"due"
],
self
.
todolist
,
self
.
out
,
self
.
error
,
lambda
t
:
"A"
)
command
.
execute
()
command
.
execute
()
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
self
.
assertTrue
(
self
.
todolist
.
is_dirty
())
...
@@ -193,7 +193,7 @@ class TagCommandTest(CommandTest.CommandTest):
...
@@ -193,7 +193,7 @@ class TagCommandTest(CommandTest.CommandTest):
self
.
assertEquals
(
self
.
errors
,
""
)
self
.
assertEquals
(
self
.
errors
,
""
)
def
test_help
(
self
):
def
test_help
(
self
):
command
=
TagCommand
.
TagCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
=
TagCommand
([
"help"
],
self
.
todolist
,
self
.
out
,
self
.
error
)
command
.
execute
()
command
.
execute
()
self
.
assertEquals
(
self
.
output
,
""
)
self
.
assertEquals
(
self
.
output
,
""
)
...
...
test/TestFacilities.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
Todo
from
topydo.lib.Todo
import
Todo
import
TodoFile
from
topydo.lib.TodoFile
import
TodoFile
import
TodoList
from
topydo.lib.TodoList
import
TodoList
def
load_file
(
p_filename
):
def
load_file
(
p_filename
):
"""
"""
Loads a todo file from the given filename and returns a list of todos.
Loads a todo file from the given filename and returns a list of todos.
"""
"""
todolist
=
load_file_to_raw_list
(
p_filename
)
todolist
=
load_file_to_raw_list
(
p_filename
)
return
[
Todo
.
Todo
(
src
)
for
src
in
todolist
]
return
[
Todo
(
src
)
for
src
in
todolist
]
def
load_file_to_raw_list
(
p_filename
):
def
load_file_to_raw_list
(
p_filename
):
"""
"""
Loads a todo file from the given filename and returns a list of todo
Loads a todo file from the given filename and returns a list of todo
strings (unparsed).
strings (unparsed).
"""
"""
todofile
=
TodoFile
.
TodoFile
(
p_filename
)
todofile
=
TodoFile
(
p_filename
)
return
todofile
.
read
()
return
todofile
.
read
()
def
load_file_to_todolist
(
p_filename
):
def
load_file_to_todolist
(
p_filename
):
...
@@ -38,7 +38,7 @@ def load_file_to_todolist(p_filename):
...
@@ -38,7 +38,7 @@ def load_file_to_todolist(p_filename):
Loads a todo file to a TodoList instance.
Loads a todo file to a TodoList instance.
"""
"""
todolist
=
load_file_to_raw_list
(
p_filename
)
todolist
=
load_file_to_raw_list
(
p_filename
)
return
TodoList
.
TodoList
(
todolist
)
return
TodoList
(
todolist
)
def
todolist_to_string
(
p_list
):
def
todolist_to_string
(
p_list
):
""" Converts a todo list to a single string. """
""" Converts a todo list to a single string. """
...
...
test/TodoBaseTest.py
View file @
c6015996
This diff is collapsed.
Click to expand it.
test/TodoListTest.py
View file @
c6015996
...
@@ -19,18 +19,18 @@
...
@@ -19,18 +19,18 @@
import
re
import
re
import
unittest
import
unittest
import
Todo
from
topydo.lib.Todo
import
Todo
import
TodoFile
from
topydo.lib.TodoFile
import
TodoFile
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
TodoListTester
(
unittest
.
TestCase
):
class
TodoListTester
(
unittest
.
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
todofile
=
TodoFile
.
TodoFile
(
'data/TodoListTest.txt'
)
self
.
todofile
=
TodoFile
(
'data/TodoListTest.txt'
)
lines
=
[
line
for
line
in
self
.
todofile
.
read
()
\
lines
=
[
line
for
line
in
self
.
todofile
.
read
()
\
if
re
.
search
(
r'\
S
', line)]
if
re
.
search
(
r'\
S
', line)]
self.text = ''.join(lines)
self.text = ''.join(lines)
self.todolist = TodoList
.TodoList
(lines)
self.todolist = TodoList(lines)
def test_contexts(self):
def test_contexts(self):
self.assertEquals(set(['
Context1
', '
Context2
']),
\
self.assertEquals(set(['
Context1
', '
Context2
']),
\
...
@@ -146,15 +146,15 @@ class TodoListTester(unittest.TestCase):
...
@@ -146,15 +146,15 @@ class TodoListTester(unittest.TestCase):
self
.
assertFalse
(
self
.
todolist
.
todo_by_dep_id
(
'2'
))
self
.
assertFalse
(
self
.
todolist
.
todo_by_dep_id
(
'2'
))
def
test_todo_number1
(
self
):
def
test_todo_number1
(
self
):
todo
=
Todo
.
Todo
(
"No number"
)
todo
=
Todo
(
"No number"
)
self
.
todolist
.
add_todo
(
todo
)
self
.
todolist
.
add_todo
(
todo
)
todo
=
self
.
todolist
.
todo
(
6
)
todo
=
self
.
todolist
.
todo
(
6
)
self
.
assertIsInstance
(
todo
,
Todo
.
Todo
)
self
.
assertIsInstance
(
todo
,
Todo
)
self
.
assertEquals
(
todo
.
text
(),
"No number"
)
self
.
assertEquals
(
todo
.
text
(),
"No number"
)
def
test_todo_number2
(
self
):
def
test_todo_number2
(
self
):
todo
=
Todo
.
Todo
(
"Non-existent"
)
todo
=
Todo
(
"Non-existent"
)
self
.
assertRaises
(
InvalidTodoException
,
self
.
todolist
.
number
,
todo
)
self
.
assertRaises
(
InvalidTodoException
,
self
.
todolist
.
number
,
todo
)
def
test_todo_complete
(
self
):
def
test_todo_complete
(
self
):
...
@@ -193,7 +193,7 @@ class TodoListTester(unittest.TestCase):
...
@@ -193,7 +193,7 @@ class TodoListTester(unittest.TestCase):
class
TodoListDependencyTester
(
unittest
.
TestCase
):
class
TodoListDependencyTester
(
unittest
.
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
todolist
=
TodoList
.
TodoList
([])
self
.
todolist
=
TodoList
([])
self
.
todolist
.
add
(
"Foo id:1"
)
self
.
todolist
.
add
(
"Foo id:1"
)
self
.
todolist
.
add
(
"Bar p:1"
)
self
.
todolist
.
add
(
"Bar p:1"
)
self
.
todolist
.
add
(
"Baz p:1 id:2"
)
self
.
todolist
.
add
(
"Baz p:1 id:2"
)
...
@@ -290,7 +290,7 @@ class TodoListDependencyTester(unittest.TestCase):
...
@@ -290,7 +290,7 @@ class TodoListDependencyTester(unittest.TestCase):
class
TodoListCleanDependencyTester
(
unittest
.
TestCase
):
class
TodoListCleanDependencyTester
(
unittest
.
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
todolist
=
TodoList
.
TodoList
([])
self
.
todolist
=
TodoList
([])
self
.
todolist
.
add
(
"Bar p:1"
)
self
.
todolist
.
add
(
"Bar p:1"
)
self
.
todolist
.
add
(
"Baz p:1 id:2"
)
self
.
todolist
.
add
(
"Baz p:1 id:2"
)
self
.
todolist
.
add
(
"Buzz p:2"
)
self
.
todolist
.
add
(
"Buzz p:2"
)
...
...
test/TodoTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
datetime
import
date
,
timedelta
from
datetime
import
date
,
timedelta
import
unittest
import
unittest
import
Todo
from
topydo.lib.Todo
import
Todo
def
today_date
():
def
today_date
():
today
=
date
.
today
()
today
=
date
.
today
()
...
@@ -29,59 +29,59 @@ def tomorrow_date():
...
@@ -29,59 +29,59 @@ def tomorrow_date():
class
TodoTest
(
unittest
.
TestCase
):
class
TodoTest
(
unittest
.
TestCase
):
def
test_due_date1
(
self
):
def
test_due_date1
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo due:2014-06-09"
)
todo
=
Todo
(
"(C) Foo due:2014-06-09"
)
due
=
date
(
2014
,
6
,
9
)
due
=
date
(
2014
,
6
,
9
)
self
.
assertEqual
(
todo
.
due_date
(),
due
)
self
.
assertEqual
(
todo
.
due_date
(),
due
)
def
test_false_date
(
self
):
def
test_false_date
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo due:2014-04-31"
)
todo
=
Todo
(
"(C) Foo due:2014-04-31"
)
self
.
assertEqual
(
todo
.
due_date
(),
None
)
self
.
assertEqual
(
todo
.
due_date
(),
None
)
def
test_active1
(
self
):
def
test_active1
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo due:2014-01-01"
)
todo
=
Todo
(
"(C) Foo due:2014-01-01"
)
self
.
assertTrue
(
todo
.
is_active
())
self
.
assertTrue
(
todo
.
is_active
())
def
test_active2
(
self
):
def
test_active2
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo t:"
+
tomorrow_date
())
todo
=
Todo
(
"(C) Foo t:"
+
tomorrow_date
())
self
.
assertFalse
(
todo
.
is_active
())
self
.
assertFalse
(
todo
.
is_active
())
def
test_active3
(
self
):
def
test_active3
(
self
):
todo
=
Todo
.
Todo
(
"x 2014-06-09 Foo t:2014-01-01"
)
todo
=
Todo
(
"x 2014-06-09 Foo t:2014-01-01"
)
self
.
assertFalse
(
todo
.
is_active
())
self
.
assertFalse
(
todo
.
is_active
())
def
test_active4
(
self
):
def
test_active4
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo t:"
+
today_date
())
todo
=
Todo
(
"(C) Foo t:"
+
today_date
())
self
.
assertTrue
(
todo
.
is_active
())
self
.
assertTrue
(
todo
.
is_active
())
def
test_active5
(
self
):
def
test_active5
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo t:2014-02-29"
)
todo
=
Todo
(
"(C) Foo t:2014-02-29"
)
self
.
assertTrue
(
todo
.
is_active
())
self
.
assertTrue
(
todo
.
is_active
())
def
test_overdue1
(
self
):
def
test_overdue1
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo due:2014-01-01"
)
todo
=
Todo
(
"(C) Foo due:2014-01-01"
)
self
.
assertTrue
(
todo
.
is_overdue
())
self
.
assertTrue
(
todo
.
is_overdue
())
def
test_overdue2
(
self
):
def
test_overdue2
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo due:"
+
tomorrow_date
())
todo
=
Todo
(
"(C) Foo due:"
+
tomorrow_date
())
self
.
assertFalse
(
todo
.
is_overdue
())
self
.
assertFalse
(
todo
.
is_overdue
())
def
test_overdue3
(
self
):
def
test_overdue3
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo due:"
+
today_date
())
todo
=
Todo
(
"(C) Foo due:"
+
today_date
())
self
.
assertFalse
(
todo
.
is_overdue
())
self
.
assertFalse
(
todo
.
is_overdue
())
def
days_till_due
(
self
):
def
days_till_due
(
self
):
todo
=
Todo
.
Todo
(
"(C) due:"
+
tomorrow_date
())
todo
=
Todo
(
"(C) due:"
+
tomorrow_date
())
self
.
assertEqual
(
todo
.
days_till_due
(),
1
)
self
.
assertEqual
(
todo
.
days_till_due
(),
1
)
def
test_length1
(
self
):
def
test_length1
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo t:2014-01-01 due:2013-12-31"
)
todo
=
Todo
(
"(C) Foo t:2014-01-01 due:2013-12-31"
)
self
.
assertEqual
(
todo
.
length
(),
0
)
self
.
assertEqual
(
todo
.
length
(),
0
)
def
test_length2
(
self
):
def
test_length2
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo t:2014-01-01 due:2014-01-01"
)
todo
=
Todo
(
"(C) Foo t:2014-01-01 due:2014-01-01"
)
self
.
assertEqual
(
todo
.
length
(),
0
)
self
.
assertEqual
(
todo
.
length
(),
0
)
def
test_length3
(
self
):
def
test_length3
(
self
):
todo
=
Todo
.
Todo
(
"(C) Foo t:2014-01-01 due:2014-01-02"
)
todo
=
Todo
(
"(C) Foo t:2014-01-01 due:2014-01-02"
)
self
.
assertEqual
(
todo
.
length
(),
1
)
self
.
assertEqual
(
todo
.
length
(),
1
)
test/ViewTest.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
unittest
import
unittest
import
Filter
from
topydo.lib
import
Filter
import
Sorter
from
topydo.lib.Sorter
import
Sorter
from
TestFacilities
import
load_file
,
todolist_to_string
from
TestFacilities
import
load_file
,
todolist_to_string
import
TodoFile
from
topydo.lib.TodoFile
import
TodoFile
import
TodoList
from
topydo.lib.TodoList
import
TodoList
class
ViewTest
(
unittest
.
TestCase
):
class
ViewTest
(
unittest
.
TestCase
):
def
test_view
(
self
):
def
test_view
(
self
):
""" Check filters and printer for views. """
""" Check filters and printer for views. """
todofile
=
TodoFile
.
TodoFile
(
'data/FilterTest1.txt'
)
todofile
=
TodoFile
(
'data/FilterTest1.txt'
)
ref
=
load_file
(
'data/ViewTest1-result.txt'
)
ref
=
load_file
(
'data/ViewTest1-result.txt'
)
todolist
=
TodoList
.
TodoList
(
todofile
.
read
())
todolist
=
TodoList
(
todofile
.
read
())
sorter
=
Sorter
.
Sorter
(
'text'
)
sorter
=
Sorter
(
'text'
)
todofilter
=
Filter
.
GrepFilter
(
'+Project'
)
todofilter
=
Filter
.
GrepFilter
(
'+Project'
)
view
=
todolist
.
view
(
sorter
,
[
todofilter
])
view
=
todolist
.
view
(
sorter
,
[
todofilter
])
...
...
test/run.sh
View file @
c6015996
#!/bin/bash
#!/bin/bash
export
PYTHONPATH
=
..
/topydo/lib
export
PYTHONPATH
=
..
if
[
-n
"
$1
"
]
;
then
if
[
-n
"
$1
"
]
;
then
TESTS
=
$1
TESTS
=
$1
...
...
topydo/lib/AddCommand.py
View file @
c6015996
...
@@ -19,13 +19,13 @@
...
@@ -19,13 +19,13 @@
from
datetime
import
date
from
datetime
import
date
import
re
import
re
from
Config
import
config
from
topydo.lib.
Config
import
config
import
Command
from
topydo.lib.Command
import
Command
from
PrettyPrinter
import
pretty_print
from
topydo.lib.
PrettyPrinter
import
pretty_print
from
RelativeDate
import
relative_date_to_date
from
topydo.lib.
RelativeDate
import
relative_date_to_date
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
class
AddCommand
(
Command
.
Command
):
class
AddCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
p_out
=
lambda
a
:
None
,
p_out
=
lambda
a
:
None
,
p_err
=
lambda
a
:
None
,
p_err
=
lambda
a
:
None
,
...
...
topydo/lib/AppendCommand.py
View file @
c6015996
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
Command
import
Command
,
InvalidCommandArgument
from
topydo.lib.
Command
import
Command
,
InvalidCommandArgument
from
PrettyPrinter
import
pretty_print
from
topydo.lib.
PrettyPrinter
import
pretty_print
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
class
AppendCommand
(
Command
):
class
AppendCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
...
topydo/lib/ArchiveCommand.py
View file @
c6015996
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
Command
from
topydo.lib.Command
import
Command
class
ArchiveCommand
(
Command
.
Command
):
class
ArchiveCommand
(
Command
):
def
__init__
(
self
,
p_todolist
,
p_archive_list
):
def
__init__
(
self
,
p_todolist
,
p_archive_list
):
"""
"""
Constructor.
Constructor.
...
...
topydo/lib/DCommand.py
View file @
c6015996
...
@@ -16,9 +16,9 @@
...
@@ -16,9 +16,9 @@
import
re
import
re
from
Command
import
Command
,
InvalidCommandArgument
from
topydo.lib.
Command
import
Command
,
InvalidCommandArgument
from
PrettyPrinter
import
pretty_print
,
pretty_print_list
from
topydo.lib.
PrettyPrinter
import
pretty_print
,
pretty_print_list
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
class
DCommand
(
Command
):
class
DCommand
(
Command
):
"""
"""
...
...
topydo/lib/DeleteCommand.py
View file @
c6015996
...
@@ -14,8 +14,8 @@
...
@@ -14,8 +14,8 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
DCommand
import
DCommand
from
topydo.lib.
DCommand
import
DCommand
from
PrettyPrinter
import
pretty_print
from
topydo.lib.
PrettyPrinter
import
pretty_print
class
DeleteCommand
(
DCommand
):
class
DeleteCommand
(
DCommand
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
...
topydo/lib/DepCommand.py
View file @
c6015996
...
@@ -14,12 +14,12 @@
...
@@ -14,12 +14,12 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
Command
import
Command
,
InvalidCommandArgument
from
topydo.lib.
Command
import
Command
,
InvalidCommandArgument
from
Config
import
config
from
topydo.lib.
Config
import
config
import
Filter
from
topydo.lib
import
Filter
import
Sorter
from
topydo.lib.Sorter
import
Sorter
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
import
View
from
topydo.lib.View
import
View
class
DepCommand
(
Command
):
class
DepCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
@@ -95,9 +95,9 @@ class DepCommand(Command):
...
@@ -95,9 +95,9 @@ class DepCommand(Command):
self
.
error
(
self
.
usage
())
self
.
error
(
self
.
usage
())
if
todos
:
if
todos
:
sorter
=
Sorter
.
Sorter
(
config
().
sort_string
())
sorter
=
Sorter
(
config
().
sort_string
())
instance_filter
=
Filter
.
InstanceFilter
(
todos
)
instance_filter
=
Filter
.
InstanceFilter
(
todos
)
view
=
View
.
View
(
sorter
,
[
instance_filter
],
self
.
todolist
)
view
=
View
(
sorter
,
[
instance_filter
],
self
.
todolist
)
self
.
out
(
view
.
pretty_print
())
self
.
out
(
view
.
pretty_print
())
except
InvalidTodoException
:
except
InvalidTodoException
:
self
.
error
(
"Invalid todo number given."
)
self
.
error
(
"Invalid todo number given."
)
...
...
topydo/lib/DepriCommand.py
View file @
c6015996
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
Command
import
Command
,
InvalidCommandArgument
from
topydo.lib.
Command
import
Command
,
InvalidCommandArgument
from
PrettyPrinter
import
pretty_print
from
topydo.lib.
PrettyPrinter
import
pretty_print
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
class
DepriCommand
(
Command
):
class
DepriCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
...
topydo/lib/DoCommand.py
View file @
c6015996
...
@@ -16,10 +16,10 @@
...
@@ -16,10 +16,10 @@
from
datetime
import
date
from
datetime
import
date
from
DCommand
import
DCommand
from
topydo.lib.
DCommand
import
DCommand
from
PrettyPrinter
import
pretty_print
from
topydo.lib.
PrettyPrinter
import
pretty_print
from
Recurrence
import
advance_recurring_todo
,
strict_advance_recurring_todo
from
topydo.lib.
Recurrence
import
advance_recurring_todo
,
strict_advance_recurring_todo
from
Utils
import
date_string_to_date
from
topydo.lib.
Utils
import
date_string_to_date
class
DoCommand
(
DCommand
):
class
DoCommand
(
DCommand
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
...
topydo/lib/Filter.py
View file @
c6015996
...
@@ -16,9 +16,9 @@
...
@@ -16,9 +16,9 @@
import
re
import
re
from
Config
import
config
from
topydo.lib.
Config
import
config
from
RelativeDate
import
relative_date_to_date
from
topydo.lib.
RelativeDate
import
relative_date_to_date
from
Utils
import
date_string_to_date
from
topydo.lib.
Utils
import
date_string_to_date
class
Filter
(
object
):
class
Filter
(
object
):
def
filter
(
self
,
p_todos
):
def
filter
(
self
,
p_todos
):
...
...
topydo/lib/Importance.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
...
@@ -25,7 +25,7 @@ future.
...
@@ -25,7 +25,7 @@ future.
from
datetime
import
date
from
datetime
import
date
from
Config
import
config
from
topydo.lib.
Config
import
config
IMPORTANCE_VALUE
=
{
'A'
:
3
,
'B'
:
2
,
'C'
:
1
}
IMPORTANCE_VALUE
=
{
'A'
:
3
,
'B'
:
2
,
'C'
:
1
}
...
...
topydo/lib/ListCommand.py
View file @
c6015996
...
@@ -16,13 +16,13 @@
...
@@ -16,13 +16,13 @@
import
re
import
re
import
Command
from
topydo.lib.Command
import
Command
from
Config
import
config
from
topydo.lib.
Config
import
config
import
Filter
from
topydo.lib
import
Filter
from
PrettyPrinter
import
pp_indent
from
topydo.lib.
PrettyPrinter
import
pp_indent
import
Sorter
from
topydo.lib.Sorter
import
Sorter
class
ListCommand
(
Command
.
Command
):
class
ListCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
p_out
=
lambda
a
:
None
,
p_out
=
lambda
a
:
None
,
p_err
=
lambda
a
:
None
,
p_err
=
lambda
a
:
None
,
...
@@ -80,7 +80,7 @@ class ListCommand(Command.Command):
...
@@ -80,7 +80,7 @@ class ListCommand(Command.Command):
self
.
_process_flags
()
self
.
_process_flags
()
sorter
=
Sorter
.
Sorter
(
self
.
sort_expression
)
sorter
=
Sorter
(
self
.
sort_expression
)
filters
=
self
.
_filters
()
filters
=
self
.
_filters
()
pp_filters
=
[
pp_indent
(
config
().
list_indent
())]
pp_filters
=
[
pp_indent
(
config
().
list_indent
())]
...
...
topydo/lib/ListContextCommand.py
View file @
c6015996
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
Command
from
topydo.lib.Command
import
Command
class
ListContextCommand
(
Command
.
Command
):
class
ListContextCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
p_out
=
lambda
a
:
None
,
p_out
=
lambda
a
:
None
,
p_err
=
lambda
a
:
None
,
p_err
=
lambda
a
:
None
,
...
...
topydo/lib/ListProjectCommand.py
View file @
c6015996
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import
Command
from
topydo.lib.Command
import
Command
class
ListProjectCommand
(
Command
.
Command
):
class
ListProjectCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
p_out
=
lambda
a
:
None
,
p_out
=
lambda
a
:
None
,
p_err
=
lambda
a
:
None
,
p_err
=
lambda
a
:
None
,
...
...
topydo/lib/PostponeCommand.py
View file @
c6015996
...
@@ -16,12 +16,12 @@
...
@@ -16,12 +16,12 @@
from
datetime
import
date
,
timedelta
from
datetime
import
date
,
timedelta
from
Command
import
Command
,
InvalidCommandArgument
from
topydo.lib.
Command
import
Command
,
InvalidCommandArgument
from
Config
import
config
from
topydo.lib.
Config
import
config
from
PrettyPrinter
import
pretty_print
from
topydo.lib.
PrettyPrinter
import
pretty_print
from
RelativeDate
import
relative_date_to_date
from
topydo.lib.
RelativeDate
import
relative_date_to_date
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
from
Utils
import
date_string_to_date
from
topydo.lib.
Utils
import
date_string_to_date
class
PostponeCommand
(
Command
):
class
PostponeCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
...
topydo/lib/PrettyPrinter.py
View file @
c6015996
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
import
re
import
re
from
Config
import
config
from
topydo.lib.
Config
import
config
PRIORITY_COLORS
=
{
PRIORITY_COLORS
=
{
'A'
:
'
\
033
[36m'
,
# cyan
'A'
:
'
\
033
[36m'
,
# cyan
...
...
topydo/lib/PriorityCommand.py
View file @
c6015996
...
@@ -14,10 +14,10 @@
...
@@ -14,10 +14,10 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
Command
import
Command
,
InvalidCommandArgument
from
topydo.lib.
Command
import
Command
,
InvalidCommandArgument
from
PrettyPrinter
import
pretty_print
from
topydo.lib.
PrettyPrinter
import
pretty_print
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
from
Utils
import
is_valid_priority
from
topydo.lib.
Utils
import
is_valid_priority
class
PriorityCommand
(
Command
):
class
PriorityCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
...
topydo/lib/Recurrence.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
...
@@ -18,9 +18,9 @@
...
@@ -18,9 +18,9 @@
from
datetime
import
date
,
timedelta
from
datetime
import
date
,
timedelta
from
Config
import
config
from
topydo.lib.
Config
import
config
from
RelativeDate
import
relative_date_to_date
from
topydo.lib.
RelativeDate
import
relative_date_to_date
import
Todo
from
topydo.lib.Todo
import
Todo
class
NoRecurrenceException
(
Exception
):
class
NoRecurrenceException
(
Exception
):
pass
pass
...
@@ -33,7 +33,7 @@ def _advance_recurring_todo_helper(p_todo, p_offset):
...
@@ -33,7 +33,7 @@ def _advance_recurring_todo_helper(p_todo, p_offset):
When no recurrence tag is present, an exception is raised.
When no recurrence tag is present, an exception is raised.
"""
"""
todo
=
Todo
.
Todo
(
p_todo
.
source
())
todo
=
Todo
(
p_todo
.
source
())
pattern
=
todo
.
tag_value
(
'rec'
)
pattern
=
todo
.
tag_value
(
'rec'
)
if
not
pattern
:
if
not
pattern
:
...
...
topydo/lib/SortCommand.py
View file @
c6015996
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
Command
import
Command
,
InvalidCommandArgument
from
topydo.lib.
Command
import
Command
,
InvalidCommandArgument
from
Config
import
config
from
topydo.lib.
Config
import
config
import
Sorter
from
topydo.lib.Sorter
import
Sorter
class
SortCommand
(
Command
):
class
SortCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
@@ -35,7 +35,7 @@ class SortCommand(Command):
...
@@ -35,7 +35,7 @@ class SortCommand(Command):
except
InvalidCommandArgument
:
except
InvalidCommandArgument
:
expression
=
config
().
sort_string
()
expression
=
config
().
sort_string
()
sorter
=
Sorter
.
Sorter
(
expression
)
# TODO: validate
sorter
=
Sorter
(
expression
)
# TODO: validate
sorted_todos
=
sorter
.
sort
(
self
.
todolist
.
todos
())
sorted_todos
=
sorter
.
sort
(
self
.
todolist
.
todos
())
self
.
todolist
.
erase
()
self
.
todolist
.
erase
()
...
...
topydo/lib/Sorter.py
View file @
c6015996
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
from
datetime
import
date
from
datetime
import
date
import
re
import
re
from
Importance
import
importance
,
average_importance
from
topydo.lib.
Importance
import
importance
,
average_importance
def
is_priority_field
(
p_field
):
def
is_priority_field
(
p_field
):
""" Returns True when the field name denotes the priority. """
""" Returns True when the field name denotes the priority. """
...
...
topydo/lib/TagCommand.py
View file @
c6015996
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
Command
import
Command
,
InvalidCommandArgument
from
topydo.lib.
Command
import
Command
,
InvalidCommandArgument
from
TodoListBase
import
InvalidTodoException
from
topydo.lib.
TodoListBase
import
InvalidTodoException
from
PrettyPrinter
import
pretty_print
from
topydo.lib.
PrettyPrinter
import
pretty_print
class
TagCommand
(
Command
):
class
TagCommand
(
Command
):
def
__init__
(
self
,
p_args
,
p_todolist
,
def
__init__
(
self
,
p_args
,
p_todolist
,
...
...
topydo/lib/Todo.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
...
@@ -20,24 +20,24 @@ This module provides the Todo class.
...
@@ -20,24 +20,24 @@ This module provides the Todo class.
from
datetime
import
date
from
datetime
import
date
from
Config
import
config
from
topydo.lib.
Config
import
config
import
Utils
from
topydo.lib.TodoBase
import
TodoBase
import
TodoBas
e
from
topydo.lib.Utils
import
date_string_to_dat
e
class
Todo
(
TodoBase
.
TodoBase
):
class
Todo
(
TodoBase
):
"""
"""
This class adds common functionality with respect to dates to the Todo
This class adds common functionality with respect to dates to the Todo
base class, mainly by interpreting the start and due dates of task.
base class, mainly by interpreting the start and due dates of task.
"""
"""
def
__init__
(
self
,
p_str
):
def
__init__
(
self
,
p_str
):
TodoBase
.
TodoBase
.
__init__
(
self
,
p_str
)
TodoBase
.
__init__
(
self
,
p_str
)
self
.
attributes
=
{}
self
.
attributes
=
{}
def
get_date
(
self
,
p_tag
):
def
get_date
(
self
,
p_tag
):
""" Given a date tag, return a date object. """
""" Given a date tag, return a date object. """
string
=
self
.
tag_value
(
p_tag
)
string
=
self
.
tag_value
(
p_tag
)
return
Utils
.
date_string_to_date
(
string
)
if
string
else
None
return
date_string_to_date
(
string
)
if
string
else
None
def
start_date
(
self
):
def
start_date
(
self
):
""" Returns a date object of the todo's start date. """
""" Returns a date object of the todo's start date. """
...
...
topydo/lib/TodoBase.py
View file @
c6015996
# Topydo - A todo.txt client written in Python.
# Topydo - A todo.txt client written in Python.
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
# Copyright (C) 2014 Bram Schoenmakers <me@bramschoenmakers.nl>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
...
@@ -21,8 +21,8 @@ This module contains the class that represents a single todo item.
...
@@ -21,8 +21,8 @@ This module contains the class that represents a single todo item.
from
datetime
import
date
from
datetime
import
date
import
re
import
re
import
TodoParser
from
topydo.lib.TodoParser
import
parse_line
from
Utils
import
is_valid_priority
from
topydo.lib.
Utils
import
is_valid_priority
class
TodoBase
(
object
):
class
TodoBase
(
object
):
"""
"""
...
@@ -164,7 +164,7 @@ class TodoBase(object):
...
@@ -164,7 +164,7 @@ class TodoBase(object):
def set_source_text(self, p_text):
def set_source_text(self, p_text):
""" Sets the todo source text. The text will be parsed again. """
""" Sets the todo source text. The text will be parsed again. """
self.src = p_text.strip()
self.src = p_text.strip()
self.fields =
TodoParser.
parse_line(self.src)
self.fields = parse_line(self.src)
def projects(self):
def projects(self):
""" Returns a set of projects associated with this todo item. """
""" Returns a set of projects associated with this todo item. """
...
...
topydo/lib/TodoList.py
View file @
c6015996
...
@@ -18,10 +18,10 @@
...
@@ -18,10 +18,10 @@
A list of todo items.
A list of todo items.
"""
"""
import
Graph
from
topydo.lib.Graph
import
Directed
Graph
import
TodoListBase
from
topydo.lib.TodoListBase
import
TodoListBase
class
TodoList
(
TodoListBase
.
TodoListBase
):
class
TodoList
(
TodoListBase
):
"""
"""
Provides operations for a todo list, such as adding items, removing them,
Provides operations for a todo list, such as adding items, removing them,
etc.
etc.
...
@@ -37,7 +37,7 @@ class TodoList(TodoListBase.TodoListBase):
...
@@ -37,7 +37,7 @@ class TodoList(TodoListBase.TodoListBase):
"""
"""
self
.
_todos
=
[]
self
.
_todos
=
[]
self
.
_tododict
=
{}
# hash(todo) to todo lookup
self
.
_tododict
=
{}
# hash(todo) to todo lookup
self
.
_depgraph
=
Graph
.
DirectedGraph
()
self
.
_depgraph
=
DirectedGraph
()
self
.
add_list
(
p_todostrings
)
self
.
add_list
(
p_todostrings
)
self
.
dirty
=
False
self
.
dirty
=
False
...
...
topydo/lib/TodoListBase.py
View file @
c6015996
...
@@ -21,10 +21,10 @@ A list of todo items.
...
@@ -21,10 +21,10 @@ A list of todo items.
from
datetime
import
date
from
datetime
import
date
import
re
import
re
import
Filter
from
topydo.lib
import
Filter
from
PrettyPrinter
import
pretty_print_list
from
topydo.lib.
PrettyPrinter
import
pretty_print_list
import
Todo
from
topydo.lib.Todo
import
Todo
import
View
from
topydo.lib.View
import
View
class
InvalidTodoException
(
Exception
):
class
InvalidTodoException
(
Exception
):
pass
pass
...
@@ -87,7 +87,7 @@ class TodoListBase(object):
...
@@ -87,7 +87,7 @@ class TodoListBase(object):
return
todos
[
0
]
if
len
(
todos
)
else
None
return
todos
[
0
]
if
len
(
todos
)
else
None
def
add_list
(
self
,
p_srcs
):
def
add_list
(
self
,
p_srcs
):
todos
=
[
Todo
.
Todo
(
src
)
for
src
in
p_srcs
if
re
.
search
(
r'\
S
', src)]
todos
=
[
Todo
(
src
)
for
src
in
p_srcs
if
re
.
search
(
r'\
S
', src)]
self.add_todos(todos)
self.add_todos(todos)
return todos
return todos
...
@@ -154,7 +154,7 @@ class TodoListBase(object):
...
@@ -154,7 +154,7 @@ class TodoListBase(object):
defined by the end user. Todos is this list should not be modified,
defined by the end user. Todos is this list should not be modified,
modifications should occur through this class.
modifications should occur through this class.
"""
"""
return View
.View
(p_sorter, p_filters, self)
return View(p_sorter, p_filters, self)
def is_dirty(self):
def is_dirty(self):
return self.dirty
return self.dirty
...
...
topydo/lib/TodoParser.py
View file @
c6015996
...
@@ -21,7 +21,7 @@ todo.txt file.
...
@@ -21,7 +21,7 @@ todo.txt file.
import
re
import
re
import
Utils
from
topydo.lib.Utils
import
date_string_to_date
_DATE_MATCH
=
r'\
d{
4}-\
d{
2}-\
d{
2}'
_DATE_MATCH
=
r'\
d{
4}-\
d{
2}-\
d{
2}'
...
@@ -68,17 +68,17 @@ def parse_line(p_string):
...
@@ -68,17 +68,17 @@ def parse_line(p_string):
result['
completed
'] = True
result['
completed
'] = True
completion_date = completed_head.group('
completionDate
')
completion_date = completed_head.group('
completionDate
')
result['
completionDate
'] =
Utils.
date_string_to_date(completion_date)
result['
completionDate
'] = date_string_to_date(completion_date)
creation_date = completed_head.group('
creationDate
')
creation_date = completed_head.group('
creationDate
')
result['
creationDate
'] =
Utils.
date_string_to_date(creation_date)
result['
creationDate
'] = date_string_to_date(creation_date)
rest = completed_head.group('
rest
')
rest = completed_head.group('
rest
')
elif normal_head:
elif normal_head:
result['
priority
'] = normal_head.group('
priority
')
result['
priority
'] = normal_head.group('
priority
')
creation_date = normal_head.group('
creationDate
')
creation_date = normal_head.group('
creationDate
')
result['
creationDate
'] =
Utils.
date_string_to_date(creation_date)
result['
creationDate
'] = date_string_to_date(creation_date)
rest = normal_head.group('
rest
')
rest = normal_head.group('
rest
')
...
...
topydo/lib/View.py
View file @
c6015996
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
""" A view is a list of todos, sorted and filtered. """
""" A view is a list of todos, sorted and filtered. """
from
PrettyPrinter
import
pretty_print_list
,
pp_color
from
topydo.lib.
PrettyPrinter
import
pretty_print_list
,
pp_color
class
View
(
object
):
class
View
(
object
):
"""
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment