Skip to content

Commit

Permalink
GDTCORDirectorySizeTracker: fix NSURL constructor (#6580)
Browse files Browse the repository at this point in the history
* GDTCORDirectorySizeTracker: replace optional NSURL constructor with non-optional.

* GDTCORDirectorySizeTracker tests for the issue

* ./scripts/style.sh

* changelog
  • Loading branch information
maksymmalyhin committed Sep 28, 2020
1 parent 2311c36 commit 38be2cc
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 1 deletion.
1 change: 1 addition & 0 deletions GoogleDataTransport/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Unreleased
- Legacy pre Xcode 10 compatibility checks removed. (#6486)
- `GDTCORDirectorySizeTracker` crash fixed. (#6540)

# v7.4.0
- Limit disk space consumed by GoogleDataTransport to store events. (#6365)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ - (void)resetCachedSize {
- (GDTCORStorageSizeBytes)calculateDirectoryContentSize {
NSArray *prefetchedProperties = @[ NSURLIsRegularFileKey, NSURLFileSizeKey ];
uint64_t totalBytes = 0;
NSURL *directoryURL = [NSURL URLWithString:self.directoryPath];
NSURL *directoryURL = [NSURL fileURLWithPath:self.directoryPath];

NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager]
enumeratorAtURL:directoryURL
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#import <XCTest/XCTest.h>

#import "GoogleDataTransport/GDTCORLibrary/Internal/GDTCORDirectorySizeTracker.h"

@interface GDTCORDirectorySizeTrackerTests : XCTestCase

@end

@implementation GDTCORDirectorySizeTrackerTests

- (void)testDirectoryContentSizeDoesNotCrashWhenDirectoryPathContainsWhitespaces {
NSString *pathWithSpaces = [NSTemporaryDirectory() stringByAppendingPathComponent:@"some dir"];
GDTCORDirectorySizeTracker *tracker =
[[GDTCORDirectorySizeTracker alloc] initWithDirectoryPath:pathWithSpaces];

XCTAssertNoThrow([tracker directoryContentSize]);
}

@end

0 comments on commit 38be2cc

Please sign in to comment.