On Mon, Jul 23, 2012 at 10:24:56PM +0200, Maarten van Beek wrote:
> The attached patch accepts negative dates and doesn't use position:
> anymore. I've removed the test cases that weren't possible to succeed
> because of this. This includes some test cases for DateTime, where
> DateTime skips over all separators to see if there's any usable
> content left. These separators are thrown away.

Hi,

in general it is good to test what can be parsed and what can not
be parsed. E.g. if someone wants to parse 09:00::1234 as 9:00 and
it fails it easy to point him to the testcase that excludes this
behavior, Pharo1.4 will throw an exception when parsing the above
string as a Time, I think it would be acceptable to do the same.

Somehow I am not able to quote the attachment from within mutt but
you have some unused variables (e.g. you added 'pos' but don't make
use of it).

For Paolo I have included the diff of expout to stdout when using
the right stream for parsing and then comparing what is left inside
the stream. Maarten's test results are already a lot better.

holger

--- expout      2012-07-24 11:14:43.709800131 +0200
+++ stdout      2012-07-24 11:14:44.729800121 +0200
@@ -827,217 +827,217 @@
 
 Execution begins...
 1-Feb-2011->'2011-02-01'
-1-Feb-2011->'2011-02-01'
-1-Feb-2011->'Feb 1 2011'
+nil
 1-Feb-2011->'Feb 1 2011'
+nil
 1-Feb--2011->'-2011-02-01'
-1-Feb--2011->'-2011-02-01'
-1-Feb--2011->'Feb 1 -2011'
+nil
 1-Feb--2011->'Feb 1 -2011'
+nil
 9:00:02->'09:00:02'
+nil
 9:00:02->'09:00:02'
-9:00:02->'09:00:02'
-9:00:02->'09:00:02'
-9:00:00->'09:00'
+nil
 9:00:00->'09:00'
+nil
 9:00:00->'09:00'
-9:00:00->'09:00'
-9:00:00->'9:00'
-9:00:00->'9:00'
+nil
 9:00:00->'9:00'
+nil
 9:00:00->'9:00'
+nil
 1:09:00:02->'01:09:00:02'
+nil
 1:09:00:02->'01:09:00:02'
-1:09:00:02->'01:09:00:02'
-1:09:00:02->'01:09:00:02'
-1:09:00:02->'1:09:00:02'
+nil
 1:09:00:02->'1:09:00:02'
+nil
 1:09:00:02->'1:09:00:02'
-1:09:00:02->'1:09:00:02'
-1:09:00:02->'1:9:00:02'
+nil
 1:09:00:02->'1:9:00:02'
+nil
 1:09:00:02->'1:9:00:02'
-1:09:00:02->'1:9:00:02'
-0:09:00:02->'09:00:02'
+nil
 0:09:00:02->'09:00:02'
+nil
 0:09:00:02->'09:00:02'
-0:09:00:02->'09:00:02'
-0:09:00:02->'9:00:02'
-0:09:00:02->'9:00:02'
+nil
 0:09:00:02->'9:00:02'
+nil
 0:09:00:02->'9:00:02'
+nil
 0:09:00:00->'09:00'
+nil
 0:09:00:00->'09:00'
-0:09:00:00->'09:00'
-0:09:00:00->'09:00'
-0:09:00:00->'9:00'
+nil
 0:09:00:00->'9:00'
+nil
 0:09:00:00->'9:00'
-0:09:00:00->'9:00'
--1:09:00:02->'-01:09:00:02'
--1:09:00:02->'-01:09:00:02'
+nil
 -1:09:00:02->'-01:09:00:02'
+nil
 -1:09:00:02->'-01:09:00:02'
+nil
 -1:09:00:02->'-1:09:00:02'
+nil
 -1:09:00:02->'-1:09:00:02'
--1:09:00:02->'-1:09:00:02'
--1:09:00:02->'-1:09:00:02'
--1:09:00:02->'-1:9:00:02'
--1:09:00:02->'-1:9:00:02'
+nil
 -1:09:00:02->'-1:9:00:02'
