Skip to content

Commit 3b519e8

Browse files
authored
fix: make sure that use self comes out of formatter when self is used (#2885)
1 parent 286d6e8 commit 3b519e8

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

pkg/schemadsl/generator/generator.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ func (sg *sourceGenerator) mustEmitSetOpChild(setOpChild *core.SetOperation_Chil
347347

348348
case *core.SetOperation_Child_XSelf:
349349
sg.append("self")
350+
sg.flags.Add("self")
350351

351352
case *core.SetOperation_Child_ComputedUserset:
352353
sg.append(child.ComputedUserset.Relation)

pkg/schemadsl/generator/generator_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ definition foos/document {
244244
}
245245
}
246246

247+
// TestFormatting asserts that the input schema gets turned into the output schema
247248
func TestFormatting(t *testing.T) {
248249
type formattingTest struct {
249250
name string
@@ -413,6 +414,34 @@ definition document {
413414
}`,
414415
`definition document {
415416
relation viewer: user
417+
}`,
418+
},
419+
{
420+
"use self happy path",
421+
`use self
422+
423+
definition user {
424+
relation viewer: user
425+
permission view = viewer + self
426+
}`,
427+
`use self
428+
429+
definition user {
430+
relation viewer: user
431+
permission view = viewer + self
432+
}`,
433+
},
434+
{
435+
"use self unused",
436+
`use self
437+
438+
definition user {
439+
relation viewer: user
440+
permission view = viewer
441+
}`,
442+
`definition user {
443+
relation viewer: user
444+
permission view = viewer
416445
}`,
417446
},
418447
}

0 commit comments

Comments
 (0)