structs_test.go
changeset 12 122ab6208c3c
parent 7 4f0f66f9a441
child 21 8f6ae5cfc9b9
equal deleted inserted replaced
11:48be1ae93fd4 12:122ab6208c3c
    23 	if !jid.Set(str) {
    23 	if !jid.Set(str) {
    24 		t.Errorf("Set(%s) failed\n", str)
    24 		t.Errorf("Set(%s) failed\n", str)
    25 	}
    25 	}
    26 	assertEquals(t, "user", *jid.Node)
    26 	assertEquals(t, "user", *jid.Node)
    27 	assertEquals(t, "domain", jid.Domain)
    27 	assertEquals(t, "domain", jid.Domain)
    28 	assertEquals(t, "res", *jid.Resource)
    28 	assertEquals(t, "res", jid.Resource)
    29 	assertEquals(t, str, jid.String())
    29 	assertEquals(t, str, jid.String())
    30 
    30 
    31 	str = "domain.tld"
    31 	str = "domain.tld"
    32 	if !jid.Set(str) {
    32 	if !jid.Set(str) {
    33 		t.Errorf("Set(%s) failed\n", str)
    33 		t.Errorf("Set(%s) failed\n", str)
    34 	}
    34 	}
    35 	if jid.Node != nil {
    35 	if jid.Node != nil {
    36 		t.Errorf("Node: %v\n", *jid.Node)
    36 		t.Errorf("Node: %v\n", *jid.Node)
    37 	}
    37 	}
    38 	assertEquals(t, "domain.tld", jid.Domain)
    38 	assertEquals(t, "domain.tld", jid.Domain)
    39 	if jid.Resource != nil {
    39 	if jid.Resource != "" {
    40 		t.Errorf("Resource: %v\n", *jid.Resource)
    40 		t.Errorf("Resource: %v\n", jid.Resource)
    41 	}
    41 	}
    42 	assertEquals(t, str, jid.String())
    42 	assertEquals(t, str, jid.String())
    43 }
    43 }
    44 
    44 
    45 func assertMarshal(t *testing.T, expected string, marshal interface{}) {
    45 func assertMarshal(t *testing.T, expected string, marshal interface{}) {
    79 	exp = `<stream:error><ack xmlns="` + nsStreams +
    79 	exp = `<stream:error><ack xmlns="` + nsStreams +
    80 		`"></ack><text xmlns="` + nsStreams +
    80 		`"></ack><text xmlns="` + nsStreams +
    81 		`" xml:lang="pt">things happen</text></stream:error>`
    81 		`" xml:lang="pt">things happen</text></stream:error>`
    82 	assertMarshal(t, exp, e)
    82 	assertMarshal(t, exp, e)
    83 }
    83 }
       
    84 
       
    85 func TestIqMarshal(t *testing.T) {
       
    86 	iq := &Iq{Type: "set", Id: "3", Any: &Unrecognized{XMLName:
       
    87 			xml.Name{Space: nsBind, Local: "bind"}}}
       
    88 	exp := `<iq id="3" type="set"><bind xmlns="` + nsBind +
       
    89 		`"></bind></iq>`
       
    90 	assertMarshal(t, exp, iq)
       
    91 }