Most of the other solutions worked generally, but gave false negatives (e.g., IE9 does support it, but most test would indicate it did not). Here’s what seems to work so far, for me:

var cover = (function(){
    var supported = ('backgroundSize' in;
        var temp = document.createElement('div'); = 'cover';
        supported = == 'cover';
    return supported;

If you just use the second test (in the if block), old IE will report true – the first test is needed to filter out those implementations that’ll give a false positive.