We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hello, consider a test comparing two strings that _do not end with a newline:
func TestNoNewline(t *testing.T) { want := "banana" have := "mango" assert.Equal(t, want, have) }
the output will be:
foo_test.go:156: Expected values to be equal: -banana \ No newline at end of file +mango \ No newline at end of file
which is quite confusing: sure, there is no newline at the end of the "file", but it is on purpose :-)
I would expect simply:
foo_test.go:156: Expected values to be equal: -banana +mango
If I change diff() as follows:
diff --git a/assert.go b/assert.go index d2df971a5f..1692e38afd 100644 --- a/assert.go +++ b/assert.go @@ -194,8 +194,8 @@ func diff[T any](lhs, rhs T) string { var lhss, rhss string // Special case strings so we get nice diffs. if l, ok := any(lhs).(string); ok { - lhss = l - rhss = any(rhs).(string) + lhss = l + "\n" + rhss = any(rhs).(string) + "\n" } else { lhss = repr.String(lhs, repr.Indent(" ")) + "\n" rhss = repr.String(rhs, repr.Indent(" ")) + "\n"
I get the following 4 cases, which seem reasonable to me:
Case 1
gives:
marco_test.go:12: Expected values to be equal: -banana +mango --- FAIL: TestNoNewline (0.00s)
Case 2
func TestWithNewline1(t *testing.T) { want := "banana\n" have := "mango" assert.Equal(t, want, have) }
marco_test.go:18: Expected values to be equal: -banana - +mango --- FAIL: TestWithNewline1 (0.00s)
Case 3
func TestWithNewline2(t *testing.T) { want := "banana" have := "mango\n" assert.Equal(t, want, have) }
gives
marco_test.go:24: Expected values to be equal: -banana +mango + --- FAIL: TestWithNewline2 (0.00s)
Case 4
func TestWithNewline(t *testing.T) { want := "banana\n" have := "mango\n" assert.Equal(t, want, have) }
marco_test.go:18: Expected values to be equal: -banana +mango <-- blank like, but doesn't seem to be a problem --- FAIL: TestWithNewline (0.00s)
If you see value, I will be happy to provide a PR.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
hello,
consider a test comparing two strings that _do not end with a newline:
the output will be:
which is quite confusing: sure, there is no newline at the end of the "file", but it is on purpose :-)
I would expect simply:
If I change diff() as follows:
I get the following 4 cases, which seem reasonable to me:
Case 1
gives:
Case 2
gives:
Case 3
gives
Case 4
gives:
If you see value, I will be happy to provide a PR.
The text was updated successfully, but these errors were encountered: