1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| describe("Creating a marker", function() {
| var map, marker;
|
| beforeEach(function() {
| map = map || new GMaps({
| el : '#map-with-markers',
| lat : -12.0533,
| lng: -77.0293,
| zoom: 14
| });
| });
|
| describe("With basic options", function() {
| beforeEach(function() {
| marker = map.addMarker({
| lat : -12.0533,
| lng: -77.0293,
| title : 'New marker'
| });
| });
|
| it("should add the marker to the markers collection", function() {
| expect(map.markers.length).toEqual(1);
| expect(map.markers[0]).toEqual(marker);
| });
|
| it("should create a marker with defined position", function() {
| // Fix for floating-point bug
| expect(parseFloat(marker.getPosition().lat().toFixed(4))).toEqual(-12.0533);
| expect(parseFloat(marker.getPosition().lng().toFixed(4))).toEqual(-77.0293);
| });
| });
|
| describe("With events", function() {
| var callbacks;
|
| beforeEach(function() {
| callbacks = {
| onclick : function() {
| console.log(this.title);
| }
| };
|
| spyOn(callbacks, 'onclick').andCallThrough();
|
| marker = map.addMarker({
| lat : -12.0533,
| lng: -77.0193,
| title : 'New marker',
| click : callbacks.onclick
| });
| });
|
| it("should respond to click event", function() {
| google.maps.event.trigger(marker, 'click');
|
| expect(callbacks.onclick).toHaveBeenCalled();
| });
| });
| });
|
|