Refactored parser code. Too ugly already. And needed a parseDate function.
Added reasonable test cases. Apparently your parser decides that those reasonable test cases are valid, but refuses to include a date.