diff options
Diffstat (limited to 'apps/system/test/unit/mock_notification_screen.js')
-rw-r--r-- | apps/system/test/unit/mock_notification_screen.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/apps/system/test/unit/mock_notification_screen.js b/apps/system/test/unit/mock_notification_screen.js new file mode 100644 index 0000000..2c88a90 --- /dev/null +++ b/apps/system/test/unit/mock_notification_screen.js @@ -0,0 +1,38 @@ +var MockNotificationScreen = { + wasMethodCalled: {}, + + mockMethods: [ + 'incExternalNotifications', + 'decExternalNotifications', + 'updateStatusBarIcon' + ], + + mockPopulate: function mockPopulate() { + this.mockMethods.forEach(function(methodName) { + // we could probably put this method outside if we had a closure + this[methodName] = function mns_method() { + this.methodCalled(methodName); + }; + }, this); + }, + + init: function mns_init() { + this.wasMethodCalled = {}; + this.mockMethods.forEach(function(methodName) { + this[methodName].wasCalled = false; + }, this); + }, + + methodCalled: function mns_methodCalled(name) { + this.wasMethodCalled[name] = + this.wasMethodCalled[name] ? this.wasMethodCalled[name]++ : 1; + this[name].wasCalled = true; + }, + + mTeardown: function mns_mTeardown() { + this.init(); + } +}; + +MockNotificationScreen.mockPopulate(); + |