text: /* eslint-disable space-before-function-paren, no-var, no-return-assign, comma-dangle, jasmine/no-spec-dupes, new-cap, max-len */
  
  /*= require behaviors/quick_submit */
  
  (function() {
    describe('Quick Submit behavior', function() {
      var keydownEvent;
      preloadFixtures('static/behaviors/quick_submit.html.raw');
      beforeEach(function() {
        loadFixtures('static/behaviors/quick_submit.html.raw');
        $('form').submit(function(e) {
          // Prevent a form submit from moving us off the testing page
          return e.preventDefault();
        });
        return this.spies = {
          submit: spyOnEvent('form', 'submit')
        };
      });
      it('does not respond to other keyCodes', function() {
        $('input.quick-submit-input').trigger(keydownEvent({
          keyCode: 32
        }));
        return expect(this.spies.submit).not.toHaveBeenTriggered();
      });
      it('does not respond to Enter alone', function() {
        $('input.quick-submit-input').trigger(keydownEvent({
          ctrlKey: false,
          metaKey: false
        }));
        return expect(this.spies.submit).not.toHaveBeenTriggered();
      });
      it('does not respond to repeated events', function() {
        $('input.quick-submit-input').trigger(keydownEvent({
          repeat: true
        }));
        return expect(this.spies.submit).not.toHaveBeenTriggered();
      });
      it('disables submit buttons', function() {
        $('textarea').trigger(keydownEvent());
        expect($('input[type=submit]')).toBeDisabled();
        return expect($('button[type=submit]')).toBeDisabled();
      });
      // We cannot stub `navigator.userAgent` for CI's `rake teaspoon` task, so we'll
      // only run the tests that apply to the current platform
      if (navigator.userAgent.match(/Macintosh/)) {
        it('responds to Meta+Enter', function() {
          $('input.quick-submit-input').trigger(keydownEvent());
          return expect(this.spies.submit).toHaveBeenTriggered();
        });
        it('excludes other modifier keys', function() {
          $('input.quick-submit-input').trigger(keydownEvent({
            altKey: true
          }));
          $('input.quick-submit-input').trigger(keydownEvent({
            ctrlKey: true
          }));
          $('input.quick-submit-input').trigger(keydownEvent({
            shiftKey: true
          }));
          return expect(this.spies.submit).not.toHaveBeenTriggered();
        });
      } else {
        it('responds to Ctrl+Enter', function() {
          $('input.quick-submit-input').trigger(keydownEvent());
          return expect(this.spies.submit).toHaveBeenTriggered();
        });
        it('excludes other modifier keys', function() {
          $('input.quick-submit-input').trigger(keydownEvent({
            altKey: true
          }));
          $('input.quick-submit-input').trigger(keydownEvent({
            metaKey: true
          }));
          $('input.quick-submit-input').trigger(keydownEvent({
            shiftKey: true
          }));
          return expect(this.spies.submit).not.toHaveBeenTriggered();
        });
      }
      return keydownEvent = function(options) {
        var defaults;
        if (navigator.userAgent.match(/Macintosh/)) {
          defaults = {
            keyCode: 13,
            metaKey: true
          };
        } else {
          defaults = {
            keyCode: 13,
            ctrlKey: true
          };
        }
        return $.Event('keydown', $.extend({}, defaults, options));
      };
    });
  }).call(this);
  