forked from jshiffer/go-xmpp
		
	Add helpers to access full / bare jid as string
This commit is contained in:
		
							
								
								
									
										11
									
								
								jid.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								jid.go
									
									
									
									
									
								
							| @@ -50,6 +50,17 @@ func NewJid(sjid string) (*Jid, error) { | ||||
| 	return jid, nil | ||||
| } | ||||
|  | ||||
| func (j *Jid) Full() string { | ||||
| 	return j.Node + "@" + j.Domain + "/" + j.Resource | ||||
| } | ||||
|  | ||||
| func (j *Jid) Bare() string { | ||||
| 	return j.Node + "@" + j.Domain | ||||
| } | ||||
|  | ||||
| // ============================================================================ | ||||
| // Helpers, for parsing / validation | ||||
|  | ||||
| func isUsernameValid(username string) bool { | ||||
| 	invalidRunes := []rune{'@', '/', '\'', '"', ':', '<', '>'} | ||||
| 	return strings.IndexFunc(username, isInvalid(invalidRunes)) < 0 | ||||
|   | ||||
							
								
								
									
										25
									
								
								jid_test.go
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								jid_test.go
									
									
									
									
									
								
							| @@ -59,3 +59,28 @@ func TestIncorrectJids(t *testing.T) { | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func TestFull(t *testing.T) { | ||||
| 	jid := "test@domain.com/my resource" | ||||
| 	parsedJid, err := NewJid(jid) | ||||
| 	if err != nil { | ||||
| 		t.Errorf("could not parse jid: %v", err) | ||||
| 	} | ||||
| 	fullJid := parsedJid.Full() | ||||
| 	if fullJid != jid { | ||||
| 		t.Errorf("incorrect full jid: %s", fullJid) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func TestBare(t *testing.T) { | ||||
| 	jid := "test@domain.com" | ||||
| 	fullJid := jid + "/my resource" | ||||
| 	parsedJid, err := NewJid(fullJid) | ||||
| 	if err != nil { | ||||
| 		t.Errorf("could not parse jid: %v", err) | ||||
| 	} | ||||
| 	bareJid := parsedJid.Bare() | ||||
| 	if bareJid != jid { | ||||
| 		t.Errorf("incorrect bare jid: %s", bareJid) | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Mickael Remond
					Mickael Remond