From 168716b78cf4d128d73885f875c4bb6d03caf06b Mon Sep 17 00:00:00 2001 From: mo Date: Sun, 3 Sep 2017 18:58:18 -0600 Subject: add class to resolve object from path. --- spec/javascripts/lib/proxy_spec.js.coffee | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 spec/javascripts/lib/proxy_spec.js.coffee (limited to 'spec/javascripts') 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) -- cgit v1.2.3