text: // Copyright (C) 2020 Rick Waldron. All rights reserved.
  // This code is governed by the BSD license found in the LICENSE file.
  /*---
  esid: sec-object.getownpropertysymbols
  description: >
      Object.getOwnPropertySymbols called with an invalid non-object value
  info: |
    GetOwnPropertyKeys ( O, type )
  
    Let obj be ? ToObject(O).
    Let keys be ? obj.[[OwnPropertyKeys]]().
    Let nameList be a new empty List.
    For each element nextKey of keys, do
      If Type(nextKey) is Symbol and type is symbol or Type(nextKey) is String and type is string, then
        Append nextKey as the last element of nameList.
    Return CreateArrayFromList(nameList).
  
  features: [Symbol]
  ---*/
  
  let count = 0;
  
  assert.throws(TypeError, () => {
    count++;
    Object.getOwnPropertySymbols(undefined);
  }, '`Object.getOwnPropertySymbols(undefined)` throws TypeError');
  
  assert.throws(TypeError, () => {
    count++;
    Object.getOwnPropertySymbols(null);
  }, '`Object.getOwnPropertySymbols(null)` throws TypeError');
  
  assert.sameValue(count, 2, 'The value of `count` is 2');
  