+nil
 -1:09:00:02->'-1:9:00:02'
+nil
 -0:09:00:02->'-09:00:02'
+nil
 -0:09:00:02->'-09:00:02'
--0:09:00:02->'-09:00:02'
--0:09:00:02->'-09:00:02'
--0:09:00:02->'-9:00:02'
+nil
 -0:09:00:02->'-9:00:02'
+nil
 -0:09:00:02->'-9:00:02'
--0:09:00:02->'-9:00:02'
--0:09:00:00->'-09:00'
--0:09:00:00->'-09:00'
+nil
 -0:09:00:00->'-09:00'
+nil
 -0:09:00:00->'-09:00'
+nil
 -0:09:00:00->'-9:00'
+nil
 -0:09:00:00->'-9:00'
--0:09:00:00->'-9:00'
--0:09:00:00->'-9:00'
-1:09:00:02->'+01:09:00:02'
+nil
 1:09:00:02->'+01:09:00:02'
+nil
 1:09:00:02->'+01:09:00:02'
-1:09:00:02->'+01:09:00:02'
-1:09:00:02->'+1:09:00:02'
-1:09:00:02->'+1:09:00:02'
+nil
 1:09:00:02->'+1:09:00:02'
+nil
 1:09:00:02->'+1:09:00:02'
+nil
 1:09:00:02->'+1:9:00:02'
+nil
 1:09:00:02->'+1:9:00:02'
-1:09:00:02->'+1:9:00:02'
-1:09:00:02->'+1:9:00:02'
-0:09:00:02->'+09:00:02'
+nil
 0:09:00:02->'+09:00:02'
+nil
 0:09:00:02->'+09:00:02'
-0:09:00:02->'+09:00:02'
-0:09:00:02->'+9:00:02'
-0:09:00:02->'+9:00:02'
+nil
 0:09:00:02->'+9:00:02'
+nil
 0:09:00:02->'+9:00:02'
+nil
 0:09:00:00->'+09:00'
+nil
 0:09:00:00->'+09:00'
-0:09:00:00->'+09:00'
-0:09:00:00->'+09:00'
-0:09:00:00->'+9:00'
+nil
 0:09:00:00->'+9:00'
+nil
 0:09:00:00->'+9:00'
-0:09:00:00->'+9:00'
- 2011-02-01T09:00:00+01:30->'2011-02-01 09:00  +01:30'
+nil
  2011-02-01T09:00:00+01:30->'2011-02-01 09:00  +01:30'
  2011-02-01T09:00:00+01:30->'2011-02-01 09:00  +01:30'
+nil
  2011-02-01T09:00:00+01:30->'2011-02-01 09:00 +01:30'
  2011-02-01T09:00:00+01:30->'2011-02-01 09:00 +01:30'
- 2011-02-01T09:00:00+01:30->'2011-02-01 09:00 +01:30'
- 2011-02-01T09:00:00+01:30->'2011-02-01 09:00+01:30'
+nil
  2011-02-01T09:00:00+01:30->'2011-02-01 09:00+01:30'
  2011-02-01T09:00:00+01:30->'2011-02-01 09:00+01:30'
+nil
  2011-02-01T09:00:00+01:30->'2011-02-01 09:00+1:30'
- 2011-02-01T09:00:00+01:30->'2011-02-01 09:00+1:30'
- 2011-02-01T09:00:00+01:00->'2011-02-01 09:00+01'
+nil
  2011-02-01T09:00:00+01:00->'2011-02-01 09:00+01'
  2011-02-01T09:00:00+01:00->'2011-02-01 09:00+01'
+nil
  2011-02-01T09:00:10+01:30->'2011-02-01 09:00:10+01:30'
  2011-02-01T09:00:10+01:30->'2011-02-01 09:00:10+01:30'
- 2011-02-01T09:00:10+01:30->'2011-02-01 09:00:10+01:30'
+nil
  2011-02-01T09:00:10+01:30->'2011-02-01 09:00:10+1:30'
