Skip to content

Commit 9f6b7ac

Browse files
committed
Add test for omit_notes
1 parent 01d3df8 commit 9f6b7ac

File tree

1 file changed

+47
-5
lines changed

1 file changed

+47
-5
lines changed

Tests/XCLogParserTests/ParserTests.swift

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ import XCTest
2323
// swiftlint:disable type_body_length file_length
2424
class ParserTests: XCTestCase {
2525

26-
let parser = ParserBuildSteps(omitWarningsDetails: false)
26+
let parser = ParserBuildSteps(omitWarningsDetails: false,
27+
omitNotesDetails: false)
2728

2829
func testDateFormatterUsesJSONFormat() {
2930
let jsonDateString = "2014-09-27T12:30:00.450000Z"
@@ -39,7 +40,9 @@ class ParserTests: XCTestCase {
3940
let machineName = UUID.init().uuidString
4041
let uniqueIdentifier = "uniqueIdentifier"
4142
let timestamp = Date().timeIntervalSinceNow
42-
let parser = ParserBuildSteps(machineName: machineName, omitWarningsDetails: false)
43+
let parser = ParserBuildSteps(machineName: machineName,
44+
omitWarningsDetails: false,
45+
omitNotesDetails: false)
4346
let fakeMainSection = IDEActivityLogSection(sectionType: 1,
4447
domainType: "",
4548
title: "Main",
@@ -65,7 +68,9 @@ class ParserTests: XCTestCase {
6568
XCTAssertEqual("\(machineName)_\(uniqueIdentifier)", buildStep.buildIdentifier)
6669

6770
if let hostName = Host.current().localizedName {
68-
let parserNoMachineName = ParserBuildSteps(machineName: nil, omitWarningsDetails: false)
71+
let parserNoMachineName = ParserBuildSteps(machineName: nil,
72+
omitWarningsDetails: false,
73+
omitNotesDetails: false)
6974
let buildStepNoMachineName = try parserNoMachineName.parse(activityLog: fakeActivityLog)
7075
XCTAssertEqual("\(hostName)_\(uniqueIdentifier)", buildStepNoMachineName.buildIdentifier)
7176
}
@@ -387,7 +392,9 @@ note: use 'updatedDoSomething' instead\r doSomething()\r ^~~~~~~~~~~\r
387392
}
388393

389394
func testGetIndividualSteps() throws {
390-
let buildStep = try parser.parseLogSection(logSection: fakeSwiftCompilation, type: .detail, parentSection: nil)
395+
let buildStep = try parser.parseLogSection(logSection: fakeSwiftCompilation,
396+
type: .detail,
397+
parentSection: nil)
391398
let expectedDocumentURLs = ["file:///test_project/PodsTest/Pods/Alamofire/Source/AFError.swift",
392399
"file:///test_project/PodsTest/Pods/Alamofire/Source/Alamofire.swift",
393400
"file:///test_project/PodsTest/Pods/Alamofire/Source/AlamofireExtended.swift",
@@ -441,12 +448,47 @@ note: use 'updatedDoSomething' instead\r doSomething()\r ^~~~~~~~~~~\r
441448
let fakeLog = getFakeIDEActivityLogWithMessages([warningMessage],
442449
andText: "This is deprecated, [-Wdeprecated-declarations]",
443450
loc: textDocumentLocation)
444-
let parser = ParserBuildSteps(omitWarningsDetails: true)
451+
let parser = ParserBuildSteps(omitWarningsDetails: true,
452+
omitNotesDetails: false)
445453
let build = try parser.parse(activityLog: fakeLog)
446454
XCTAssertEqual(0, build.warnings?.count ?? 0, "Warnings should be empty")
447455
XCTAssertEqual(1, build.warningCount, "Number of warnings should be reported")
448456
}
449457

458+
func testParseOmitNotes() throws {
459+
let timestamp = Date().timeIntervalSinceReferenceDate
460+
let textDocumentLocation = DVTTextDocumentLocation(documentURLString: "file://project/file.m",
461+
timestamp: timestamp,
462+
startingLineNumber: 10,
463+
startingColumnNumber: 11,
464+
endingLineNumber: 12,
465+
endingColumnNumber: 13,
466+
characterRangeEnd: 14,
467+
characterRangeStart: 15,
468+
locationEncoding: 16)
469+
470+
let noteMessage = IDEActivityLogMessage(title: "This is a npte",
471+
shortTitle: "",
472+
timeEmitted: timestamp,
473+
rangeEndInSectionText: 18446744073709551615,
474+
rangeStartInSectionText: 0,
475+
subMessages: [],
476+
severity: 1,
477+
type: "com.apple.dt.IDE.diagnostic",
478+
location: textDocumentLocation,
479+
categoryIdent: "",
480+
secondaryLocations: [],
481+
additionalDescription: "")
482+
483+
let fakeLog = getFakeIDEActivityLogWithMessages([noteMessage],
484+
andText: "Log",
485+
loc: textDocumentLocation)
486+
let parser = ParserBuildSteps(omitWarningsDetails: false,
487+
omitNotesDetails: true)
488+
let build = try parser.parse(activityLog: fakeLog)
489+
XCTAssertEqual(0, build.notes?.count ?? 0, "Notes should be empty")
490+
}
491+
450492
// swiftlint:disable line_length
451493
let commandDetailSwiftSteps = """
452494
CompileSwift normal x86_64 (in target 'Alamofire' from project 'Pods')

0 commit comments

Comments
 (0)