diff options
| author | mo <mo.khan@gmail.com> | 2017-09-03 18:58:18 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2017-09-03 18:58:18 -0600 |
| commit | 168716b78cf4d128d73885f875c4bb6d03caf06b (patch) | |
| tree | 54198367847248cfad999dacdd55363a08ec123b /spec/javascripts/lib | |
| parent | 8863c9d09c4b2be5516e97406b09fa460386f8fa (diff) | |
add class to resolve object from path.
Diffstat (limited to 'spec/javascripts/lib')
| -rw-r--r-- | spec/javascripts/lib/proxy_spec.js.coffee | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/javascripts/lib/proxy_spec.js.coffee b/spec/javascripts/lib/proxy_spec.js.coffee new file mode 100644 index 00000000..d7d14bd3 --- /dev/null +++ b/spec/javascripts/lib/proxy_spec.js.coffee @@ -0,0 +1,29 @@ +describe "CakeSide.Proxy", -> + subject = null + + describe "#create", -> + object = null + subject = CakeSide.Proxy + + beforeEach -> + object = + top: 'one' + more: + stuff: ['a','b'] + + it 'gets the value of a shallow object reference', -> + expect(subject.create(object, 'top')).toEqual(object.top) + + it 'gets the value of a deep object reference', -> + expect(subject.create(object, 'more.stuff')).toEqual(object.more.stuff) + + it 'sets the value of a shallow object reference', -> + subject.create(object, 'top', 'two') + expect(object.top).toEqual('two') + + it 'sets the value of a deep object reference', -> + subject.create(object, 'more.stuff', 5) + expect(object.more.stuff).toEqual(5) + + it "returns undefined if a reference doesn't exist", -> + expect(subject.create(object, 'non.existent.path')).toEqual(undefined) |
