anchor.diff:  import 'package:unittest/unittest.dart';
   import 'package:unittest/html_enhanced_config.dart';
   import 'package:leaflet/map/map.dart' show BaseMap, containerProp;
  -import 'package:leaflet/geo/geo.dart' show LatLng;
  +import 'package:leaflet/geo/geo.dart' show LatLng, LatLngBounds;
   import 'package:leaflet/core/core.dart' show Event, EventType;
  +import 'package:leaflet/layer/layer.dart' show Layer;
   
   
   main() {
  
positive.code:       test('fires a layerremove event if the map is ready', () {
          var layer = { onAdd: sinon.spy(), onRemove: sinon.spy() },
              spy = sinon.spy();
          map.on('layerremove', spy);
          map.setView([0, 0], 0);
          map.addLayer(layer);
          map.removeLayer(layer);
          expect(spy.called).to.be.ok();
  
negative.code:         });
        });
  
        group('when a tile layer is removed from a map and it had greater zoom level coverage than the remainding layer', () {
          test('fires a zoomlevelschange event', () {
            map.whenReady(() {
              final spy = sinon.spy(),
                tl = new TileLayer('{z}{x}{y}', {minZoom: 0, maxZoom: 10}).addTo(map),
                  t2 = new TileLayer('{z}{x}{y}', {minZoom: 0, maxZoom: 15}).addTo(map);
  
              map.on(EventType.ZOOMLEVELSCHANGE, spy);
              expect(spy.called).to.not.be.ok();
              map.removeLayer(t2);
              expect(spy.called).to.be.ok();
  