'use strict';varvalues=require('../');values.shim();vartest=require('tape');vardefineProperties=require('define-properties');varisEnumerable=Object.prototype.propertyIsEnumerable;varfunctionsHaveNames=require('functions-have-names')();varrunTests=require('./tests');test('shimmed',function(t){t.equal(Object.values.length,1,'Object.values has a length of 1');t.test('Function name',{skip:!functionsHaveNames},function(st){st.equal(Object.values.name,'values','Object.values has name "values"');st.end();});t.test('enumerability',{skip:!defineProperties.supportsDescriptors},function(et){et.equal(false,isEnumerable.call(Object,'values'),'Object.values is not enumerable');et.end();});varsupportsStrictMode=(function(){returntypeofthis==='undefined';}());t.test('bad object value',{skip:!supportsStrictMode},function(st){st['throws'](function(){returnObject.values(undefined);},TypeError,'undefined is not an object');st['throws'](function(){returnObject.values(null);},TypeError,'null is not an object');st.end();});runTests(Object.values,t);t.end();});