let elem = document.createElement('div');
elem.classList.toggle('test-class', false);
if (elem.classList.contains('test-class')) {
  let _toggle = DOMTokenList.prototype.toggle;
  DOMTokenList.prototype.toggle = function(token, force) {
    if (arguments.length > 1 && !this.contains(token) === !force) {
      return force;
    } else {
      return _toggle.call(this, token);
    }
  };
}

if (!String.prototype.startsWith) {
  String.prototype.startsWith = function(searchString, position){
    position = position || 0;
    return this.substr(position, searchString.length) === searchString;
  };
}

if (!String.prototype.endsWith) {
  String.prototype.endsWith = function(searchString, position) {
    var subjectString = this.toString();
    if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
      position = subjectString.length;
    }
    position -= searchString.length;
    var lastIndex = subjectString.indexOf(searchString, position);
    return lastIndex !== -1 && lastIndex === position;
  };
}

@@ -1075,16 +1075,604 @@
 osition;%0A  %7D;%0A%7D%0A
+%0Aif (!Array.prototype.find) %7B%0A  Array.prototype.find = function(predicate) %7B%0A    if (this === null) %7B%0A      throw new TypeError('Array.prototype.find called on null or undefined');%0A    %7D%0A    if (typeof predicate !== 'function') %7B%0A      throw new TypeError('predicate must be a function');%0A    %7D%0A    var list = Object(this);%0A    var length = list.length %3E%3E%3E 0;%0A    var thisArg = arguments%5B1%5D;%0A    var value;%0A%0A    for (var i = 0; i %3C length; i++) %7B%0A      value = list%5Bi%5D;%0A      if (predicate.call(thisArg, value, i, list)) %7B%0A        return value;%0A      %7D%0A    %7D%0A    return undefined;%0A  %7D;%0A%7D%0A

add polyfill for Array find