// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#import <CoreLocation/CoreLocation.h>

#import "ios/chrome/browser/geolocation/CLLocation+XGeoHeader.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace {

NSString* const kEncoded550BatterySt =
    @"a cm9sZTogQ1VSUkVOVF9MT0NBVElPTgpwcm9kdWNlcjogREVWSUNFX0xPQ0FUSU9OCnRpbWV"
     "zdGFtcDogMTM4OTAwMDAwMDAwMDAwMApyYWRpdXM6IDEwMDAwCmxhdGxuZyA8CiAgbGF0aXR1"
     "ZGVfZTc6IDM3Nzk2MzIyMAogIGxvbmdpdHVkZV9lNzogLTEyMjQwMDI5MTAKPg==";

TEST(CLLocationXGeoHeaderTest, TestXGeoString) {
  CLLocationCoordinate2D coordinate =
      CLLocationCoordinate2DMake(37.796322, -122.400291);
  // Picked a fixed timestamp. This one is 2014-01-06 09:20:00 +0000.
  NSDate* timestamp = [NSDate dateWithTimeIntervalSince1970:1389000000];
  CLLocation* location =
      [[[CLLocation alloc] initWithCoordinate:coordinate
                                     altitude:0
                           horizontalAccuracy:10
                             verticalAccuracy:100
                                       course:0
                                        speed:0
                                    timestamp:timestamp] autorelease];
  NSString* xGeoString = [location cr_xGeoString];
  EXPECT_TRUE([xGeoString isEqualToString:kEncoded550BatterySt]);
}

}  // namespace