public void IdentifierSanitizationOfGraphqlName(GraphqlName s) { var sanitized = NameSanitizer.SanitizeCsharpName(s.Name, null); Assert.True(SyntaxFacts.IsValidIdentifier(sanitized)); Assert.True(SyntaxFacts.IsValidIdentifier(s.Name)); Assert.Equal(sanitized, s.Name); }
public void ParseListTypeName(GraphqlName a, bool invertNulls) { var normalName = Helpers.ParseTypeRef(invertNulls ? $"[{a}]" : $"[{a}!]!", invertNulls); var actualType = (normalName as TypeRef.ListTypeCase)?.Type as TypeRef.ActualTypeCase; Assert.NotNull(actualType); Assert.Equal(actualType.TypeName, a.Name); }
public void ParseNullableTypeName(GraphqlName a, bool invertNulls) { var normalName = Helpers.ParseTypeRef(invertNulls ? a.Name + "!" : a.Name, invertNulls); var actualType = (normalName as TypeRef.NullableTypeCase)?.Type as TypeRef.ActualTypeCase; Assert.NotNull(actualType); Assert.Equal(actualType.TypeName, a.Name); }
public void ParseTypeField(GraphqlName name, GraphqlName type) { var f = Helpers.ParseTypeField($"{name}: {type}!"); Assert.Equal(f.Name, name.Name); var actualType = f.Type as TypeRef.ActualTypeCase; Assert.Equal(actualType.TypeName, type.Name); }
public void ParseTypeFieldWithDirectives(GraphqlName name, GraphqlName type, GraphqlName dir2name, GraphqlName argName) { var f = Helpers.ParseTypeField($"{name}: {type} @dir1(lol: \"ahoj\") @{dir2name}({argName}: 12) @dir3", invertNonNull: true); Assert.Equal(f.Name, name.Name); var actualType = f.Type as TypeRef.ActualTypeCase; Assert.Equal(actualType.TypeName, type.Name); var dir1 = f.Directives.Single(d => d.Name == "dir1"); var dir2 = f.Directives.Single(d => d.Name == dir2name.Name); var dir3 = f.Directives.Single(d => d.Name == "dir3"); Assert.Equal("{\"lol\":\"ahoj\"}", dir1.Args.ToString(Formatting.None)); Assert.Equal("{\"" + argName + "\":12}", dir2.Args.ToString(Formatting.None)); Assert.Equal("{}", dir3.Args.ToString(Formatting.None)); }
public void ParseType(GraphqlName name, (GraphqlName name, GraphqlName type, GraphqlName[] directives)[] fields, GraphqlName implements, GraphqlName directive)