google / uuid

Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Update documentation and code for Invalid Variant

toothrot opened this issue · comments

It would be nice if the uuid.Invalid documentation or the (uuid.UUID).Variant() documentation mentioned this in addition to the readme, as it was confusing until I saw 3943dc5. I had read through the documentation, code, and tests before the readme of the repository, so there was a little wasted effort and confusion.

Specifically, the unit tests are a little misleading, as uuid.Parse() returns an error in the Invalid cases:

uuid/uuid_test.go

Lines 62 to 67 in 44b5fee

{"f47ac10b158cc-5372-a567-0e02b2c3d479", 0, Invalid, false},
{"f47ac10b-58cc25372-a567-0e02b2c3d479", 0, Invalid, false},
{"f47ac10b-58cc-53723a567-0e02b2c3d479", 0, Invalid, false},
{"f47ac10b-58cc-5372-a56740e02b2c3d479", 0, Invalid, false},
{"f47ac10b-58cc-5372-a567-0e02-2c3d479", 0, Invalid, false},
{"g47ac10b-58cc-4372-a567-0e02b2c3d479", 0, Invalid, false},

The variant is never checked in the unit tests in an error scenario:

uuid/uuid_test.go

Lines 99 to 101 in 44b5fee

if err != nil {
return
}