1+ 'use strict' ;
2+ /*global ngDescribe:false */
3+ /*global it:false */
4+ /*global expect:false */
5+
6+
7+ ngDescribe ( {
8+ modules : 'angular-leaflet' ,
9+ inject : [ 'leafletService' ] ,
10+ tests : function ( deps ) {
11+ it ( 'should have default settings' , function ( ) {
12+ var settings = deps . leafletService . settings ;
13+ expect ( settings . center . zoom ) . toBe ( 12 ) ;
14+ expect ( settings . tiles . url ) . toBe ( 'http://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png' ) ;
15+ expect ( settings . tiles . options . attribution ) . toBe ( '© Openstreetmap France | © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>' ) ;
16+ expect ( settings . tiles . options . maxZoom ) . toBe ( 19 ) ;
17+ } ) ;
18+ it ( 'should handle leaflet events' , function ( ) {
19+ var service = deps . leafletService ;
20+ var iscallbackCalled = false ;
21+ var isApplyed = false ;
22+ var callback = function ( e ) {
23+ iscallbackCalled = true ;
24+ } ;
25+ var eventRegistry = { } ;
26+ var map = {
27+ on : function ( event , callback ) {
28+ eventRegistry [ event ] = callback ;
29+ } ,
30+ off : function ( event , callback ) {
31+ delete eventRegistry [ event ] ;
32+ }
33+ } ;
34+ var scope = { '$on' : function ( event , callback ) {
35+ eventRegistry [ event ] = callback ;
36+ } , '$apply' : function ( ) {
37+ isApplyed = true ;
38+ } } ;
39+
40+
41+ expect ( iscallbackCalled ) . toBe ( false ) ;
42+ expect ( isApplyed ) . toBe ( false ) ;
43+ expect ( eventRegistry . on ) . toBe ( ) ;
44+ expect ( eventRegistry . off ) . toBe ( ) ;
45+
46+ service . on ( 'click' , callback , map , scope ) ;
47+
48+ expect ( iscallbackCalled ) . toBe ( false ) ;
49+ expect ( isApplyed ) . toBe ( false ) ;
50+ expect ( eventRegistry . click ) . not . toBe ( callback ) ;
51+ var data = { } ;
52+ eventRegistry . click ( data ) ;
53+ expect ( iscallbackCalled ) . toBe ( true ) ;
54+ expect ( isApplyed ) . toBe ( true ) ;
55+
56+
57+ iscallbackCalled = false ;
58+ isApplyed = false ;
59+ scope . $$phase = true ; //mark that already in digest
60+ eventRegistry . click ( data ) ;
61+ expect ( iscallbackCalled ) . toBe ( true ) ;
62+ expect ( isApplyed ) . toBe ( false ) ;
63+ } ) ;
64+ }
65+
66+ } ) ;
0 commit comments