haven't expect是笔误。问题是关于现在完成时和一般过去时的区别。
当说话人用一般过去时的时候,他脑子里会想到一个具体的过去时间,例如我来这里的时候没料想到会在这里见到你,或者我昨天、前天、一周前等等某个过去时间没有料想到会在这里见到你。而用现在完成时,则不涉及具体过去时间,而是泛泛地说此前没想过到过会在这里见到你。所以,用现在完成时是合理的。因为说话人此时此刻不大会有一个确切的过去时间,所以不应该用一般过去时。
现在完成时的用法之一就是表示现在以前的不确切过去。不一定非得要扯上过去对现在的影响。