thats true, it is a stupidly hard thing to test. Mock element might be capable though.

However I don't think putting this in $isEmpty is the right approach. The check for a validity state only needs to happen once at compile time, and would look like this:

```js
var validity = element.prop('validity');
if (!isObject(validity)) {
  validity = {
    valid: true
  };
}
```

This should be good enough, because then the test can simply be

```js
if (validity.valueMissing || ctrl.$isEmpty(value))
```