From e4bd02e4d32bcee3ab7a070e8ac24012aa854ad9 Mon Sep 17 00:00:00 2001 From: Mantas Date: Tue, 17 Sep 2019 01:54:45 +0300 Subject: [PATCH] Fixes deleting LocalStorage item with user-id prefix --- .../app/lib/app_init/local_storage.coffee | 2 +- app/views/tests/local_storage.html.erb | 17 +++++++++++ config/routes/test.rb | 1 + public/assets/tests/local_storage.js | 30 +++++++++++++++++++ 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 app/views/tests/local_storage.html.erb create mode 100644 public/assets/tests/local_storage.js diff --git a/app/assets/javascripts/app/lib/app_init/local_storage.coffee b/app/assets/javascripts/app/lib/app_init/local_storage.coffee index 9c22d9096..db2bad695 100644 --- a/app/assets/javascripts/app/lib/app_init/local_storage.coffee +++ b/app/assets/javascripts/app/lib/app_init/local_storage.coffee @@ -14,7 +14,7 @@ class App.LocalStorage @delete: (key, user_id) -> if _instance == undefined _instance ?= new _storeSingleton - _instance.delete(key) + _instance.delete(key, user_id) @clear: -> if _instance == undefined diff --git a/app/views/tests/local_storage.html.erb b/app/views/tests/local_storage.html.erb new file mode 100644 index 000000000..298aee419 --- /dev/null +++ b/app/views/tests/local_storage.html.erb @@ -0,0 +1,17 @@ + + + + + + + + + +
+ + diff --git a/config/routes/test.rb b/config/routes/test.rb index cb74f7deb..9e3f94a7f 100644 --- a/config/routes/test.rb +++ b/config/routes/test.rb @@ -2,6 +2,7 @@ Zammad::Application.routes.draw do match '/tests_core', to: 'tests#core', via: :get match '/tests_session', to: 'tests#session', via: :get + match '/tests_local_storage', to: 'tests#local_storage', via: :get match '/tests_ui', to: 'tests#ui', via: :get match '/tests_model', to: 'tests#model', via: :get match '/tests_model_binding', to: 'tests#model_binding', via: :get diff --git a/public/assets/tests/local_storage.js b/public/assets/tests/local_storage.js new file mode 100644 index 000000000..35f94db4b --- /dev/null +++ b/public/assets/tests/local_storage.js @@ -0,0 +1,30 @@ +window.onload = function() { + +test('Test item removal from local storage', function() { + var key = 'test_key_1' + var value = 'test_value_1' + + App.LocalStorage.set(key, value) + + equal(App.LocalStorage.get(key), value) + + App.LocalStorage.delete(key) + + equal(App.LocalStorage.get(key), undefined) +}); + +test('Test user-specific item removal from local storage', function() { + var key = 'test_key_2' + var value = 'test_value_2' + var user_id = 2 + + App.LocalStorage.set(key, value, user_id) + + equal(App.LocalStorage.get(key, user_id), value) + + App.LocalStorage.delete(key, user_id) + + equal(App.LocalStorage.get(key, user_id), undefined) +}); + +}