summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--model/push_notification.go9
-rw-r--r--model/push_notification_test.go75
2 files changed, 80 insertions, 4 deletions
diff --git a/model/push_notification.go b/model/push_notification.go
index c426e01e5..753495b2f 100644
--- a/model/push_notification.go
+++ b/model/push_notification.go
@@ -49,10 +49,11 @@ func (me *PushNotification) ToJson() string {
func (me *PushNotification) SetDeviceIdAndPlatform(deviceId string) {
- parts := strings.Split(deviceId, ":")
- if len(parts) == 2 {
- me.Platform = parts[0]
- me.DeviceId = parts[1]
+ index := strings.Index(deviceId, ":")
+
+ if index > -1 {
+ me.Platform = deviceId[:index]
+ me.DeviceId = deviceId[index+1:]
}
}
diff --git a/model/push_notification_test.go b/model/push_notification_test.go
index 94329f389..e8b2fa2d4 100644
--- a/model/push_notification_test.go
+++ b/model/push_notification_test.go
@@ -17,3 +17,78 @@ func TestPushNotification(t *testing.T) {
t.Fatal("Ids do not match")
}
}
+
+func TestPushNotificationDeviceId(t *testing.T) {
+
+ msg := PushNotification{Platform: "test"}
+
+ msg.SetDeviceIdAndPlatform("android:12345")
+ if msg.Platform != "android" {
+ t.Fatal(msg.Platform)
+ }
+ if msg.DeviceId != "12345" {
+ t.Fatal(msg.DeviceId)
+ }
+ msg.Platform = ""
+ msg.DeviceId = ""
+
+ msg.SetDeviceIdAndPlatform("android:12:345")
+ if msg.Platform != "android" {
+ t.Fatal(msg.Platform)
+ }
+ if msg.DeviceId != "12:345" {
+ t.Fatal(msg.DeviceId)
+ }
+ msg.Platform = ""
+ msg.DeviceId = ""
+
+ msg.SetDeviceIdAndPlatform("android::12345")
+ if msg.Platform != "android" {
+ t.Fatal(msg.Platform)
+ }
+ if msg.DeviceId != ":12345" {
+ t.Fatal(msg.DeviceId)
+ }
+ msg.Platform = ""
+ msg.DeviceId = ""
+
+ msg.SetDeviceIdAndPlatform(":12345")
+ if msg.Platform != "" {
+ t.Fatal(msg.Platform)
+ }
+ if msg.DeviceId != "12345" {
+ t.Fatal(msg.DeviceId)
+ }
+ msg.Platform = ""
+ msg.DeviceId = ""
+
+ msg.SetDeviceIdAndPlatform("android:")
+ if msg.Platform != "android" {
+ t.Fatal(msg.Platform)
+ }
+ if msg.DeviceId != "" {
+ t.Fatal(msg.DeviceId)
+ }
+ msg.Platform = ""
+ msg.DeviceId = ""
+
+ msg.SetDeviceIdAndPlatform("")
+ if msg.Platform != "" {
+ t.Fatal(msg.Platform)
+ }
+ if msg.DeviceId != "" {
+ t.Fatal(msg.DeviceId)
+ }
+ msg.Platform = ""
+ msg.DeviceId = ""
+
+ msg.SetDeviceIdAndPlatform(":")
+ if msg.Platform != "" {
+ t.Fatal(msg.Platform)
+ }
+ if msg.DeviceId != "" {
+ t.Fatal(msg.DeviceId)
+ }
+ msg.Platform = ""
+ msg.DeviceId = ""
+}