Does not handle and has no unit tests for opera impersonating msie in which case both msie and opera are present in user agent string.