Remove InternalsVisibleTo from AssetRipper.Yaml

This commit is contained in:
ds5678 2025-09-21 14:20:12 -07:00
parent fe32ffbbab
commit 6ec94c23bb
5 changed files with 21 additions and 25 deletions

View File

@ -7,13 +7,11 @@ public static class FlowMappingTests
[Test] [Test]
public static void Vector2FlowMappingTest() public static void Vector2FlowMappingTest()
{ {
StringWriter writer = new(); YamlMappingNode mappingNode = new(MappingStyle.Flow)
Emitter emitter = new Emitter(writer, false); {
YamlMappingNode mappingNode = new YamlMappingNode(MappingStyle.Flow); { "x", 2 },
mappingNode.Add("x", 2); { "y", 3 }
mappingNode.Add("y", 3); };
mappingNode.Emit(emitter); Assert.That(mappingNode.EmitToString(), Is.EqualTo("{x: 2, y: 3}"));
string output = writer.ToString();
Assert.That(output, Is.EqualTo("{x: 2, y: 3}"));
} }
} }

View File

@ -14,7 +14,7 @@ public class YamlScalarNodeTests
Assert.That(node.Value, Is.EqualTo("\0")); Assert.That(node.Value, Is.EqualTo("\0"));
Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar)); Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar));
Assert.That(node.Style, Is.EqualTo(ScalarStyle.DoubleQuoted)); Assert.That(node.Style, Is.EqualTo(ScalarStyle.DoubleQuoted));
Assert.That(ToString(node), Is.EqualTo("\"\\u0000\"")); Assert.That(node.EmitToString(), Is.EqualTo("\"\\u0000\""));
} }
} }
@ -28,7 +28,7 @@ public class YamlScalarNodeTests
Assert.That(node.Value, Is.EqualTo(someText)); Assert.That(node.Value, Is.EqualTo(someText));
Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar)); Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar));
Assert.That(node.Style, Is.EqualTo(ScalarStyle.DoubleQuoted)); Assert.That(node.Style, Is.EqualTo(ScalarStyle.DoubleQuoted));
Assert.That(ToString(node), Is.EqualTo("\"Some text\\u0003\"")); Assert.That(node.EmitToString(), Is.EqualTo("\"Some text\\u0003\""));
} }
} }
@ -42,7 +42,7 @@ public class YamlScalarNodeTests
Assert.That(node.Value, Is.EqualTo(asciiCharacters)); Assert.That(node.Value, Is.EqualTo(asciiCharacters));
Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar)); Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar));
Assert.That(node.Style, Is.EqualTo(ScalarStyle.Plain)); Assert.That(node.Style, Is.EqualTo(ScalarStyle.Plain));
Assert.That(ToString(node), Is.EqualTo(asciiCharacters)); Assert.That(node.EmitToString(), Is.EqualTo(asciiCharacters));
} }
} }
@ -66,15 +66,7 @@ public class YamlScalarNodeTests
Assert.That(node.Value, Is.EqualTo(expected)); Assert.That(node.Value, Is.EqualTo(expected));
Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar)); Assert.That(node.NodeType, Is.EqualTo(YamlNodeType.Scalar));
Assert.That(node.Style, Is.EqualTo(ScalarStyle.Plain)); Assert.That(node.Style, Is.EqualTo(ScalarStyle.Plain));
Assert.That(ToString(node), Is.EqualTo(expected)); Assert.That(node.EmitToString(), Is.EqualTo(expected));
} }
} }
private static string ToString(YamlNode node)
{
StringWriter writer = new();
Emitter emitter = new(writer, false);
node.Emit(emitter);
return writer.ToString();
}
} }

View File

@ -6,7 +6,8 @@ internal sealed class Emitter
{ {
public Emitter(TextWriter writer, bool formatKeys) public Emitter(TextWriter writer, bool formatKeys)
{ {
m_stream = writer ?? throw new ArgumentNullException(nameof(writer)); ArgumentNullException.ThrowIfNull(writer);
m_stream = writer;
IsFormatKeys = formatKeys; IsFormatKeys = formatKeys;
} }
@ -233,7 +234,7 @@ internal sealed class Emitter
} }
public bool IsFormatKeys { get; } public bool IsFormatKeys { get; }
public bool IsKey { get; set; } internal bool IsKey { get; set; }
private readonly TextWriter m_stream; private readonly TextWriter m_stream;

View File

@ -1,3 +0,0 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("AssetRipper.Yaml.Tests")]

View File

@ -30,6 +30,14 @@ public abstract class YamlNode
} }
} }
public string EmitToString(bool formatKeys = false)
{
using StringWriter writer = new();
Emitter emitter = new(writer, formatKeys);
Emit(emitter);
return writer.ToString();
}
public abstract YamlNodeType NodeType { get; } public abstract YamlNodeType NodeType { get; }
public abstract bool IsMultiline { get; } public abstract bool IsMultiline { get; }
public abstract bool IsIndent { get; } public abstract bool IsIndent { get; }