diff --git a/tests/integration/jquery-calls.js b/tests/integration/jquery-calls.js index 78d969d2..a8083b91 100644 --- a/tests/integration/jquery-calls.js +++ b/tests/integration/jquery-calls.js @@ -25,4 +25,32 @@ test('multiple elements with arguments works', function (assert) { '2', 'The call should also change the value on the second element' ); +}); + +test('initializes correctly when jQuery $.data contains cyclic reference object', function (assert) { + var $ = require('jquery'); + require('jquery.select2'); + + var $select = $( + '' + ); + + // Add a circular reference object using jQuery. + var recursiveObject = {}; + + recursiveObject['same'] = recursiveObject; + + $select.data('same', recursiveObject); + + $select.select2(); + + assert.equal( + $select.val(), + '3', + 'The option value should be pulled correctly' + ); }); \ No newline at end of file