summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2017-09-03 18:58:18 -0600
committermo <mo.khan@gmail.com>2017-09-03 18:58:18 -0600
commit168716b78cf4d128d73885f875c4bb6d03caf06b (patch)
tree54198367847248cfad999dacdd55363a08ec123b /spec
parent8863c9d09c4b2be5516e97406b09fa460386f8fa (diff)
add class to resolve object from path.
Diffstat (limited to 'spec')
-rw-r--r--spec/javascripts/lib/proxy_spec.js.coffee29
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)