diff options
| -rw-r--r-- | src/jqLite.js | 8 | ||||
| -rw-r--r-- | test/jqLiteSpec.js | 17 | 
2 files changed, 25 insertions, 0 deletions
| diff --git a/src/jqLite.js b/src/jqLite.js index 6749b26e..6056730a 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -107,6 +107,14 @@ var jqCache = JQLite.cache = {},        ? function(element, type, fn) {element.removeEventListener(type, fn, false); }        : function(element, type, fn) {element.detachEvent('on' + type, fn); }); +/* + * !!! This is an undocumented "private" function !!! + */ +var jqData = JQLite._data = function(node) { +  //jQuery always returns an object on cache miss +  return this.cache[node[this.expando]] || {}; +}; +  function jqNextId() { return ++jqId; } diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index a98e94b9..82db95b6 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -97,6 +97,23 @@ describe('jqLite', function() {      });    }); +  describe('_data', function() { +    it('should provide access to the data present on the element', function() { +      var element = jqLite('<i>foo</i>'); +      var data = ['value']; +      element.data('val', data); +      expect(angular.element._data(element[0]).data.val).toBe(data); +      dealoc(element); +    }); + +    it('should provide access to the events present on the element', function() { +      var element = jqLite('<i>foo</i>'); +      expect(angular.element._data(element[0]).events).toBeUndefined(); + +      element.on('click', function() { }); +      expect(angular.element._data(element[0]).events.click).toBeDefined(); +    }); +  });    describe('inheritedData', function() { | 
