<script>
function checkProtos(expect) {
  var allMatch = true;
  for (var obj of [window, Document.prototype, HTMLElement.prototype, SVGElement.prototype]) {
    for (var prop of ['ontouchstart', 'ontouchend', 'ontouchmove', 'ontouchcancel']) {
      var result = prop in obj;
      if (result !== expect)
        allMatch = false;
    }
  }
  return allMatch;
}
</script>