Skip to content

Commit

Permalink
fix(hasDeclaredDependencies): handle deps already converted to Comput…
Browse files Browse the repository at this point in the history
…edExpression

fixes #359
  • Loading branch information
jdanyow committed Mar 25, 2016
1 parent 76c1008 commit 7160248
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/computed-observation.js
Expand Up @@ -3,7 +3,7 @@ import {createOverrideContext} from './scope';
import {ExpressionObserver} from './expression-observer';

export function hasDeclaredDependencies(descriptor) {
return descriptor && descriptor.get && descriptor.get.dependencies && descriptor.get.dependencies.length > 0;
return !!(descriptor && descriptor.get && descriptor.get.dependencies);
}

export function declarePropertyDependencies(ctor, propertyName, dependencies) {
Expand Down
11 changes: 10 additions & 1 deletion test/computed-observation.spec.js
@@ -1,5 +1,9 @@
import './setup';
import {declarePropertyDependencies, computedFrom} from '../src/computed-observation';
import {
declarePropertyDependencies,
computedFrom,
hasDeclaredDependencies
} from '../src/computed-observation';
import {ExpressionObserver} from '../src/expression-observer';
import {createObserverLocator, Person, Foo} from './shared';

Expand All @@ -20,6 +24,7 @@ describe('declarePropertyDependencies', () => {
declarePropertyDependencies(Person, 'fullName', dependencies);
expect(Object.getOwnPropertyDescriptor(person.constructor.prototype, 'fullName').get.dependencies)
.toBe(dependencies);
expect(hasDeclaredDependencies(Object.getPropertyDescriptor(person, 'fullName'))).toBe(true);
});

it('should declare dependencies for properties with a setter', () => {
Expand Down Expand Up @@ -75,6 +80,10 @@ describe('createComputedObserver', () => {
observer = locator.getObserver(person, 'fullName');
});

it('should have declared dependencies after observer is created', () => {
expect(hasDeclaredDependencies(Object.getPropertyDescriptor(person, 'fullName'))).toBe(true);
});

it('should be an ExpressionObserver', () => {
expect(observer instanceof ExpressionObserver).toBe(true);
});
Expand Down

0 comments on commit 7160248

Please sign in to comment.