function testPropsAll(prop, prefixed, elem, value, skipValueTest) {

    var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
      props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');

    // did they call .prefixed('boxSizing') or are we just testing a prop?
    if (is(prefixed, 'string') || is(prefixed, 'undefined')) {
      return testProps(props, prefixed, value, skipValueTest);

      // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])
    } else {
      props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
      return testDOMProps(props, prefixed, elem);
    }
  }
testPropsAll tests a list of DOM properties we want to check against.
We specify literally ALL possible (known and/or likely) properties on
the element including the non-vendor prefixed one, for forward-
compatibility.

@access private
@function testPropsAll
@param {string} prop - A string of the property to test for
@param {string|object} [prefixed] - An object to check the prefixed properties on. Use a string to skip
@param {HTMLElement|SVGElement} [elem] - An element used to test the property and value against
@param {string} [value] - A string of a css value
@param {boolean} [skipValueTest] - An boolean representing if you want to test if value sticks when set
@returns {false|string} returns the string version of the property, or false if it is unsupported