diff --git a/packages/ember-utils/lib/is_proxy.ts b/packages/ember-utils/lib/is_proxy.ts index 008159c2a22..9ec455fc723 100644 --- a/packages/ember-utils/lib/is_proxy.ts +++ b/packages/ember-utils/lib/is_proxy.ts @@ -4,7 +4,10 @@ import WeakSet from './weak_set'; const PROXIES = new WeakSet(); export function isProxy(object: any | undefined | null) { - return PROXIES.has(object); + if (isObject(object)) { + return PROXIES.has(object); + } + return false; } export function setProxy(object: object) { diff --git a/packages/ember-utils/tests/is_proxy_test.js b/packages/ember-utils/tests/is_proxy_test.js new file mode 100644 index 00000000000..d9c61b581ba --- /dev/null +++ b/packages/ember-utils/tests/is_proxy_test.js @@ -0,0 +1,18 @@ +import { isProxy, setProxy } from '..'; +import { moduleFor, AbstractTestCase } from 'internal-test-helpers'; + +moduleFor( + 'ember-utils isProxy', + class extends AbstractTestCase { + ['@test basic'](assert) { + let proxy = {}; + setProxy(proxy); + + assert.equal(isProxy(proxy), true); + + assert.equal(isProxy({}), false); + assert.equal(isProxy(undefined), false); + assert.equal(isProxy(null), false); + } + } +);