// Test negative reading. func TestSMLNegativeReading(t *testing.T) { assert := asserts.NewTestingAsserts(t, true) sml := "{Foo {bar:1 Yadda {test} {} 1} {bar:2 Yadda 2}}" builder := markup.NewNodeBuilder() err := markup.ReadSML(strings.NewReader(sml), builder) assert.ErrorMatch(err, "invalid rune.*", "Invalid rune should be found.") }
// Test positive reading. func TestSMLPositiveReading(t *testing.T) { assert := asserts.NewTestingAsserts(t, true) sml := "Before! {foo {bar:1:first Yadda ^{Test^} 1} {! Raw: }} { ! ^^^ !} {inbetween} {bar:2:last Yadda {Test ^^} 2}} After!" builder := markup.NewNodeBuilder() err := markup.ReadSML(strings.NewReader(sml), builder) assert.Nil(err, "Expected no reader error.") root := builder.Root() assert.Equal(root.Tag(), "foo", "Root tag is 'foo'.") assert.NotEmpty(root, "Root tag is not empty.") buf := bytes.NewBufferString("") markup.WriteSML(root, buf, true) println("===== PARSED SML =====") println(buf.String()) println("===== DONE =====") }