From 8795b0a692094ace009edff1af258b28e9e7917a Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Thu, 25 Dec 2014 17:18:44 -0500 Subject: [PATCH] TW-1447 - TW-1447 Not possible to filter on a UDA of type String (thanks to atomicules). --- ChangeLog | 1 + src/Filter.cpp | 4 ++-- src/commands/CmdCalc.cpp | 2 +- test/tw-1447.t | 31 +++++++++++++++++++++++++++++++ 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100755 test/tw-1447.t diff --git a/ChangeLog b/ChangeLog index 87c539894..238ccdac3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -191,6 +191,7 @@ - TW-1444 Tag ordering is preserved, but should be sorted in reports. - TW-1445 Aliases broken: cannot contain multiple arguments anymore (thanks to Johannes Schlatow). +- TW-1447 Not possible to filter on a UDA of type String (thanks to atomicules). - TW-1449 Nag function does not respect urgency (thanks to Tomas Babej). - TW-1460 Empty due dates lead to endless loop. - TW-1463 A few more problems with special characters in filters, pluses, diff --git a/src/Filter.cpp b/src/Filter.cpp index 1a1336dfd..4f4a98ada 100644 --- a/src/Filter.cpp +++ b/src/Filter.cpp @@ -80,8 +80,8 @@ void Filter::subset (const std::vector & input, std::vector & output { Eval eval; eval.ambiguity (false); - eval.addSource (namedDates); eval.addSource (domSource); + eval.addSource (namedDates); // Debug output from Eval during compilation is useful. During evaluation // it is mostly noise. @@ -129,8 +129,8 @@ void Filter::subset (std::vector & output) Eval eval; eval.ambiguity (false); - eval.addSource (namedDates); eval.addSource (domSource); + eval.addSource (namedDates); // Debug output from Eval during compilation is useful. During evaluation // it is mostly noise. diff --git a/src/commands/CmdCalc.cpp b/src/commands/CmdCalc.cpp index 714ead4d6..52b71528f 100644 --- a/src/commands/CmdCalc.cpp +++ b/src/commands/CmdCalc.cpp @@ -56,8 +56,8 @@ int CmdCalc::execute (std::string& output) // Create an evaluator with DOM access. Eval e; - e.addSource (namedDates); e.addSource (domSource); + e.addSource (namedDates); e.ambiguity (false); // TODO Configurable? e.debug (context.config.getBoolean ("debug")); diff --git a/test/tw-1447.t b/test/tw-1447.t new file mode 100755 index 000000000..8cac7987d --- /dev/null +++ b/test/tw-1447.t @@ -0,0 +1,31 @@ +#!/usr/bin/env python2.7 +# -*- coding: utf-8 -*- + +import sys +import os +from datetime import datetime +import unittest + +# Ensure python finds the local simpletap module +sys.path.append(os.path.dirname(os.path.abspath(__file__))) + +from basetest import Task, TestCase, Taskd, ServerTestCase + +class Test1447(TestCase): + def setUp(self): + self.t = Task() + + def test_filter_uda(self): + """Verify single-word aliases""" + self.t.config('uda.sep.type', 'string') + self.t(('add', 'one')) + self.t(('add', 'two', 'sep:foo')) + code, out, err = self.t(('sep:', 'list')) + self.assertEqual(0, code, "Exit code was non-zero ({0})".format(code)) + self.assertIn('one', out) + +if __name__ == "__main__": + from simpletap import TAPTestRunner + unittest.main(testRunner=TAPTestRunner()) + +# vim: ai sts=4 et sw=4