@@ -715,12 +715,9 @@ c: 3
715715 doc.update (['XML' ], 'Extensible Markup Language' );
716716
717717 expect (
718- doc.toString (),
719- equals (
720- "{YAML: YAML Ain't Markup Language, "
721- 'XML: Extensible Markup Language}' ,
722- ),
723- );
718+ doc.toString (),
719+ '{XML: Extensible Markup Language, '
720+ "YAML: YAML Ain't Markup Language}" );
724721 expectYamlBuilderValue (doc, {
725722 'XML' : 'Extensible Markup Language' ,
726723 'YAML' : "YAML Ain't Markup Language" ,
@@ -745,6 +742,31 @@ d: 4
745742 expectYamlBuilderValue (doc, {'a' : 1 , 'b' : 2 , 'c' : 3 , 'd' : 4 });
746743 });
747744
745+ test ('Preserves alphabetical order single' , () {
746+ {
747+ final doc = YamlEditor ('''
748+ b: 2
749+ ''' );
750+ doc.update (['a' ], 1 );
751+ expect (doc.toString (), '''
752+ a: 1
753+ b: 2
754+ ''' );
755+ expectYamlBuilderValue (doc, {'a' : 1 , 'b' : 2 });
756+ }
757+ {
758+ final doc = YamlEditor ('''
759+ a: 1
760+ ''' );
761+ doc.update (['b' ], 2 );
762+ expect (doc.toString (), '''
763+ a: 1
764+ b: 2
765+ ''' );
766+ expectYamlBuilderValue (doc, {'a' : 1 , 'b' : 2 });
767+ }
768+ });
769+
748770 // Regression testing to ensure it works without leading whitespace
749771 test ('(2)' , () {
750772 final doc = YamlEditor ('a: 1' );
0 commit comments