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