- 2011-02-01T09:00:10+01:30->'2011-02-01 09:00:10+1:30'
- 2011-02-01T09:00:10+01:00->'2011-02-01 09:00:10+01'
+nil
  2011-02-01T09:00:10+01:00->'2011-02-01 09:00:10+01'
  2011-02-01T09:00:10+01:00->'2011-02-01 09:00:10+01'
+nil
  2011-02-01T09:00:00-01:30->'2011-02-01 09:00  -01:30'
- 2011-02-01T09:00:00-01:30->'2011-02-01 09:00  -01:30'
+nil
  2011-02-01T09:00:00-01:30->'2011-02-01 09:00 -01:30'
- 2011-02-01T09:00:00-01:30->'2011-02-01 09:00 -01:30'
- 2011-02-01T09:00:10-01:30->'2011-02-01 09:00:10-01:30'
+nil
  2011-02-01T09:00:10-01:30->'2011-02-01 09:00:10-01:30'
+nil
  2011-02-01T09:00:10-01:30->'2011-02-01 09:00:10-1:30'
- 2011-02-01T09:00:10-01:30->'2011-02-01 09:00:10-1:30'
+nil
  2011-02-01T09:00:00-01:30->'2011-02-01 09:00-01:30'
- 2011-02-01T09:00:00-01:30->'2011-02-01 09:00-01:30'
- 2011-02-01T09:00:00-01:30->'2011-02-01 09:00-1:30'
+nil
  2011-02-01T09:00:00-01:30->'2011-02-01 09:00-1:30'
+nil
  2011-02-01T09:00:10+00:00->'2011-02-01 09:00:10'
- 2011-02-01T09:00:10+00:00->'2011-02-01 09:00:10'
+nil
  2011-02-01T09:00:00+00:00->'2011-02-01 09:00'
- 2011-02-01T09:00:00+00:00->'2011-02-01 09:00'
- 2011-02-01T09:00:00+01:30->'2011-02-01T09:00+01:30'
+nil
  2011-02-01T09:00:00+01:30->'2011-02-01T09:00+01:30'
+nil
  2011-02-01T09:00:00+01:30->'2011-02-01T09:00+1:30'
- 2011-02-01T09:00:00+01:30->'2011-02-01T09:00+1:30'
+nil
  2011-02-01T09:00:00+01:00->'2011-02-01T09:00+01'
- 2011-02-01T09:00:00+01:00->'2011-02-01T09:00+01'
- 2011-02-01T09:00:10+01:30->'2011-02-01T09:00:10+01:30'
+nil
  2011-02-01T09:00:10+01:30->'2011-02-01T09:00:10+01:30'
+nil
  2011-02-01T09:00:10+01:30->'2011-02-01T09:00:10+1:30'
- 2011-02-01T09:00:10+01:30->'2011-02-01T09:00:10+1:30'
+nil
  2011-02-01T09:00:10+01:00->'2011-02-01T09:00:10+01'
- 2011-02-01T09:00:10+01:00->'2011-02-01T09:00:10+01'
- 2011-02-01T09:00:10-01:30->'2011-02-01T09:00:10-01:30'
+nil
  2011-02-01T09:00:10-01:30->'2011-02-01T09:00:10-01:30'
+nil
  2011-02-01T09:00:10-01:30->'2011-02-01T09:00:10-1:30'
- 2011-02-01T09:00:10-01:30->'2011-02-01T09:00:10-1:30'
+nil
  2011-02-01T09:00:00-01:30->'2011-02-01T09:00-01:30'
- 2011-02-01T09:00:00-01:30->'2011-02-01T09:00-01:30'
- 2011-02-01T09:00:00-01:30->'2011-02-01T09:00-1:30'
+nil
  2011-02-01T09:00:00-01:30->'2011-02-01T09:00-1:30'
+nil
  2011-02-01T09:00:10+00:00->'2011-02-01T09:00:10'
- 2011-02-01T09:00:10+00:00->'2011-02-01T09:00:10'
- 2011-02-01T09:00:00+00:00->'2011-02-01T09:00'
+nil
  2011-02-01T09:00:00+00:00->'2011-02-01T09:00'
