diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2013-02-06 13:49:14 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2013-02-06 13:49:14 (GMT) |
commit | 821413607a0718156f9d25d895e89b1c3d37aa8b (patch) | |
tree | 01c285af734ed5bba64b73b489e1e0226a94a262 /apps/system/test/unit/mock_notification_screen.js | |
parent | c110fb485b3af0066c6df7aeac8c055e9d767efa (diff) |
Copy various bits from gaia
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(); + |