Skip to content

Commit

Permalink
Remvoe withKnownIssue for unit tests with observation
Browse files Browse the repository at this point in the history
  • Loading branch information
1024jp committed Dec 2, 2024
1 parent ca5e2a5 commit 6f32422
Showing 1 changed file with 53 additions and 35 deletions.
88 changes: 53 additions & 35 deletions Tests/Sources/Models/EditorCounterTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ import Testing
}


@Test func allRequiredInfo() throws {
@Test func allRequiredInfo() async throws {

let source = Source(string: self.testString, selectedRange: NSRange(11..<21))

Expand All @@ -77,23 +77,29 @@ import Testing
counter.invalidateContent()
counter.invalidateSelection()

withKnownIssue("values will be updated asynchronously (This is the issue on the test side.)") {
#expect(counter.result.lines.entire == 3)
#expect(counter.result.characters.entire == 31)
#expect(counter.result.words.entire == 6)

#expect(counter.result.characters.selected == 9)
#expect(counter.result.lines.selected == 1)
#expect(counter.result.words.selected == 2)

#expect(counter.result.location == 10)
#expect(counter.result.column == 0)
#expect(counter.result.line == 2)
await withCheckedContinuation { continuation in
withObservationTracking {
_ = counter.result.column
} onChange: {
continuation.resume()
}
}

#expect(counter.result.lines.entire == 3)
#expect(counter.result.characters.entire == 31)
#expect(counter.result.words.entire == 6)

#expect(counter.result.characters.selected == 9)
#expect(counter.result.lines.selected == 1)
#expect(counter.result.words.selected == 2)

#expect(counter.result.location == 10)
#expect(counter.result.column == 0)
#expect(counter.result.line == 2)
}


@Test func skipWholeText() throws {
@Test func skipWholeText() async throws {

let source = Source(string: self.testString, selectedRange: NSRange(11..<21))

Expand All @@ -106,19 +112,25 @@ import Testing
#expect(counter.result.characters.entire == nil)
#expect(counter.result.words.entire == nil)

withKnownIssue("values will be updated asynchronously (This is the issue on the test side.)") {
#expect(counter.result.lines.selected == 1)
#expect(counter.result.characters.selected == 9)
#expect(counter.result.words.selected == 2)

#expect(counter.result.location == 10)
#expect(counter.result.column == 0)
#expect(counter.result.line == 2)
await withCheckedContinuation { continuation in
withObservationTracking {
_ = counter.result.column
} onChange: {
continuation.resume()
}
}

#expect(counter.result.lines.selected == 1)
#expect(counter.result.characters.selected == 9)
#expect(counter.result.words.selected == 2)

#expect(counter.result.location == 10)
#expect(counter.result.column == 0)
#expect(counter.result.line == 2)
}


@Test func crlf() throws {
@Test func crlf() async throws {

let source = Source(string: "a\r\nb", selectedRange: NSRange(1..<4))

Expand All @@ -128,19 +140,25 @@ import Testing
counter.invalidateContent()
counter.invalidateSelection()

withKnownIssue("values will be updated asynchronously (This is the issue on the test side.)") {
#expect(counter.result.lines.entire == 2)
#expect(counter.result.characters.entire == 3)
#expect(counter.result.words.entire == 2)

#expect(counter.result.lines.selected == 2)
#expect(counter.result.characters.selected == 2)
#expect(counter.result.words.selected == 1)

#expect(counter.result.location == 1)
#expect(counter.result.column == 1)
#expect(counter.result.line == 1)
await withCheckedContinuation { continuation in
withObservationTracking {
_ = counter.result.column
} onChange: {
continuation.resume()
}
}

#expect(counter.result.lines.entire == 2)
#expect(counter.result.characters.entire == 3)
#expect(counter.result.words.entire == 2)

#expect(counter.result.lines.selected == 2)
#expect(counter.result.characters.selected == 2)
#expect(counter.result.words.selected == 1)

#expect(counter.result.location == 1)
#expect(counter.result.column == 1)
#expect(counter.result.line == 1)
}


Expand Down

0 comments on commit 6f32422

Please sign in to comment.