@@ -4,6 +4,7 @@ describe 'uiGmapCircle', ->
4
4
modelClicked = false
5
5
6
6
afterEach ->
7
+ window .google .maps .event .clearListeners ()
7
8
GCircle .resetInstances ()
8
9
modelClicked = false
9
10
@@ -46,6 +47,7 @@ describe 'uiGmapCircle', ->
46
47
visible : true
47
48
events :
48
49
radius_changed : (gObject ) ->
50
+ center_changed : (gObject ) ->
49
51
control : {}
50
52
51
53
apiMock = window [' uiGmapInitiator' ]
@@ -56,10 +58,8 @@ describe 'uiGmapCircle', ->
56
58
@injects .push (uiGmapCircle) =>
57
59
@subject = uiGmapCircle
58
60
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'
63
63
64
64
map .circle = @circle
65
65
@@ -78,7 +78,6 @@ describe 'uiGmapCircle', ->
78
78
describe ' events' , ->
79
79
it ' call radius changed once' , (done ) ->
80
80
81
-
82
81
listener = GCircle .creationSubscribe @ , (gObject ) =>
83
82
_ .delay =>
84
83
window .google .maps .event .fireListener (gObject,' radius_changed' )
@@ -92,6 +91,66 @@ describe 'uiGmapCircle', ->
92
91
GCircle .creationUnSubscribe listener
93
92
, 500
94
93
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
+
95
154
it ' exists' , ->
96
155
expect (@subject ).toBeDefined ()
97
156
@@ -100,4 +159,4 @@ describe 'uiGmapCircle', ->
100
159
@ timeout =>
101
160
expect (@circle .control .getCircle ).toBeDefined ()
102
161
expect (@circle .control .getCircle ()).toEqual (jasmine .any (GCircle))
103
- done ()
162
+ done ()
0 commit comments