summaryrefslogtreecommitdiff
path: root/platform/darwin
diff options
context:
space:
mode:
authorFabian Guerra Soto <fabian.guerra@mapbox.com>2017-03-08 13:15:52 -0800
committerGitHub <noreply@github.com>2017-03-08 13:15:52 -0800
commit05dd34f5842815e007b6152a4d25287537976462 (patch)
tree68df6942fa8fcccaf605289bcd4ecc5580027119 /platform/darwin
parentffa78e2545d27d9ff4c79a6d80725318b834e074 (diff)
downloadqtlocation-mapboxgl-05dd34f5842815e007b6152a4d25287537976462.tar.gz
[ios, macos] Removed duplicated NSDate test files, improved duration converstion for NSDate+MGLAdditions (#8290)
Diffstat (limited to 'platform/darwin')
-rw-r--r--platform/darwin/src/NSDate+MGLAdditions.mm5
-rw-r--r--platform/darwin/test/MGLNSDateAdditionsTests.mm14
2 files changed, 15 insertions, 4 deletions
diff --git a/platform/darwin/src/NSDate+MGLAdditions.mm b/platform/darwin/src/NSDate+MGLAdditions.mm
index 1739805e7c..b45b41f836 100644
--- a/platform/darwin/src/NSDate+MGLAdditions.mm
+++ b/platform/darwin/src/NSDate+MGLAdditions.mm
@@ -7,8 +7,5 @@ mbgl::Duration MGLDurationFromTimeInterval(NSTimeInterval duration)
NSTimeInterval MGLTimeIntervalFromDuration(mbgl::Duration duration)
{
- std::chrono::nanoseconds nano(duration.count());
- std::chrono::seconds sec = std::chrono::duration_cast<std::chrono::seconds>(nano);
-
- return sec.count();
+ return std::chrono::duration<NSTimeInterval, std::ratio<1>>(duration).count();
}
diff --git a/platform/darwin/test/MGLNSDateAdditionsTests.mm b/platform/darwin/test/MGLNSDateAdditionsTests.mm
index 474fe763ff..6d8d951024 100644
--- a/platform/darwin/test/MGLNSDateAdditionsTests.mm
+++ b/platform/darwin/test/MGLNSDateAdditionsTests.mm
@@ -17,9 +17,23 @@ using namespace std::chrono_literals;
NSTimeInterval durationTimeInterval = MGLTimeIntervalFromDuration(duration);
mbgl::Duration expectedDuration = 5s;
+ mbgl::Duration expectedDurationMiliSeconds = 5000ms;
+ mbgl::Duration expectedDurationMicroSeconds = 5000000us;
+ mbgl::Duration expectedDurationNanoSeconds = 5000000000ns;
XCTAssertEqual(timeInterval, durationTimeInterval);
XCTAssertEqual(timeInterval, MGLTimeIntervalFromDuration(expectedDuration));
+ XCTAssertEqual(timeInterval, MGLTimeIntervalFromDuration(expectedDurationMiliSeconds));
+ XCTAssertEqual(timeInterval, MGLTimeIntervalFromDuration(expectedDurationMicroSeconds));
+ XCTAssertEqual(timeInterval, MGLTimeIntervalFromDuration(expectedDurationNanoSeconds));
+
+ mbgl::Duration durationMiliSeconds = 2500ms;
+ mbgl::Duration durationMicroSeconds = 2500000us;
+ mbgl::Duration durationNanoSeconds = 2500000000ns;
+
+ XCTAssertEqual(NSTimeInterval(2.5), MGLTimeIntervalFromDuration(durationMiliSeconds));
+ XCTAssertEqual(NSTimeInterval(2.5), MGLTimeIntervalFromDuration(durationMicroSeconds));
+ XCTAssertEqual(NSTimeInterval(2.5), MGLTimeIntervalFromDuration(durationNanoSeconds));
}