diff options
| -rw-r--r-- | src/jqLite.js | 4 | ||||
| -rw-r--r-- | test/jqLiteSpec.js | 13 | 
2 files changed, 14 insertions, 3 deletions
diff --git a/src/jqLite.js b/src/jqLite.js index ae6da9f7..dbd57447 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -193,8 +193,8 @@ function JQLiteDealoc(element){    }  } -function JQLiteOff(element, type, fn) { -  if ( arguments.length > 4 ) throw jqLiteMinErr('off_args', 'jqLite#off() does not support the `selector` parameter'); +function JQLiteOff(element, type, fn, selector) { +  if (isDefined(selector)) throw jqLiteMinErr('off_args', 'jqLite#off() does not support the `selector` argument');    var events = JQLiteExpandoStore(element, 'events'),        handle = JQLiteExpandoStore(element, 'handle'); diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index ab98a70f..f8d71bc9 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -901,7 +901,7 @@ describe('jqLite', function() {    }); -  describe('unbind', function() { +  describe('off', function() {      it('should do nothing when no listener was registered with bound', function() {        var aElem = jqLite(a); @@ -1051,6 +1051,17 @@ describe('jqLite', function() {        expect(masterSpy).not.toHaveBeenCalled();        expect(extraSpy).toHaveBeenCalledOnce();      }); + +    // Only run this test for jqLite and not normal jQuery +    if ( _jqLiteMode ) { +      it('should throw an error if a selector is passed', function () { +        var aElem = jqLite(a); +        aElem.on('click', noop); +        expect(function () { +          aElem.off('click', noop, '.test'); +        }).toThrowMatching(/\[jqLite:off_args\]/); +      }); +    }    });  | 
