Commit graph

89 commits

Author SHA1 Message Date
Paul Beckingham
182b5427cd Lexer: Migrated trim(), trimLeft() and trimRight() from text to Lexer 2015-10-30 11:17:23 -04:00
Paul Beckingham
51def4b12b Lexer: Migrated commify, ucFirst and lowerCase from text to Lexer 2015-10-30 10:57:14 -04:00
Paul Beckingham
e41282122d Test: Added Lexer::typeName tests 2015-10-28 22:05:20 -04:00
Paul Beckingham
461610aaa6 Test: Cleanup prep for '-Wextra' 2015-10-16 15:55:17 -04:00
Paul Beckingham
e4b8c2f0f5 Test: Added Lexer::dequote test 2015-10-16 08:26:14 -04:00
Paul Beckingham
1eb9c243fe Test: Dates '9th', '10th', 'today' are now recognized as dates 2015-10-04 13:27:04 -04:00
Paul Beckingham
f16ce91d45 Test: Added a UUID parse test 2015-08-09 10:35:02 -04:00
Paul Beckingham
ce0bd430d0 Test: Modified abbreviated DOM test 2015-08-07 19:33:57 -04:00
Paul Beckingham
92d37e5124 Lexer: An 8-digit string is now allowed to be considered a UUID 2015-08-07 09:21:58 -04:00
Paul Beckingham
6e710bf9b5 Test: Added more lexer tests. More is better. 2015-08-04 17:33:40 -04:00
Paul Beckingham
d4b450bc53 Test: Added Lexer::dequote tests 2015-07-28 19:33:58 -04:00
Paul Beckingham
1021bb530a Test: 'a360fc44-315c-4366-b70c-ea7e7520b749.foo.bar' is not a DOM ref because '.foo.bar' isn't 2015-07-27 01:54:38 -04:00
Paul Beckingham
99a53edca0 Lexer: ::isLiteral now stops at EOS 2015-07-27 00:57:30 -04:00
Paul Beckingham
0c7e731b0d Lexer: Integrated ::commonLength
- Uses std::string::size_type for all string lengths, offsets.
- Rewrote ::isLiteral to be simpler.
- Added support for abbreviated DOM refs.
- Obeys rc.abbreviation.minimum, indirectly.
- Added tests.
2015-07-27 00:31:15 -04:00
Paul Beckingham
466d1ddb69 Test: Cleaned up lexer.t.cpp
- Added more DOM types for testing.
- Added attribute/type mapping to give Lexer a chance to find DOM refs.
- Recategorized DOM-like token to Lexer::Type::identifier, because now DOM
  parsing is more precise.
2015-07-26 16:21:10 -04:00
Paul Beckingham
18295a3b32 Test: Added Lexer::isLiteral and Lexer::isOneOf tests 2015-07-26 10:56:18 -04:00
Paul Beckingham
1c2500a8a1 Test: Added more Lexer UUID tests, which are needed 2015-07-19 23:17:43 -04:00
Paul Beckingham
b3962bb13d Test: Fixed broken test for lexer 2015-07-11 11:30:57 -04:00
Paul Beckingham
e99dec6e1b Test: Added failing quoted string test 2015-07-11 10:50:55 -04:00
Paul Beckingham
b4b8edcebe Test: Added problematic case 2015-07-11 10:16:38 -04:00
Paul Beckingham
45aaa530ac Lexer: Skipping whitespace on ::readWord at SOL was a mistake 2015-07-10 11:23:57 -04:00
Paul Beckingham
e55528e21e Lexer: ::readWord now skips leading whiteSpace 2015-07-08 11:24:46 -04:00
Paul Beckingham
e6c4f48a48 Lexer: readWords for quoted strings now retains the quotes 2015-07-08 09:03:48 -04:00
Paul Beckingham
7a6d546a0d Lexer:: Added polymorphic ::readWord for quoteѕ and unquoted strings 2015-07-06 16:37:46 -04:00
Paul Beckingham
4bdfde4aa4 Test: Added tests for Lexer::readWord 2015-07-06 15:34:04 -04:00
Paul Beckingham
26e6dd2131 Test: Missing include 2015-07-06 12:23:38 -04:00
Paul Beckingham
e36fb2f10c Lexer: Switched argument order for ::decomposePair 2015-07-06 12:10:50 -04:00
Paul Beckingham
826c6986ae Test: Added Lexer::decomposePair tests 2015-07-06 11:29:09 -04:00
Paul Beckingham
1836ac29e2 Lexer: Removed expermental code, didn't help 2015-07-04 15:03:28 -04:00
Paul Beckingham
d8e48e1e2b Test: Added tests for (unimplemented) Lexer::token classifier 2015-07-04 11:40:12 -04:00
Paul Beckingham
18b1f32466 Test: Removed unsupported feature from lexer test 2015-07-04 10:35:53 -04:00
Paul Beckingham
0cbcbeedc5 Tests: Removed calls to Eval::ambiguity 2015-07-01 17:55:56 -04:00
Paul Beckingham
86ed232348 Lexer: Added ::wasQuoted to determine original quote state 2015-06-28 12:35:06 -04:00
Paul Beckingham
14c95dcb3b Tests: Removed Lexer tests for unsupported ISO date formats 2015-06-27 14:20:16 -04:00
Paul Beckingham
e66ad50e7e Tests: Removed 'name=value' lexer test
- Test is now a duplicate, because 'name=value' was three tokens, and is now a
  pair.
2015-06-22 21:27:08 -04:00
Paul Beckingham
b2803bddda Tests: Added test for Lexer::Type::set 2015-06-19 18:30:32 -07:00
Paul Beckingham
7293de75b0 TW-1608: The recur/recurring report shows tasks without a recur interval
- Lexer needed additional lookbehind criteria for ::isTag (thanks to Brad
  Collette).
2015-05-09 21:27:48 -04:00
Paul Beckingham
36e31811b0 TW-1606: scheduled.any filter
- The Lexer::dom type worked embedded, but not isolated (thanks to Peter Rochen).
2015-04-29 18:53:13 -04:00
Paul Beckingham
935b2993f3 C++11: Took advantage of N1757. 2015-04-06 15:30:39 -04:00
Paul Beckingham
eb35386d76 Tests: Recategorized lexemes that are only dates in the presence of Eval 2015-03-29 23:14:59 -04:00
Paul Beckingham
71fea510bb Tests: Corrected lexer test "\"" 2015-03-29 23:02:59 -04:00
Paul Beckingham
1e411ed4b8 Tests: Corrected lexer text '\'' 2015-03-29 23:01:33 -04:00
Paul Beckingham
cfbdd4bc05 Tests: Corrected lexer test "\"three\"" 2015-03-29 22:59:27 -04:00
Paul Beckingham
690d9493f0 Build: Resolve some more compiler warnings 2015-03-29 18:03:36 -04:00
Paul Beckingham
f454a02224 Tests: Added more Lexer::Type::date tests 2015-03-28 16:57:34 -04:00
Paul Beckingham
1bbe709e38 Tests: Removed redundant LExer::Type::tag tests 2015-03-28 16:53:32 -04:00
Paul Beckingham
a4b96a3191 Tests: Added Lexer::Type::op tests, a full set 2015-03-28 16:49:57 -04:00
Paul Beckingham
ddb6014358 Tests: Converted Lexer::Type::duration tests 2015-03-28 16:38:17 -04:00
Paul Beckingham
31a7a3343b Tests: Converted ordinal tests 2015-03-28 16:26:50 -04:00
Paul Beckingham
3a0971f290 Tests: Added Lexer::Type::tag test for +@tag 2015-03-28 16:23:02 -04:00