+nil
  2011-02-01T00:00:00+00:00->'2011-02-01'
- 2011-02-01T00:00:00+00:00->'2011-02-01'
- 2011-02-01T00:00:00+00:00->'Feb 1 2011'
+nil
  2011-02-01T00:00:00+00:00->'Feb 1 2011'
+nil
 -2011-02-01T09:00:00+01:30->'-2011-02-01T09:00+01:30'
--2011-02-01T09:00:00+01:30->'-2011-02-01T09:00+01:30'
+nil
 -2011-02-01T00:00:00+00:00->'-2011-02-01'
--2011-02-01T00:00:00+00:00->'-2011-02-01'
--2011-02-01T00:00:00+00:00->'Feb 1 -2011'
+nil
 -2011-02-01T00:00:00+00:00->'Feb 1 -2011'
+nil
  2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00  +01:30'
  2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00  +01:30'
- 2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00  +01:30'
+nil
  2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00 +01:30'
  2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00 +01:30'
- 2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00 +01:30'
- 2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00+01:30'
+nil
  2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00+01:30'
  2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00+01:30'
+nil
  2011-02-01T09:00:00+01:00->'Feb 1 2011 09:00+01'
  2011-02-01T09:00:00+01:00->'Feb 1 2011 09:00+01'
- 2011-02-01T09:00:00+01:00->'Feb 1 2011 09:00+01'
+nil
  2011-02-01T09:00:10+01:30->'Feb 1 2011 09:00:10+01:30'
  2011-02-01T09:00:10+01:30->'Feb 1 2011 09:00:10+01:30'
- 2011-02-01T09:00:10+01:30->'Feb 1 2011 09:00:10+01:30'
- 2011-02-01T09:00:10+01:00->'Feb 1 2011 09:00:10+01'
+nil
  2011-02-01T09:00:10+01:00->'Feb 1 2011 09:00:10+01'
  2011-02-01T09:00:10+01:00->'Feb 1 2011 09:00:10+01'
+nil
  2011-02-01T09:00:10+01:30->'Feb 1 2011 09:00:10+1:30'
- 2011-02-01T09:00:10+01:30->'Feb 1 2011 09:00:10+1:30'
+nil
  2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00+1:30'
- 2011-02-01T09:00:00+01:30->'Feb 1 2011 09:00+1:30'
- 2011-02-01T09:00:00-01:30->'Feb 1 2011 09:00  -01:30'
+nil
  2011-02-01T09:00:00-01:30->'Feb 1 2011 09:00  -01:30'
+nil
  2011-02-01T09:00:00-01:30->'Feb 1 2011 09:00 -01:30'
- 2011-02-01T09:00:00-01:30->'Feb 1 2011 09:00 -01:30'
+nil
  2011-02-01T09:00:00-01:30->'Feb 1 2011 09:00-01:30'
- 2011-02-01T09:00:00-01:30->'Feb 1 2011 09:00-01:30'
- 2011-02-01T09:00:10-01:30->'Feb 1 2011 09:00:10-01:30'
+nil
  2011-02-01T09:00:10-01:30->'Feb 1 2011 09:00:10-01:30'
+nil
  2011-02-01T09:00:10-01:30->'Feb 1 2011 09:00:10-1:30'
- 2011-02-01T09:00:10-01:30->'Feb 1 2011 09:00:10-1:30'
+nil
  2011-02-01T09:00:00-01:30->'Feb 1 2011 09:00-1:30'
- 2011-02-01T09:00:00-01:30->'Feb 1 2011 09:00-1:30'
- 2011-02-01T09:00:10+00:00->'Feb 1 2011 09:00:10'
+nil
  2011-02-01T09:00:10+00:00->'Feb 1 2011 09:00:10'
+nil
  2011-02-01T09:00:00+00:00->'Feb 1 2011 09:00'
- 2011-02-01T09:00:00+00:00->'Feb 1 2011 09:00'
-returned value is Association new "<0>"
+nil
+returned value is nil

_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to