@@ -4,6 +4,7 @@ describe 'uiGmapCircle', ->
44 modelClicked = false
55
66 afterEach ->
7+ window .google .maps .event .clearListeners ()
78 GCircle .resetInstances ()
89 modelClicked = false
910
@@ -46,6 +47,7 @@ describe 'uiGmapCircle', ->
4647 visible : true
4748 events :
4849 radius_changed : (gObject ) ->
50+ center_changed : (gObject ) ->
4951 control : {}
5052
5153 apiMock = window [' uiGmapInitiator' ]
@@ -56,10 +58,8 @@ describe 'uiGmapCircle', ->
5658 @injects .push (uiGmapCircle) =>
5759 @subject = uiGmapCircle
5860
59- @circle .events =
60- radius_changed : ->
61-
62- _spy = spyOn @circle .events , ' radius_changed'
61+ spyOn @circle .events , ' radius_changed'
62+ spyOn @circle .events , ' center_changed'
6363
6464 map .circle = @circle
6565
@@ -78,7 +78,6 @@ describe 'uiGmapCircle', ->
7878 describe ' events' , ->
7979 it ' call radius changed once' , (done ) ->
8080
81-
8281 listener = GCircle .creationSubscribe @ , (gObject ) =>
8382 _ .delay =>
8483 window .google .maps .event .fireListener (gObject,' radius_changed' )
@@ -92,6 +91,66 @@ describe 'uiGmapCircle', ->
9291 GCircle .creationUnSubscribe listener
9392 , 500
9493
94+ describe " updates gObject from model" , ->
95+ it ' change center' , (done ) ->
96+ # issue 1271
97+ @ digest =>
98+ @ timeout =>
99+ @circle .center =
100+ longitude : 50
101+ latitude : - 50
102+ # @circle.radius = 1
103+ @ digest =>
104+ @ timeout =>
105+ gTestObject = @circle .control .getCircle ().getCenter ()
106+ expect (gTestObject ? .lng ()).toBe (50 )
107+ expect (gTestObject ? .lat ()).toBe (- 50 )
108+ done ()
109+ , 500
110+
111+ # describe "updates model from gObject", ->
112+ # it 'change center', (done) ->
113+ # listener = GCircle.creationSubscribe @, (gObject) =>
114+ # _.delay =>
115+ # gObject.setCenter
116+ # lng: -> 50
117+ # lat: -> -50
118+ # @digest =>
119+ # @timeout =>
120+ # expect(@circle.center.latitude).toBe(-50)
121+ # expect(@circle.center.longitude).toBe(50)
122+ # done()
123+ # @digest =>
124+ # @timeout =>
125+ # GCircle.creationUnSubscribe listener
126+ # , 500
127+
128+ it ' change radius does not fire center_changed' , (done ) ->
129+ listener = GCircle .creationSubscribe @ , (gObject ) =>
130+ _ .delay =>
131+ @ digest =>
132+ gObject .setRadius 200
133+ expect (@circle .events .radius_changed ).toHaveBeenCalled ()
134+ expect (@circle .events .center_changed ).not .toHaveBeenCalled ()
135+ done ()
136+ @ digest =>
137+ @ timeout =>
138+ GCircle .creationUnSubscribe listener
139+ , 500
140+
141+ it ' change center does not fire radius_changed' , (done ) ->
142+ listener = GCircle .creationSubscribe @ , (gObject ) =>
143+ _ .delay =>
144+ @ digest =>
145+ gObject .setCenter
146+ lng : -> 50
147+ lat : -> - 50
148+ expect (@circle .events .center_changed ).toHaveBeenCalled ()
149+ expect (@circle .events .radius_changed ).not .toHaveBeenCalled ()
150+ done ()
151+ @ digest =>
152+ GCircle .creationUnSubscribe listener
153+
95154 it ' exists' , ->
96155 expect (@subject ).toBeDefined ()
97156
@@ -100,4 +159,4 @@ describe 'uiGmapCircle', ->
100159 @ timeout =>
101160 expect (@circle .control .getCircle ).toBeDefined ()
102161 expect (@circle .control .getCircle ()).toEqual (jasmine .any (GCircle))
103- done ()
162+ done ()
0 commit comments