Do not emit BOM for UTF-8 (Solve #88) merged-on-behalf-of: BBasile <BBasile@users.noreply.github.com>
This commit is contained in:
parent
d514e9f67c
commit
e7ea38652b
|
@ -1177,11 +1177,10 @@ struct Emitter
|
|||
void writeStreamStart() @system
|
||||
{
|
||||
immutable(ubyte)[] bom;
|
||||
//Write BOM (always, even for UTF-8)
|
||||
//Write BOM (except for UTF-8)
|
||||
final switch(encoding_)
|
||||
{
|
||||
case Encoding.UTF_8:
|
||||
bom = ByteOrderMarks[BOM.UTF8];
|
||||
break;
|
||||
case Encoding.UTF_16:
|
||||
bom = std.system.endian == Endian.littleEndian
|
||||
|
|
|
@ -134,3 +134,18 @@ unittest
|
|||
// Clean up.
|
||||
remove("output.yaml");
|
||||
}
|
||||
|
||||
unittest // #88, #89
|
||||
{
|
||||
import dyaml.dumper, dyaml.loader;
|
||||
import std.file : remove, read;
|
||||
|
||||
enum fn = "output.yaml";
|
||||
scope (exit) fn.remove;
|
||||
|
||||
auto dumper = Dumper(fn);
|
||||
dumper.YAMLVersion = null; // supress directive
|
||||
dumper.dump(Loader.fromString("Hello world".dup).load);
|
||||
|
||||
assert (cast (char[]) fn.read()[0..3] == "Hel");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue