MCPcopy Index your code
hub / github.com/go-git/go-git / TestParseRefWithInvalidName

Method TestParseRefWithInvalidName

internal/revision/parser_test.go:374–400  ·  view source on GitHub ↗
(c *C)

Source from the content-addressed store, hash-verified

372}
373
374func (s *ParserSuite) TestParseRefWithInvalidName(c *C) {
375 datas := map[string]error{
376 ".master": &ErrInvalidRevision{`must not start with "."`},
377 "/master": &ErrInvalidRevision{`must not start with "/"`},
378 "master/": &ErrInvalidRevision{`must not end with "/"`},
379 "master.": &ErrInvalidRevision{`must not end with "."`},
380 "refs/remotes/.origin/HEAD": &ErrInvalidRevision{`must not contains "/."`},
381 "test..test": &ErrInvalidRevision{`must not contains ".."`},
382 "test..": &ErrInvalidRevision{`must not contains ".."`},
383 "test test": &ErrInvalidRevision{`must not contains " "`},
384 "test*test": &ErrInvalidRevision{`must not contains "*"`},
385 "test?test": &ErrInvalidRevision{`must not contains "?"`},
386 "test\\test": &ErrInvalidRevision{`must not contains "\"`},
387 "test[test": &ErrInvalidRevision{`must not contains "["`},
388 "te//st": &ErrInvalidRevision{`must not contains consecutively "/"`},
389 "refs/remotes/test.lock/HEAD": &ErrInvalidRevision{`cannot end with .lock`},
390 "test.lock": &ErrInvalidRevision{`cannot end with .lock`},
391 }
392
393 for s, e := range datas {
394 parser := NewParser(bytes.NewBufferString(s))
395
396 _, err := parser.parseRef()
397
398 c.Assert(err, DeepEquals, e)
399 }
400}
401
402func FuzzParser(f *testing.F) {
403 f.Add("@{2016-12-16T21:42:47Z}")

Callers

nothing calls this directly

Calls 2

parseRefMethod · 0.95
NewParserFunction · 0.70

Tested by

no test coverage detected