diff options
author | Corey Hulen <corey@hulen.com> | 2017-03-01 12:33:16 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-01 12:33:16 -0500 |
commit | 633e894e4f082ceb210a475d13157bbcac715bf8 (patch) | |
tree | 60b6a45f4ecd235b731113891d4c2b906c8cb160 /model | |
parent | 71e6a423e889e771a5fa29b344c16d07c8f8a763 (diff) | |
download | chat-633e894e4f082ceb210a475d13157bbcac715bf8.tar.gz chat-633e894e4f082ceb210a475d13157bbcac715bf8.tar.bz2 chat-633e894e4f082ceb210a475d13157bbcac715bf8.zip |
Fixing parsing of device Ids (#5580)
Diffstat (limited to 'model')
-rw-r--r-- | model/push_notification.go | 9 | ||||
-rw-r--r-- | model/push_notification_test.go | 75 |
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 = "" +} |