From 821413607a0718156f9d25d895e89b1c3d37aa8b Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Wed, 06 Feb 2013 13:49:14 +0000 Subject: Copy various bits from gaia --- (limited to 'apps/system/test/unit/mock_navigator_moz_telephony.js') diff --git a/apps/system/test/unit/mock_navigator_moz_telephony.js b/apps/system/test/unit/mock_navigator_moz_telephony.js new file mode 100644 index 0000000..21f461c --- /dev/null +++ b/apps/system/test/unit/mock_navigator_moz_telephony.js @@ -0,0 +1,55 @@ +'use strict'; + +(function() { + + var props = ['active', 'calls']; + + var listeners; + + function mnmt_init() { + props.forEach(function(prop) { + Mock[prop] = null; + }); + + listeners = {}; + } + + function mnmt_addEventListener(evtName, func) { + listeners[evtName] = listeners[evtName] || []; + listeners[evtName].push(func); + } + + function mnmt_removeEventListener(evtName, func) { + if (listeners[evtName]) { + var listenerArray = listeners[evtName]; + var index = listenerArray.indexOf(func); + if (index !== -1) { + listenerArray.splice(index, 1); + } + } + } + + function mnmt_mTriggerEvent(evt) { + var evtName = evt.type; + if (listeners[evtName]) { + listeners[evtName].forEach(function(listener) { + if (listener.handleEvent) { + listener.handleEvent(evt); + } else { + listener.call(Mock, evt); + } + }); + } + } + + var Mock= { + addEventListener: mnmt_addEventListener, + removeEventListener: mnmt_removeEventListener, + mTeardown: mnmt_init, + mTriggerEvent: mnmt_mTriggerEvent + }; + + mnmt_init(); + + window.MockNavigatorMozTelephony = Mock; +})(); -- cgit v0.9.1