sequenceserver 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sequenceserver/api_errors.rb +24 -2
- data/lib/sequenceserver/blast/job.rb +41 -7
- data/lib/sequenceserver/blast/report.rb +36 -30
- data/lib/sequenceserver/config.rb +49 -27
- data/lib/sequenceserver/job.rb +13 -3
- data/lib/sequenceserver/job_remover.rb +25 -29
- data/lib/sequenceserver/refinements.rb +15 -0
- data/lib/sequenceserver/routes.rb +69 -7
- data/lib/sequenceserver/sequence.rb +8 -7
- data/lib/sequenceserver/sys.rb +2 -2
- data/lib/sequenceserver/version.rb +1 -1
- data/lib/sequenceserver/zip_file_generator.rb +56 -0
- data/lib/sequenceserver.rb +1 -0
- data/public/config.js +149 -143
- data/public/css/sequenceserver.css +44 -3
- data/public/css/sequenceserver.min.css +3 -3
- data/public/js/alignment_exporter.js +16 -8
- data/public/js/circos.js +370 -234
- data/public/js/cloud_share_modal.js +216 -0
- data/public/js/databases.js +144 -0
- data/public/js/databases_tree.js +42 -113
- data/public/js/dnd.js +164 -0
- data/public/js/error_modal.js +4 -11
- data/public/js/exporter.js +7 -3
- data/public/js/form.js +260 -0
- data/public/js/grapher.js +113 -106
- data/public/js/hit.js +80 -67
- data/public/js/hits_overview.js +2 -2
- data/public/js/hsp.js +343 -288
- data/public/js/jquery_world.js +4 -4
- data/public/js/mailto.js +36 -0
- data/public/js/options.js +84 -0
- data/public/js/query.js +319 -59
- data/public/js/report.js +315 -269
- data/public/js/report_root.js +75 -0
- data/public/js/search.js +28 -1011
- data/public/js/search_button.js +195 -0
- data/public/js/sequence.js +2409 -2411
- data/public/js/sequence_modal.js +152 -159
- data/public/js/share_url.js +23 -0
- data/public/js/sidebar.js +262 -83
- data/public/js/tests/database.spec.js +60 -0
- data/public/js/tests/mock_data/databases.json +91 -0
- data/public/js/tests/mock_data/long_response.json +269 -0
- data/public/js/tests/mock_data/short_response.json +2240 -0
- data/public/js/tests/report.spec.js +99 -0
- data/public/js/tests/search_button.spec.js +14 -0
- data/public/js/tests/search_query.spec.js +41 -0
- data/public/packages/circosJS@1.7.0.js +1640 -0
- data/public/packages/jquery-ui@1.11.4.js +16624 -0
- data/public/sequenceserver-report.min.js +2425 -19
- data/public/sequenceserver-search.min.js +2337 -15
- data/public/vendor/github/jspm/nodelibs-assert@0.1.0/index.js +2 -0
- data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-assert@0.1.0}/package.json +1 -1
- data/public/vendor/github/jspm/nodelibs-assert@0.1.0.js +1 -0
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.1/package.json +6 -0
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.1.js +1 -0
- data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/package.json +2 -2
- data/public/vendor/github/jspm/nodelibs-process@0.1.2.js +1 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0/index.js +2 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0/package.json +6 -0
- data/public/vendor/github/jspm/nodelibs-vm@0.1.0.js +1 -0
- data/public/vendor/npm/assert@1.5.0/CHANGELOG.md +8 -0
- data/public/vendor/npm/assert@1.5.0/README.md +105 -0
- data/public/vendor/npm/assert@1.5.0/assert.js +327 -0
- data/public/vendor/npm/assert@1.5.0/package.json +32 -0
- data/public/vendor/npm/assert@1.5.0/test.js +288 -0
- data/public/vendor/npm/assert@1.5.0.js +1 -0
- data/public/vendor/npm/{base64-js@0.0.8/LICENSE.MIT → base64-js@1.5.1/LICENSE} +1 -1
- data/public/vendor/npm/{base64-js@0.0.8 → base64-js@1.5.1}/README.md +10 -7
- data/public/vendor/npm/base64-js@1.5.1/base64js.min.js +3 -0
- data/public/vendor/npm/base64-js@1.5.1/index.d.ts +3 -0
- data/public/vendor/npm/base64-js@1.5.1/index.js +151 -0
- data/public/vendor/npm/base64-js@1.5.1/package.json +47 -0
- data/public/vendor/npm/base64-js@1.5.1.js +1 -0
- data/public/vendor/npm/buffer@5.7.1/AUTHORS.md +70 -0
- data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/README.md +111 -41
- data/public/vendor/npm/buffer@5.7.1/index.d.ts +186 -0
- data/public/vendor/npm/buffer@5.7.1/index.js +1817 -0
- data/public/vendor/npm/buffer@5.7.1/package.json +96 -0
- data/public/vendor/npm/buffer@5.7.1.js +1 -0
- data/public/vendor/npm/core-util-is@1.0.3/LICENSE +19 -0
- data/public/vendor/npm/core-util-is@1.0.3/lib/util.js +64 -0
- data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/package.json +13 -1
- data/public/vendor/npm/core-util-is@1.0.3.js +1 -0
- data/public/vendor/npm/events@1.0.2/tests/add-listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/check-listener-leaks.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/common.js +1 -1
- data/public/vendor/npm/events@1.0.2/tests/index.js +13 -13
- data/public/vendor/npm/events@1.0.2/tests/listeners-side-effects.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/max-listeners.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/modify-in-emit.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/num-args.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/once.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/remove-all-listeners.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/remove-listeners.js +3 -3
- data/public/vendor/npm/events@1.0.2/tests/set-max-listeners-side-effects.js +2 -2
- data/public/vendor/npm/events@1.0.2/tests/subclass.js +3 -3
- data/public/vendor/npm/events@1.0.2.js +1 -1
- data/public/vendor/npm/ieee754@1.2.1/LICENSE +11 -0
- data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/README.md +12 -8
- data/public/vendor/npm/ieee754@1.2.1/index.d.ts +10 -0
- data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/index.js +6 -6
- data/public/vendor/npm/ieee754@1.2.1/package.json +52 -0
- data/public/vendor/npm/ieee754@1.2.1.js +1 -0
- data/public/vendor/npm/{is-array@1.0.1 → indexof@0.0.1}/Makefile +3 -3
- data/public/vendor/npm/indexof@0.0.1/Readme.md +15 -0
- data/public/vendor/npm/indexof@0.0.1/component.json +10 -0
- data/public/vendor/npm/indexof@0.0.1/index.js +11 -0
- data/public/vendor/npm/indexof@0.0.1/package.json +12 -0
- data/public/vendor/npm/indexof@0.0.1.js +1 -0
- data/public/vendor/npm/inherits@2.0.1/inherits.js +1 -1
- data/public/vendor/npm/inherits@2.0.1.js +1 -1
- data/public/vendor/npm/isarray@0.0.1.js +1 -1
- data/public/vendor/npm/js-tokens@4.0.0/index.js +23 -0
- data/public/vendor/npm/js-tokens@4.0.0/package.json +30 -0
- data/public/vendor/npm/js-tokens@4.0.0.js +1 -0
- data/public/vendor/npm/loose-envify@1.4.0/LICENSE +21 -0
- data/public/vendor/npm/loose-envify@1.4.0/README.md +45 -0
- data/public/vendor/npm/loose-envify@1.4.0/cli.js +12 -0
- data/public/vendor/npm/loose-envify@1.4.0/custom.js +3 -0
- data/public/vendor/npm/loose-envify@1.4.0/index.js +5 -0
- data/public/vendor/npm/loose-envify@1.4.0/loose-envify.js +33 -0
- data/public/vendor/npm/loose-envify@1.4.0/package.json +36 -0
- data/public/vendor/npm/loose-envify@1.4.0/replace.js +52 -0
- data/public/vendor/npm/loose-envify@1.4.0.js +1 -0
- data/public/vendor/npm/object-assign@4.1.1/index.js +90 -0
- data/public/vendor/npm/object-assign@4.1.1/package.json +42 -0
- data/public/vendor/npm/object-assign@4.1.1.js +1 -0
- data/public/vendor/npm/path-browserify@0.0.0/index.js +1 -1
- data/public/vendor/npm/path-browserify@0.0.0.js +1 -1
- data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/README.md +4 -1
- data/public/vendor/npm/process@0.11.10/browser.js +184 -0
- data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/package.json +10 -1
- data/public/vendor/npm/process@0.11.10/test.js +185 -0
- data/public/vendor/npm/process@0.11.10.js +1 -0
- data/public/vendor/npm/react-dom@18.0.0/LICENSE +21 -0
- data/public/vendor/npm/react-dom@18.0.0/README.md +50 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.development.js +4771 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.production.min.js +85 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.development.js +4813 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.production.min.js +1705 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.development.js +4746 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.production.min.js +90 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.development.js +4714 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.production.min.js +1746 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.development.js +1017 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.production.min.js +617 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.development.js +20092 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.production.min.js +322 -0
- data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.profiling.min.js +364 -0
- data/public/vendor/npm/react-dom@18.0.0/client.js +27 -0
- data/public/vendor/npm/react-dom@18.0.0/index.js +23 -0
- data/public/vendor/npm/react-dom@18.0.0/package.json +62 -0
- data/public/vendor/npm/react-dom@18.0.0/profiling.js +23 -0
- data/public/vendor/npm/react-dom@18.0.0/server.browser.js +19 -0
- data/public/vendor/npm/react-dom@18.0.0/server.js +3 -0
- data/public/vendor/npm/react-dom@18.0.0/server.node.js +19 -0
- data/public/vendor/npm/react-dom@18.0.0/test-utils.js +9 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.development.js +4770 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.production.min.js +72 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.development.js +4745 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.production.min.js +74 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.development.js +1013 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.production.min.js +625 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.development.js +20106 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.production.min.js +269 -0
- data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.profiling.min.js +285 -0
- data/public/vendor/npm/react-dom@18.0.0.js +1 -0
- data/public/vendor/npm/react@18.0.0/LICENSE +21 -0
- data/public/vendor/npm/react@18.0.0/README.md +13 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.development.js +837 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.production.min.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.development.js +849 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.production.min.js +38 -0
- data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.profiling.min.js +38 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.development.js +1746 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.production.min.js +26 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.development.js +10 -0
- data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.production.min.js +12 -0
- data/public/vendor/npm/react@18.0.0/index.js +9 -0
- data/public/vendor/npm/react@18.0.0/jsx-dev-runtime.js +9 -0
- data/public/vendor/npm/react@18.0.0/jsx-runtime.js +9 -0
- data/public/vendor/npm/react@18.0.0/package.json +47 -0
- data/public/vendor/npm/react@18.0.0/react.shared-subset.js +9 -0
- data/public/vendor/npm/react@18.0.0/umd/react.development.js +2186 -0
- data/public/vendor/npm/react@18.0.0/umd/react.production.min.js +33 -0
- data/public/vendor/npm/react@18.0.0/umd/react.profiling.min.js +33 -0
- data/public/vendor/npm/react@18.0.0.js +1 -0
- data/public/vendor/npm/readable-stream@1.1.14/LICENSE +18 -0
- data/public/vendor/npm/readable-stream@1.1.14/duplex.js +2 -0
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_duplex.js +5 -5
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_passthrough.js +3 -3
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_readable.js +10 -10
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_transform.js +4 -4
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_writable.js +6 -6
- data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/package.json +1 -1
- data/public/vendor/npm/readable-stream@1.1.14/passthrough.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14/readable.js +13 -0
- data/public/vendor/npm/readable-stream@1.1.14/transform.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14/writable.js +2 -0
- data/public/vendor/npm/readable-stream@1.1.14.js +1 -0
- data/public/vendor/npm/scheduler@0.21.0/LICENSE +21 -0
- data/public/vendor/npm/scheduler@0.21.0/README.md +9 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.development.js +530 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.production.min.js +20 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.development.js +153 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.production.min.js +14 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.development.js +444 -0
- data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.production.min.js +19 -0
- data/public/vendor/npm/scheduler@0.21.0/index.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0/package.json +36 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.development.js +701 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.production.min.js +21 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.development.js +154 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.production.min.js +148 -0
- data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.profiling.min.js +148 -0
- data/public/vendor/npm/scheduler@0.21.0/unstable_mock.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0/unstable_post_task.js +9 -0
- data/public/vendor/npm/scheduler@0.21.0.js +1 -0
- data/public/vendor/npm/stream-browserify@1.0.0/index.js +7 -7
- data/public/vendor/npm/stream-browserify@1.0.0/test/buf.js +5 -5
- data/public/vendor/npm/stream-browserify@1.0.0.js +1 -1
- data/public/vendor/npm/string_decoder@0.10.31/index.js +2 -2
- data/public/vendor/npm/string_decoder@0.10.31.js +1 -1
- data/public/vendor/npm/util@0.10.3/support/isBuffer.js +1 -1
- data/public/vendor/npm/util@0.10.3/test/browser/inspect.js +2 -2
- data/public/vendor/npm/util@0.10.3/test/browser/is.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/debug.js +4 -4
- data/public/vendor/npm/util@0.10.3/test/node/format.js +2 -2
- data/public/vendor/npm/util@0.10.3/test/node/inspect.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/log.js +3 -3
- data/public/vendor/npm/util@0.10.3/test/node/util.js +3 -3
- data/public/vendor/npm/util@0.10.3/util.js +3 -3
- data/public/vendor/npm/util@0.10.3.js +1 -1
- data/public/vendor/npm/vm-browserify@0.0.4/LICENSE +18 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/bundle.js +376 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/entry.js +6 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/index.html +9 -0
- data/public/vendor/npm/vm-browserify@0.0.4/example/run/server.js +6 -0
- data/public/vendor/npm/vm-browserify@0.0.4/index.js +139 -0
- data/public/vendor/npm/vm-browserify@0.0.4/package.json +46 -0
- data/public/vendor/npm/vm-browserify@0.0.4/readme.markdown +67 -0
- data/public/vendor/npm/vm-browserify@0.0.4/test/vm.js +34 -0
- data/public/vendor/npm/vm-browserify@0.0.4.js +1 -0
- data/public/vendor/npm/webshim@1.15.8/Gruntfile.js +4 -4
- data/public/vendor/npm/webshim@1.15.8/build/combobuild.js +2 -2
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/color-picker.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/10.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/11.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/17.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/5.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/9.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/excanvas.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/form-number-date-ui.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-html4.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-swf.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/sizzle.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/js-webshim/minified/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/color-picker.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/10.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/11.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/17.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/5.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/combos/9.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/es6.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/excanvas.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/form-number-date-ui.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-html4.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-swf.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/src/shims/sizzle.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/dist/jquery.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/core.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/event.js +1388 -711
- data/public/vendor/npm/webshim@1.15.8/tests/qunit/qunit.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-1-custom.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-2-custom.js +1 -1
- data/public/vendor/npm/webshim@1.15.8/tests/test-ext/punycode.js +1 -1
- data/public/vendor/system-polyfills.js +865 -1
- data/views/blastn_options.erb +291 -0
- data/views/blastp_options.erb +288 -0
- data/views/blastx_options.erb +318 -0
- data/views/error.erb +12 -0
- data/views/layout.erb +2 -30
- data/views/report.erb +0 -8
- data/views/search.erb +16 -9
- data/views/tblastn_options.erb +266 -0
- data/views/tblastx_options.erb +291 -0
- metadata +318 -439
- data/public/vendor/github/jspm/nodelibs-buffer@0.1.0.js +0 -1
- data/public/vendor/github/jspm/nodelibs-module@0.1.0/index.js +0 -1
- data/public/vendor/github/jspm/nodelibs-module@0.1.0.js +0 -1
- data/public/vendor/github/jspm/nodelibs-process@0.1.1.js +0 -1
- data/public/vendor/npm/amdefine@1.0.0/LICENSE +0 -58
- data/public/vendor/npm/amdefine@1.0.0/README.md +0 -171
- data/public/vendor/npm/amdefine@1.0.0/amdefine.js +0 -200
- data/public/vendor/npm/amdefine@1.0.0/intercept.js +0 -24
- data/public/vendor/npm/amdefine@1.0.0/package.json +0 -16
- data/public/vendor/npm/amdefine@1.0.0.js +0 -1
- data/public/vendor/npm/base62@0.1.1/LICENSE +0 -20
- data/public/vendor/npm/base62@0.1.1/Readme.md +0 -30
- data/public/vendor/npm/base62@0.1.1/base62.js +0 -28
- data/public/vendor/npm/base62@0.1.1/package.json +0 -21
- data/public/vendor/npm/base62@0.1.1/test/test.js +0 -13
- data/public/vendor/npm/base62@0.1.1.js +0 -1
- data/public/vendor/npm/base64-js@0.0.8/lib/b64.js +0 -125
- data/public/vendor/npm/base64-js@0.0.8/package.json +0 -34
- data/public/vendor/npm/base64-js@0.0.8/test/convert.js +0 -39
- data/public/vendor/npm/base64-js@0.0.8/test/url-safe.js +0 -15
- data/public/vendor/npm/base64-js@0.0.8.js +0 -1
- data/public/vendor/npm/buffer@3.4.3/index.js +0 -1533
- data/public/vendor/npm/buffer@3.4.3/package.json +0 -67
- data/public/vendor/npm/buffer@3.4.3/test/_polyfill.js +0 -152
- data/public/vendor/npm/buffer@3.4.3/test/base64.js +0 -33
- data/public/vendor/npm/buffer@3.4.3/test/basic.js +0 -58
- data/public/vendor/npm/buffer@3.4.3/test/compare.js +0 -53
- data/public/vendor/npm/buffer@3.4.3/test/constructor.js +0 -132
- data/public/vendor/npm/buffer@3.4.3/test/deprecated.js +0 -21
- data/public/vendor/npm/buffer@3.4.3/test/from-string.js +0 -105
- data/public/vendor/npm/buffer@3.4.3/test/methods.js +0 -109
- data/public/vendor/npm/buffer@3.4.3/test/node/README.txt +0 -1
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-ascii.js +0 -20
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-bytelength.js +0 -38
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-concat.js +0 -26
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-indexof.js +0 -78
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-inspect.js +0 -31
- data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer.js +0 -804
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/README.txt +0 -1
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-arraybuffer.js +0 -37
- data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-iterator.js +0 -32
- data/public/vendor/npm/buffer@3.4.3/test/slice.js +0 -33
- data/public/vendor/npm/buffer@3.4.3/test/static.js +0 -32
- data/public/vendor/npm/buffer@3.4.3/test/to-string.js +0 -106
- data/public/vendor/npm/buffer@3.4.3/test/write.js +0 -90
- data/public/vendor/npm/buffer@3.4.3.js +0 -1
- data/public/vendor/npm/core-util-is@1.0.1/float.patch +0 -604
- data/public/vendor/npm/core-util-is@1.0.1/lib/util.js +0 -66
- data/public/vendor/npm/core-util-is@1.0.1/util.js +0 -66
- data/public/vendor/npm/core-util-is@1.0.1.js +0 -1
- data/public/vendor/npm/envify@3.4.0/README.md +0 -145
- data/public/vendor/npm/envify@3.4.0/bin/envify +0 -17
- data/public/vendor/npm/envify@3.4.0/custom.js +0 -33
- data/public/vendor/npm/envify@3.4.0/index.js +0 -4
- data/public/vendor/npm/envify@3.4.0/package.json +0 -35
- data/public/vendor/npm/envify@3.4.0/visitors.js +0 -33
- data/public/vendor/npm/envify@3.4.0.js +0 -1
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esparse.js +0 -90
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esvalidate.js +0 -145
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/esprima.js +0 -6191
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/package.json +0 -72
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/compat.js +0 -167
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/reflect.js +0 -421
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/run.js +0 -34
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/runner.js +0 -418
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/test.js +0 -34730
- data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb.js +0 -1
- data/public/vendor/npm/ieee754@1.1.6/LICENSE +0 -56
- data/public/vendor/npm/ieee754@1.1.6/package.json +0 -34
- data/public/vendor/npm/ieee754@1.1.6/test/basic.js +0 -20
- data/public/vendor/npm/ieee754@1.1.6.js +0 -1
- data/public/vendor/npm/is-array@1.0.1/History.md +0 -11
- data/public/vendor/npm/is-array@1.0.1/Readme.md +0 -27
- data/public/vendor/npm/is-array@1.0.1/component.json +0 -13
- data/public/vendor/npm/is-array@1.0.1/index.js +0 -33
- data/public/vendor/npm/is-array@1.0.1/package.json +0 -10
- data/public/vendor/npm/is-array@1.0.1/test/test.html +0 -46
- data/public/vendor/npm/is-array@1.0.1.js +0 -1
- data/public/vendor/npm/jstransform@10.1.0/LICENSE +0 -201
- data/public/vendor/npm/jstransform@10.1.0/README.md +0 -98
- data/public/vendor/npm/jstransform@10.1.0/jestEnvironment.js +0 -3
- data/public/vendor/npm/jstransform@10.1.0/jestPreprocessor.js +0 -8
- data/public/vendor/npm/jstransform@10.1.0/package.json +0 -52
- data/public/vendor/npm/jstransform@10.1.0/polyfill/Object.es6.js +0 -54
- data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-test.js +0 -246
- data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-utils-test.js +0 -31
- data/public/vendor/npm/jstransform@10.1.0/src/docblock.js +0 -86
- data/public/vendor/npm/jstransform@10.1.0/src/jstransform.js +0 -180
- data/public/vendor/npm/jstransform@10.1.0/src/utils.js +0 -386
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-arrow-function-visitors-test.js +0 -57
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-call-spread-visitors-test.js +0 -46
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-class-visitors-test.js +0 -463
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-destructuring-visitors-test.js +0 -144
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-es7-object-integration-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-concise-method-visitors-test.js +0 -47
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-short-notation-visitors-test.js +0 -33
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-rest-param-visitors-test.js +0 -119
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-template-visitors-test.js +0 -138
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-rest-property-helpers-test.js +0 -47
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-spread-property-visitors-test.js +0 -90
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/generate-type-syntax-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/type-syntax-test.rec.js +0 -846
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/reserved-words-test.js +0 -40
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-alias-syntax-test.js +0 -34
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-class-syntax-test.js +0 -105
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-function-syntax-test.js +0 -126
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-interface-syntax-test.js +0 -29
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-object-method-syntax-test.js +0 -65
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-pattern-syntax-test.js +0 -45
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-syntax-test.js +0 -46
- data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-variable-declaration-syntax-test.js +0 -102
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-arrow-function-visitors.js +0 -66
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-call-spread-visitors.js +0 -72
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-class-visitors.js +0 -316
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-destructuring-visitors.js +0 -135
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-concise-method-visitors.js +0 -28
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-short-notation-visitors.js +0 -12
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-rest-param-visitors.js +0 -45
- data/public/vendor/npm/jstransform@10.1.0/visitors/es6-template-visitors.js +0 -90
- data/public/vendor/npm/jstransform@10.1.0/visitors/es7-rest-property-helpers.js +0 -80
- data/public/vendor/npm/jstransform@10.1.0/visitors/es7-spread-property-visitors.js +0 -56
- data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-helper.js +0 -74
- data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-visitors.js +0 -30
- data/public/vendor/npm/jstransform@10.1.0/visitors/type-syntax.js +0 -118
- data/public/vendor/npm/jstransform@10.1.0.js +0 -1
- data/public/vendor/npm/process@0.10.1/browser.js +0 -58
- data/public/vendor/npm/process@0.10.1.js +0 -1
- data/public/vendor/npm/qs@2.4.1/test/stringify.js +0 -162
- data/public/vendor/npm/react@0.13.3/README.md +0 -20
- data/public/vendor/npm/react@0.13.3/addons.js +0 -2
- data/public/vendor/npm/react@0.13.3/dist/JSXTransformer.js +0 -11346
- data/public/vendor/npm/react@0.13.3/dist/react-with-addons.js +0 -10483
- data/public/vendor/npm/react@0.13.3/dist/react-with-addons.min.js +0 -7297
- data/public/vendor/npm/react@0.13.3/dist/react.js +0 -9468
- data/public/vendor/npm/react@0.13.3/dist/react.min.js +0 -6764
- data/public/vendor/npm/react@0.13.3/lib/AutoFocusMixin.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/BeforeInputEventPlugin.js +0 -197
- data/public/vendor/npm/react@0.13.3/lib/CSSCore.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/CSSProperty.js +0 -123
- data/public/vendor/npm/react@0.13.3/lib/CSSPropertyOperations.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/CallbackQueue.js +0 -43
- data/public/vendor/npm/react@0.13.3/lib/ChangeEventPlugin.js +0 -174
- data/public/vendor/npm/react@0.13.3/lib/ClientReactRootIndex.js +0 -23
- data/public/vendor/npm/react@0.13.3/lib/DOMChildrenOperations.js +0 -57
- data/public/vendor/npm/react@0.13.3/lib/DOMProperty.js +0 -96
- data/public/vendor/npm/react@0.13.3/lib/DOMPropertyOperations.js +0 -99
- data/public/vendor/npm/react@0.13.3/lib/Danger.js +0 -67
- data/public/vendor/npm/react@0.13.3/lib/DefaultEventPluginOrder.js +0 -5
- data/public/vendor/npm/react@0.13.3/lib/EnterLeaveEventPlugin.js +0 -69
- data/public/vendor/npm/react@0.13.3/lib/EventConstants.js +0 -55
- data/public/vendor/npm/react@0.13.3/lib/EventListener.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/EventPluginHub.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/EventPluginRegistry.js +0 -115
- data/public/vendor/npm/react@0.13.3/lib/EventPluginUtils.js +0 -121
- data/public/vendor/npm/react@0.13.3/lib/EventPropagators.js +0 -62
- data/public/vendor/npm/react@0.13.3/lib/ExecutionEnvironment.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/FallbackCompositionState.js +0 -45
- data/public/vendor/npm/react@0.13.3/lib/HTMLDOMPropertyConfig.js +0 -155
- data/public/vendor/npm/react@0.13.3/lib/LinkedStateMixin.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/LinkedValueUtils.js +0 -74
- data/public/vendor/npm/react@0.13.3/lib/LocalEventTrapMixin.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/MobileSafariClickEventPlugin.js +0 -17
- data/public/vendor/npm/react@0.13.3/lib/Object.assign.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/PooledClass.js +0 -75
- data/public/vendor/npm/react@0.13.3/lib/React.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactBrowserComponentMixin.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/ReactBrowserEventEmitter.js +0 -136
- data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroup.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroupChild.js +0 -92
- data/public/vendor/npm/react@0.13.3/lib/ReactChildReconciler.js +0 -57
- data/public/vendor/npm/react@0.13.3/lib/ReactChildren.js +0 -67
- data/public/vendor/npm/react@0.13.3/lib/ReactClass.js +0 -338
- data/public/vendor/npm/react@0.13.3/lib/ReactComponent.js +0 -50
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentBrowserEnvironment.js +0 -14
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentEnvironment.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/ReactComponentWithPureRenderMixin.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/ReactCompositeComponent.js +0 -374
- data/public/vendor/npm/react@0.13.3/lib/ReactContext.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/ReactCurrentOwner.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/ReactDOM.js +0 -146
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMButton.js +0 -35
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMComponent.js +0 -267
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMForm.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMIDOperations.js +0 -63
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMIframe.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMImg.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMInput.js +0 -94
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMOption.js +0 -23
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelect.js +0 -112
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelection.js +0 -103
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextComponent.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextarea.js +0 -70
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultBatchingStrategy.js +0 -37
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultInjection.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerf.js +0 -183
- data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerfAnalysis.js +0 -145
- data/public/vendor/npm/react@0.13.3/lib/ReactElement.js +0 -151
- data/public/vendor/npm/react@0.13.3/lib/ReactElementValidator.js +0 -218
- data/public/vendor/npm/react@0.13.3/lib/ReactEmptyComponent.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactErrorUtils.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/ReactEventEmitterMixin.js +0 -12
- data/public/vendor/npm/react@0.13.3/lib/ReactEventListener.js +0 -93
- data/public/vendor/npm/react@0.13.3/lib/ReactFragment.js +0 -110
- data/public/vendor/npm/react@0.13.3/lib/ReactInjection.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/ReactInputSelection.js +0 -75
- data/public/vendor/npm/react@0.13.3/lib/ReactInstanceHandles.js +0 -113
- data/public/vendor/npm/react@0.13.3/lib/ReactInstanceMap.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactLifeCycle.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/ReactLink.js +0 -16
- data/public/vendor/npm/react@0.13.3/lib/ReactMarkupChecksum.js +0 -17
- data/public/vendor/npm/react@0.13.3/lib/ReactMount.js +0 -347
- data/public/vendor/npm/react@0.13.3/lib/ReactMultiChild.js +0 -190
- data/public/vendor/npm/react@0.13.3/lib/ReactMultiChildUpdateTypes.js +0 -10
- data/public/vendor/npm/react@0.13.3/lib/ReactNativeComponent.js +0 -53
- data/public/vendor/npm/react@0.13.3/lib/ReactOwner.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/ReactPerf.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTransferer.js +0 -40
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocationNames.js +0 -13
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocations.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/ReactPropTypes.js +0 -225
- data/public/vendor/npm/react@0.13.3/lib/ReactPutListenerQueue.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/ReactReconcileTransaction.js +0 -66
- data/public/vendor/npm/react@0.13.3/lib/ReactReconciler.js +0 -44
- data/public/vendor/npm/react@0.13.3/lib/ReactRef.js +0 -36
- data/public/vendor/npm/react@0.13.3/lib/ReactRootIndex.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/ReactServerRendering.js +0 -44
- data/public/vendor/npm/react@0.13.3/lib/ReactServerRenderingTransaction.js +0 -47
- data/public/vendor/npm/react@0.13.3/lib/ReactStateSetters.js +0 -104
- data/public/vendor/npm/react@0.13.3/lib/ReactTestUtils.js +0 -249
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionChildMapping.js +0 -53
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionEvents.js +0 -68
- data/public/vendor/npm/react@0.13.3/lib/ReactTransitionGroup.js +0 -140
- data/public/vendor/npm/react@0.13.3/lib/ReactUpdateQueue.js +0 -107
- data/public/vendor/npm/react@0.13.3/lib/ReactUpdates.js +0 -139
- data/public/vendor/npm/react@0.13.3/lib/ReactWithAddons.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/SVGDOMPropertyConfig.js +0 -76
- data/public/vendor/npm/react@0.13.3/lib/SelectEventPlugin.js +0 -91
- data/public/vendor/npm/react@0.13.3/lib/ServerReactRootIndex.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/SimpleEventPlugin.js +0 -287
- data/public/vendor/npm/react@0.13.3/lib/SyntheticClipboardEvent.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/SyntheticCompositionEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticDragEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticEvent.js +0 -90
- data/public/vendor/npm/react@0.13.3/lib/SyntheticFocusEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticInputEvent.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/SyntheticKeyboardEvent.js +0 -43
- data/public/vendor/npm/react@0.13.3/lib/SyntheticMouseEvent.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/SyntheticTouchEvent.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/SyntheticUIEvent.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/SyntheticWheelEvent.js +0 -18
- data/public/vendor/npm/react@0.13.3/lib/Transaction.js +0 -90
- data/public/vendor/npm/react@0.13.3/lib/ViewportMetrics.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/accumulateInto.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/adler32.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/camelize.js +0 -30
- data/public/vendor/npm/react@0.13.3/lib/camelizeStyleName.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/cloneWithProps.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/containsNode.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/createArrayFromMixed.js +0 -15
- data/public/vendor/npm/react@0.13.3/lib/createFullPageComponent.js +0 -22
- data/public/vendor/npm/react@0.13.3/lib/createNodesFromMarkup.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/cx.js +0 -20
- data/public/vendor/npm/react@0.13.3/lib/dangerousStyleValue.js +0 -19
- data/public/vendor/npm/react@0.13.3/lib/emptyFunction.js +0 -32
- data/public/vendor/npm/react@0.13.3/lib/emptyObject.js +0 -9
- data/public/vendor/npm/react@0.13.3/lib/escapeTextContentForBrowser.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/findDOMNode.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/flattenChildren.js +0 -25
- data/public/vendor/npm/react@0.13.3/lib/focusNode.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/forEachAccumulated.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/getActiveElement.js +0 -27
- data/public/vendor/npm/react@0.13.3/lib/getEventCharCode.js +0 -50
- data/public/vendor/npm/react@0.13.3/lib/getEventKey.js +0 -72
- data/public/vendor/npm/react@0.13.3/lib/getEventModifierState.js +0 -45
- data/public/vendor/npm/react@0.13.3/lib/getEventTarget.js +0 -29
- data/public/vendor/npm/react@0.13.3/lib/getIteratorFn.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/getMarkupWrap.js +0 -73
- data/public/vendor/npm/react@0.13.3/lib/getNodeForCharacterOffset.js +0 -73
- data/public/vendor/npm/react@0.13.3/lib/getReactRootElementInContainer.js +0 -33
- data/public/vendor/npm/react@0.13.3/lib/getTextContentAccessor.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/getUnboundedScrollPosition.js +0 -38
- data/public/vendor/npm/react@0.13.3/lib/hyphenate.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/hyphenateStyleName.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/instantiateReactComponent.js +0 -55
- data/public/vendor/npm/react@0.13.3/lib/invariant.js +0 -26
- data/public/vendor/npm/react@0.13.3/lib/isEventSupported.js +0 -24
- data/public/vendor/npm/react@0.13.3/lib/isNode.js +0 -25
- data/public/vendor/npm/react@0.13.3/lib/isTextInputElement.js +0 -41
- data/public/vendor/npm/react@0.13.3/lib/isTextNode.js +0 -6
- data/public/vendor/npm/react@0.13.3/lib/joinClasses.js +0 -39
- data/public/vendor/npm/react@0.13.3/lib/keyMirror.js +0 -18
- data/public/vendor/npm/react@0.13.3/lib/keyOf.js +0 -34
- data/public/vendor/npm/react@0.13.3/lib/mapObject.js +0 -51
- data/public/vendor/npm/react@0.13.3/lib/memoizeStringOnly.js +0 -31
- data/public/vendor/npm/react@0.13.3/lib/onlyChild.js +0 -11
- data/public/vendor/npm/react@0.13.3/lib/performance.js +0 -8
- data/public/vendor/npm/react@0.13.3/lib/performanceNow.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/quoteAttributeValueForBrowser.js +0 -7
- data/public/vendor/npm/react@0.13.3/lib/setInnerHTML.js +0 -40
- data/public/vendor/npm/react@0.13.3/lib/setTextContent.js +0 -16
- data/public/vendor/npm/react@0.13.3/lib/shallowEqual.js +0 -42
- data/public/vendor/npm/react@0.13.3/lib/shouldUpdateReactComponent.js +0 -51
- data/public/vendor/npm/react@0.13.3/lib/toArray.js +0 -21
- data/public/vendor/npm/react@0.13.3/lib/traverseAllChildren.js +0 -104
- data/public/vendor/npm/react@0.13.3/lib/update.js +0 -78
- data/public/vendor/npm/react@0.13.3/lib/warning.js +0 -34
- data/public/vendor/npm/react@0.13.3/package.json +0 -34
- data/public/vendor/npm/react@0.13.3/react.js +0 -2
- data/public/vendor/npm/react@0.13.3.js +0 -1
- data/public/vendor/npm/readable-stream@1.1.13/duplex.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/passthrough.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/readable.js +0 -8
- data/public/vendor/npm/readable-stream@1.1.13/transform.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13/writable.js +0 -2
- data/public/vendor/npm/readable-stream@1.1.13.js +0 -1
- data/public/vendor/npm/source-map@0.1.31/CHANGELOG.md +0 -112
- data/public/vendor/npm/source-map@0.1.31/LICENSE +0 -28
- data/public/vendor/npm/source-map@0.1.31/Makefile.dryice.js +0 -89
- data/public/vendor/npm/source-map@0.1.31/README.md +0 -434
- data/public/vendor/npm/source-map@0.1.31/build/assert-shim.js +0 -58
- data/public/vendor/npm/source-map@0.1.31/build/mini-require.js +0 -154
- data/public/vendor/npm/source-map@0.1.31/build/prefix-source-map.jsm +0 -20
- data/public/vendor/npm/source-map@0.1.31/build/prefix-utils.jsm +0 -18
- data/public/vendor/npm/source-map@0.1.31/build/suffix-browser.js +0 -8
- data/public/vendor/npm/source-map@0.1.31/build/suffix-source-map.jsm +0 -6
- data/public/vendor/npm/source-map@0.1.31/build/suffix-utils.jsm +0 -21
- data/public/vendor/npm/source-map@0.1.31/build/test-prefix.js +0 -10
- data/public/vendor/npm/source-map@0.1.31/build/test-suffix.js +0 -5
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/array-set.js +0 -49
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64-vlq.js +0 -56
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64.js +0 -44
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/binary-search.js +0 -83
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-consumer.js +0 -238
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-generator.js +0 -231
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-node.js +0 -234
- data/public/vendor/npm/source-map@0.1.31/lib/source-map/util.js +0 -207
- data/public/vendor/npm/source-map@0.1.31/lib/source-map.js +0 -4
- data/public/vendor/npm/source-map@0.1.31/package.json +0 -52
- data/public/vendor/npm/source-map@0.1.31/test/run-tests.js +0 -50
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-api.js +0 -19
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-array-set.js +0 -84
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64-vlq.js +0 -17
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64.js +0 -26
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-binary-search.js +0 -37
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-dog-fooding.js +0 -76
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-consumer.js +0 -426
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-generator.js +0 -480
- data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-node.js +0 -307
- data/public/vendor/npm/source-map@0.1.31/test/source-map/util.js +0 -84
- data/public/vendor/npm/source-map@0.1.31.js +0 -1
- data/public/vendor/npm/through@2.3.8/LICENSE.APACHE2 +0 -15
- data/public/vendor/npm/through@2.3.8/LICENSE.MIT +0 -24
- data/public/vendor/npm/through@2.3.8/index.js +0 -93
- data/public/vendor/npm/through@2.3.8/package.json +0 -36
- data/public/vendor/npm/through@2.3.8/readme.markdown +0 -64
- data/public/vendor/npm/through@2.3.8/test/async.js +0 -26
- data/public/vendor/npm/through@2.3.8/test/auto-destroy.js +0 -26
- data/public/vendor/npm/through@2.3.8/test/buffering.js +0 -57
- data/public/vendor/npm/through@2.3.8/test/end.js +0 -37
- data/public/vendor/npm/through@2.3.8/test/index.js +0 -98
- data/public/vendor/npm/through@2.3.8/test.js +0 -2
- data/public/vendor/npm/through@2.3.8.js +0 -1
- data/views/_options.erb +0 -156
- /data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-buffer@0.1.1}/index.js +0 -0
- /data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/index.js +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → assert@1.5.0}/LICENSE +0 -0
- /data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/LICENSE +0 -0
- /data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/README.md +0 -0
- /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/LICENSE +0 -0
- /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/index.js +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/README.md +0 -0
- /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/float.patch +0 -0
@@ -1,7 +1,7 @@
|
|
1
|
-
/* */
|
2
|
-
(function(process) {
|
3
|
-
module("event", {teardown: moduleTeardown});
|
4
|
-
test("null or undefined handler", function() {
|
1
|
+
/* */
|
2
|
+
(function (process) {
|
3
|
+
module("event", { teardown: moduleTeardown });
|
4
|
+
test("null or undefined handler", function () {
|
5
5
|
expect(2);
|
6
6
|
try {
|
7
7
|
jQuery("#firstp").click(null);
|
@@ -12,8 +12,8 @@
|
|
12
12
|
ok(true, "Passing an undefined handler will not throw an exception");
|
13
13
|
} catch (e) {}
|
14
14
|
});
|
15
|
-
test("bind(),live(),delegate() with non-null,defined data", function() {
|
16
|
-
var handler = function(event, data) {
|
15
|
+
test("bind(),live(),delegate() with non-null,defined data", function () {
|
16
|
+
var handler = function (event, data) {
|
17
17
|
equal(data, 0, "non-null, defined data (zero) is correctly passed");
|
18
18
|
};
|
19
19
|
jQuery("#foo").bind("foo", handler);
|
@@ -24,89 +24,135 @@
|
|
24
24
|
jQuery("#foo").die("foo", handler);
|
25
25
|
jQuery("div").undelegate("#foo", "foo");
|
26
26
|
});
|
27
|
-
test("Handler changes and .trigger() order", function() {
|
27
|
+
test("Handler changes and .trigger() order", function () {
|
28
28
|
expect(1);
|
29
|
-
var markup = jQuery(
|
30
|
-
|
31
|
-
|
32
|
-
path
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
29
|
+
var markup = jQuery(
|
30
|
+
'<div><div><p><span><b class="a">b</b></span></p></div></div>'
|
31
|
+
),
|
32
|
+
path = "";
|
33
|
+
markup
|
34
|
+
.find("*")
|
35
|
+
.andSelf()
|
36
|
+
.on("click", function (e) {
|
37
|
+
path += this.nodeName.toLowerCase() + " ";
|
38
|
+
})
|
39
|
+
.filter("b")
|
40
|
+
.on("click", function (e) {
|
41
|
+
if (e.target === this) {
|
42
|
+
jQuery(this).parent().remove();
|
43
|
+
}
|
44
|
+
});
|
38
45
|
markup.find("b").trigger("click");
|
39
46
|
equal(path, "b p div div ", "Delivered all events");
|
40
47
|
markup.remove();
|
41
48
|
});
|
42
|
-
test("bind(), with data", function() {
|
49
|
+
test("bind(), with data", function () {
|
43
50
|
expect(4);
|
44
|
-
var handler = function(event) {
|
51
|
+
var handler = function (event) {
|
45
52
|
ok(event.data, "bind() with data, check passed data exists");
|
46
|
-
equal(
|
53
|
+
equal(
|
54
|
+
event.data["foo"],
|
55
|
+
"bar",
|
56
|
+
"bind() with data, Check value of passed data"
|
57
|
+
);
|
47
58
|
};
|
48
|
-
jQuery("#firstp")
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
59
|
+
jQuery("#firstp")
|
60
|
+
.bind("click", { foo: "bar" }, handler)
|
61
|
+
.click()
|
62
|
+
.unbind("click", handler);
|
63
|
+
ok(
|
64
|
+
!jQuery._data(jQuery("#firstp")[0], "events"),
|
65
|
+
"Event handler unbound when using data."
|
66
|
+
);
|
67
|
+
var test = function () {};
|
68
|
+
var handler2 = function (event) {
|
69
|
+
equal(
|
70
|
+
event.data,
|
71
|
+
test,
|
72
|
+
"bind() with function data, Check value of passed data"
|
73
|
+
);
|
53
74
|
};
|
54
|
-
jQuery("#firstp")
|
75
|
+
jQuery("#firstp")
|
76
|
+
.bind("click", test, handler2)
|
77
|
+
.click()
|
78
|
+
.unbind("click", handler2);
|
55
79
|
});
|
56
|
-
test("click(), with data", function() {
|
80
|
+
test("click(), with data", function () {
|
57
81
|
expect(3);
|
58
|
-
var handler = function(event) {
|
82
|
+
var handler = function (event) {
|
59
83
|
ok(event.data, "bind() with data, check passed data exists");
|
60
|
-
equal(
|
84
|
+
equal(
|
85
|
+
event.data["foo"],
|
86
|
+
"bar",
|
87
|
+
"bind() with data, Check value of passed data"
|
88
|
+
);
|
61
89
|
};
|
62
|
-
jQuery("#firstp")
|
63
|
-
|
64
|
-
|
65
|
-
|
90
|
+
jQuery("#firstp")
|
91
|
+
.click({ foo: "bar" }, handler)
|
92
|
+
.click()
|
93
|
+
.unbind("click", handler);
|
94
|
+
ok(
|
95
|
+
!jQuery._data(jQuery("#firstp")[0], "events"),
|
96
|
+
"Event handler unbound when using data."
|
97
|
+
);
|
98
|
+
});
|
99
|
+
test("bind(), with data, trigger with data", function () {
|
66
100
|
expect(4);
|
67
|
-
var handler = function(event, data) {
|
101
|
+
var handler = function (event, data) {
|
68
102
|
ok(event.data, "check passed data exists");
|
69
103
|
equal(event.data.foo, "bar", "Check value of passed data");
|
70
104
|
ok(data, "Check trigger data");
|
71
105
|
equal(data.bar, "foo", "Check value of trigger data");
|
72
106
|
};
|
73
|
-
jQuery("#firstp")
|
107
|
+
jQuery("#firstp")
|
108
|
+
.bind("click", { foo: "bar" }, handler)
|
109
|
+
.trigger("click", [{ bar: "foo" }])
|
110
|
+
.unbind("click", handler);
|
74
111
|
});
|
75
|
-
test("bind(), multiple events at once", function() {
|
112
|
+
test("bind(), multiple events at once", function () {
|
76
113
|
expect(2);
|
77
114
|
var clickCounter = 0,
|
78
|
-
|
79
|
-
var handler = function(event) {
|
115
|
+
mouseoverCounter = 0;
|
116
|
+
var handler = function (event) {
|
80
117
|
if (event.type == "click") {
|
81
118
|
clickCounter += 1;
|
82
119
|
} else if (event.type == "mouseover") {
|
83
120
|
mouseoverCounter += 1;
|
84
121
|
}
|
85
122
|
};
|
86
|
-
jQuery("#firstp")
|
123
|
+
jQuery("#firstp")
|
124
|
+
.bind("click mouseover", handler)
|
125
|
+
.trigger("click")
|
126
|
+
.trigger("mouseover");
|
87
127
|
equal(clickCounter, 1, "bind() with multiple events at once");
|
88
128
|
equal(mouseoverCounter, 1, "bind() with multiple events at once");
|
89
129
|
});
|
90
|
-
test("bind(), five events at once", function() {
|
130
|
+
test("bind(), five events at once", function () {
|
91
131
|
expect(1);
|
92
132
|
var count = 0,
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
jQuery("#firstp")
|
133
|
+
handler = function (event) {
|
134
|
+
count++;
|
135
|
+
};
|
136
|
+
jQuery("#firstp")
|
137
|
+
.bind("click mouseover foo bar baz", handler)
|
138
|
+
.trigger("click")
|
139
|
+
.trigger("mouseover")
|
140
|
+
.trigger("foo")
|
141
|
+
.trigger("bar")
|
142
|
+
.trigger("baz");
|
97
143
|
equal(count, 5, "bind() five events at once");
|
98
144
|
});
|
99
|
-
test("bind(), multiple events at once and namespaces", function() {
|
145
|
+
test("bind(), multiple events at once and namespaces", function () {
|
100
146
|
expect(7);
|
101
147
|
var cur,
|
102
|
-
|
103
|
-
var div = jQuery("<div/>").bind("focusin.a", function(e) {
|
148
|
+
obj = {};
|
149
|
+
var div = jQuery("<div/>").bind("focusin.a", function (e) {
|
104
150
|
equal(e.type, cur, "Verify right single event was fired.");
|
105
151
|
});
|
106
152
|
cur = "focusin";
|
107
153
|
div.trigger("focusin.a");
|
108
154
|
div.remove();
|
109
|
-
div = jQuery("<div/>").bind("click mouseover", obj, function(e) {
|
155
|
+
div = jQuery("<div/>").bind("click mouseover", obj, function (e) {
|
110
156
|
equal(e.type, cur, "Verify right multi event was fired.");
|
111
157
|
equal(e.data, obj, "Make sure the data came in correctly.");
|
112
158
|
});
|
@@ -115,7 +161,7 @@
|
|
115
161
|
cur = "mouseover";
|
116
162
|
div.trigger("mouseover");
|
117
163
|
div.remove();
|
118
|
-
div = jQuery("<div/>").bind("focusin.a focusout.b", function(e) {
|
164
|
+
div = jQuery("<div/>").bind("focusin.a focusout.b", function (e) {
|
119
165
|
equal(e.type, cur, "Verify right multi event was fired.");
|
120
166
|
});
|
121
167
|
cur = "focusin";
|
@@ -124,63 +170,67 @@
|
|
124
170
|
div.trigger("focusout.b");
|
125
171
|
div.remove();
|
126
172
|
});
|
127
|
-
test("bind(), namespace with special add", function() {
|
173
|
+
test("bind(), namespace with special add", function () {
|
128
174
|
expect(27);
|
129
|
-
var div = jQuery("<div/>").bind("test", function(e) {
|
175
|
+
var div = jQuery("<div/>").bind("test", function (e) {
|
130
176
|
ok(true, "Test event fired.");
|
131
177
|
});
|
132
178
|
var i = 0;
|
133
179
|
jQuery.event.special["test"] = {
|
134
|
-
_default: function(e, data) {
|
180
|
+
_default: function (e, data) {
|
135
181
|
equal(this, document, "Make sure we're at the top of the chain.");
|
136
|
-
equal(
|
182
|
+
equal(
|
183
|
+
e.type,
|
184
|
+
"test",
|
185
|
+
"And that we're still dealing with a test event."
|
186
|
+
);
|
137
187
|
equal(e.target, div[0], "And that the target is correct.");
|
138
188
|
ok(data !== undefined, "And that trigger data was passed.");
|
139
189
|
},
|
140
|
-
setup: function() {},
|
141
|
-
teardown: function() {
|
190
|
+
setup: function () {},
|
191
|
+
teardown: function () {
|
142
192
|
ok(true, "Teardown called.");
|
143
193
|
},
|
144
|
-
add: function(handleObj) {
|
194
|
+
add: function (handleObj) {
|
145
195
|
var handler = handleObj.handler;
|
146
|
-
handleObj.handler = function(e) {
|
196
|
+
handleObj.handler = function (e) {
|
147
197
|
e.xyz = ++i;
|
148
198
|
handler.apply(this, arguments);
|
149
199
|
};
|
150
200
|
},
|
151
|
-
remove: function() {
|
201
|
+
remove: function () {
|
152
202
|
ok(true, "Remove called.");
|
153
|
-
}
|
203
|
+
},
|
154
204
|
};
|
155
|
-
div.bind("test.a", {
|
205
|
+
div.bind("test.a", { x: 1 }, function (e) {
|
156
206
|
ok(!!e.xyz, "Make sure that the data is getting passed through.");
|
157
207
|
equal(e.data["x"], 1, "Make sure data is attached properly.");
|
158
208
|
});
|
159
|
-
div.bind("test.b", {
|
209
|
+
div.bind("test.b", { x: 2 }, function (e) {
|
160
210
|
ok(!!e.xyz, "Make sure that the data is getting passed through.");
|
161
211
|
equal(e.data["x"], 2, "Make sure data is attached properly.");
|
162
212
|
});
|
163
213
|
div.trigger("test", 33.33);
|
164
214
|
div.trigger("test.a", "George Harrison");
|
165
|
-
div.trigger("test.b", {year: 1982});
|
215
|
+
div.trigger("test.b", { year: 1982 });
|
166
216
|
div.unbind("test");
|
167
|
-
div = jQuery("<div/>").bind("test", function(e) {
|
217
|
+
div = jQuery("<div/>").bind("test", function (e) {
|
168
218
|
ok(true, "Test event fired.");
|
169
219
|
});
|
170
220
|
div.appendTo("#qunit-fixture").remove();
|
171
221
|
delete jQuery.event.special["test"];
|
172
222
|
});
|
173
|
-
test("bind(), no data", function() {
|
223
|
+
test("bind(), no data", function () {
|
174
224
|
expect(1);
|
175
|
-
var handler = function(event) {
|
225
|
+
var handler = function (event) {
|
176
226
|
ok(!event.data, "Check that no data is added to the event object");
|
177
227
|
};
|
178
228
|
jQuery("#firstp").bind("click", handler).trigger("click");
|
179
229
|
});
|
180
|
-
test("bind/one/unbind(Object)", function() {
|
230
|
+
test("bind/one/unbind(Object)", function () {
|
181
231
|
expect(6);
|
182
232
|
var clickCounter = 0,
|
183
|
-
|
233
|
+
mouseoverCounter = 0;
|
184
234
|
function handler(event) {
|
185
235
|
if (event.type == "click") {
|
186
236
|
clickCounter++;
|
@@ -198,13 +248,18 @@
|
|
198
248
|
function trigger() {
|
199
249
|
$elem.trigger("click").trigger("mouseover");
|
200
250
|
}
|
201
|
-
var $elem = jQuery("#firstp")
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
251
|
+
var $elem = jQuery("#firstp")
|
252
|
+
.bind({
|
253
|
+
click: handler,
|
254
|
+
mouseover: handler,
|
255
|
+
})
|
256
|
+
.one(
|
257
|
+
{
|
258
|
+
click: handlerWithData,
|
259
|
+
mouseover: handlerWithData,
|
260
|
+
},
|
261
|
+
2
|
262
|
+
);
|
208
263
|
trigger();
|
209
264
|
equal(clickCounter, 3, "bind(Object)");
|
210
265
|
equal(mouseoverCounter, 3, "bind(Object)");
|
@@ -212,26 +267,26 @@
|
|
212
267
|
equal(clickCounter, 4, "bind(Object)");
|
213
268
|
equal(mouseoverCounter, 4, "bind(Object)");
|
214
269
|
jQuery("#firstp").unbind({
|
215
|
-
|
216
|
-
|
270
|
+
click: handler,
|
271
|
+
mouseover: handler,
|
217
272
|
});
|
218
273
|
trigger();
|
219
274
|
equal(clickCounter, 4, "bind(Object)");
|
220
275
|
equal(mouseoverCounter, 4, "bind(Object)");
|
221
276
|
});
|
222
|
-
test("live/die(Object), delegate/undelegate(String, Object)", function() {
|
277
|
+
test("live/die(Object), delegate/undelegate(String, Object)", function () {
|
223
278
|
expect(6);
|
224
279
|
var clickCounter = 0,
|
225
|
-
|
226
|
-
|
227
|
-
|
280
|
+
mouseoverCounter = 0,
|
281
|
+
$p = jQuery("#firstp"),
|
282
|
+
$a = $p.find("a:first");
|
228
283
|
var events = {
|
229
|
-
|
230
|
-
clickCounter +=
|
284
|
+
click: function (event) {
|
285
|
+
clickCounter += event.data || 1;
|
286
|
+
},
|
287
|
+
mouseover: function (event) {
|
288
|
+
mouseoverCounter += event.data || 1;
|
231
289
|
},
|
232
|
-
"mouseover": function(event) {
|
233
|
-
mouseoverCounter += (event.data || 1);
|
234
|
-
}
|
235
290
|
};
|
236
291
|
function trigger() {
|
237
292
|
$a.trigger("click").trigger("mouseover");
|
@@ -250,133 +305,182 @@
|
|
250
305
|
equal(clickCounter, 4, "die");
|
251
306
|
equal(mouseoverCounter, 4, "die");
|
252
307
|
});
|
253
|
-
test("live/delegate immediate propagation", function() {
|
308
|
+
test("live/delegate immediate propagation", function () {
|
254
309
|
expect(2);
|
255
310
|
var $p = jQuery("#firstp"),
|
256
|
-
|
257
|
-
|
311
|
+
$a = $p.find("a:first"),
|
312
|
+
lastClick;
|
258
313
|
lastClick = "";
|
259
|
-
$a.live("click", function(e) {
|
314
|
+
$a.live("click", function (e) {
|
260
315
|
lastClick = "click1";
|
261
316
|
e.stopImmediatePropagation();
|
262
317
|
});
|
263
|
-
$a.live("click", function(e) {
|
318
|
+
$a.live("click", function (e) {
|
264
319
|
lastClick = "click2";
|
265
320
|
});
|
266
321
|
$a.trigger("click");
|
267
322
|
equal(lastClick, "click1", "live stopImmediatePropagation");
|
268
323
|
$a.die("click");
|
269
324
|
lastClick = "";
|
270
|
-
$p.delegate("a", "click", function(e) {
|
325
|
+
$p.delegate("a", "click", function (e) {
|
271
326
|
lastClick = "click1";
|
272
327
|
e.stopImmediatePropagation();
|
273
328
|
});
|
274
|
-
$p.delegate("a", "click", function(e) {
|
329
|
+
$p.delegate("a", "click", function (e) {
|
275
330
|
lastClick = "click2";
|
276
331
|
});
|
277
332
|
$a.trigger("click");
|
278
333
|
equal(lastClick, "click1", "delegate stopImmediatePropagation");
|
279
334
|
$p.undelegate("click");
|
280
335
|
});
|
281
|
-
test("bind/delegate bubbling, isDefaultPrevented", function() {
|
336
|
+
test("bind/delegate bubbling, isDefaultPrevented", function () {
|
282
337
|
expect(2);
|
283
338
|
var $anchor2 = jQuery("#anchor2"),
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
$anchor2.click(function(e) {
|
339
|
+
$main = jQuery("#qunit-fixture"),
|
340
|
+
fakeClick = function ($jq) {
|
341
|
+
if (document.createEvent) {
|
342
|
+
var e = document.createEvent("MouseEvents");
|
343
|
+
e.initEvent("click", true, true);
|
344
|
+
$jq[0].dispatchEvent(e);
|
345
|
+
} else if ($jq[0].click) {
|
346
|
+
$jq[0].click();
|
347
|
+
}
|
348
|
+
};
|
349
|
+
$anchor2.click(function (e) {
|
295
350
|
e.preventDefault();
|
296
351
|
});
|
297
|
-
$main.delegate("#foo", "click", function(e) {
|
352
|
+
$main.delegate("#foo", "click", function (e) {
|
298
353
|
var orig = e.originalEvent;
|
299
|
-
if (
|
300
|
-
|
354
|
+
if (
|
355
|
+
typeof orig.defaultPrevented === "boolean" ||
|
356
|
+
typeof orig.returnValue === "boolean" ||
|
357
|
+
orig["getPreventDefault"]
|
358
|
+
) {
|
359
|
+
equal(
|
360
|
+
e.isDefaultPrevented(),
|
361
|
+
true,
|
362
|
+
"isDefaultPrevented true passed to bubbled event"
|
363
|
+
);
|
301
364
|
} else {
|
302
|
-
ok(
|
365
|
+
ok(
|
366
|
+
true,
|
367
|
+
"isDefaultPrevented not supported by this browser, test skipped"
|
368
|
+
);
|
303
369
|
}
|
304
370
|
});
|
305
371
|
fakeClick($anchor2);
|
306
372
|
$anchor2.unbind("click");
|
307
373
|
$main.undelegate("click");
|
308
|
-
$anchor2.click(function(e) {});
|
309
|
-
$main.delegate("#foo", "click", function(e) {
|
310
|
-
equal(
|
374
|
+
$anchor2.click(function (e) {});
|
375
|
+
$main.delegate("#foo", "click", function (e) {
|
376
|
+
equal(
|
377
|
+
e.isDefaultPrevented(),
|
378
|
+
false,
|
379
|
+
"isDefaultPrevented false passed to bubbled event"
|
380
|
+
);
|
311
381
|
});
|
312
382
|
fakeClick($anchor2);
|
313
383
|
$anchor2.unbind("click");
|
314
384
|
$main.undelegate("click");
|
315
385
|
});
|
316
|
-
test("bind(), iframes", function() {
|
386
|
+
test("bind(), iframes", function () {
|
317
387
|
var doc = jQuery("#loadediframe").contents();
|
318
|
-
jQuery("div", doc)
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
388
|
+
jQuery("div", doc)
|
389
|
+
.bind("click", function () {
|
390
|
+
ok(true, "Binding to element inside iframe");
|
391
|
+
})
|
392
|
+
.click()
|
393
|
+
.unbind("click");
|
394
|
+
});
|
395
|
+
test("bind(), trigger change on select", function () {
|
323
396
|
expect(5);
|
324
397
|
var counter = 0;
|
325
398
|
function selectOnChange(event) {
|
326
399
|
equal(event.data, counter++, "Event.data is not a global event object");
|
327
400
|
}
|
328
|
-
jQuery("#form select")
|
329
|
-
|
330
|
-
|
401
|
+
jQuery("#form select")
|
402
|
+
.each(function (i) {
|
403
|
+
jQuery(this).bind("change", i, selectOnChange);
|
404
|
+
})
|
405
|
+
.trigger("change");
|
331
406
|
});
|
332
|
-
test("bind(), namespaced events, cloned events", 18, function() {
|
407
|
+
test("bind(), namespaced events, cloned events", 18, function () {
|
333
408
|
var firstp = jQuery("#firstp");
|
334
|
-
firstp.bind("custom.test", function(e) {
|
409
|
+
firstp.bind("custom.test", function (e) {
|
335
410
|
ok(false, "Custom event triggered");
|
336
411
|
});
|
337
|
-
firstp.bind("click", function(e) {
|
412
|
+
firstp.bind("click", function (e) {
|
338
413
|
ok(true, "Normal click triggered");
|
339
|
-
equal(
|
414
|
+
equal(
|
415
|
+
e.type + e.namespace,
|
416
|
+
"click",
|
417
|
+
"Check that only click events trigger this fn"
|
418
|
+
);
|
340
419
|
});
|
341
|
-
firstp.bind("click.test", function(e) {
|
420
|
+
firstp.bind("click.test", function (e) {
|
342
421
|
var check = "click";
|
343
422
|
ok(true, "Namespaced click triggered");
|
344
423
|
if (e.namespace) {
|
345
424
|
check += "test";
|
346
425
|
}
|
347
|
-
equal(
|
348
|
-
|
349
|
-
|
426
|
+
equal(
|
427
|
+
e.type + e.namespace,
|
428
|
+
check,
|
429
|
+
"Check that only click/click.test events trigger this fn"
|
430
|
+
);
|
431
|
+
});
|
432
|
+
firstp = firstp.add(
|
433
|
+
firstp.clone(true).attr("id", "firstp2").insertBefore(firstp)
|
434
|
+
);
|
350
435
|
firstp.trigger("click");
|
351
436
|
firstp.trigger("click.test");
|
352
437
|
firstp.unbind("click.test");
|
353
438
|
firstp.trigger("click");
|
354
439
|
firstp.unbind(".test");
|
355
440
|
firstp.trigger("custom");
|
356
|
-
jQuery("#nonnodes")
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
441
|
+
jQuery("#nonnodes")
|
442
|
+
.contents()
|
443
|
+
.bind("tester", function () {
|
444
|
+
equal(
|
445
|
+
this.nodeType,
|
446
|
+
1,
|
447
|
+
"Check node,textnode,comment bind just does real nodes"
|
448
|
+
);
|
449
|
+
})
|
450
|
+
.trigger("tester");
|
451
|
+
jQuery("<a href='#fail' class='test'>test</a>")
|
452
|
+
.click(function () {
|
453
|
+
return false;
|
454
|
+
})
|
455
|
+
.appendTo("#qunit-fixture");
|
456
|
+
ok(
|
457
|
+
jQuery("a.test:first").triggerHandler("click") === false,
|
458
|
+
"Handler is bound to appendTo'd elements"
|
459
|
+
);
|
460
|
+
});
|
461
|
+
test("bind(), multi-namespaced events", function () {
|
365
462
|
expect(6);
|
366
|
-
var order = [
|
463
|
+
var order = [
|
464
|
+
"click.test.abc",
|
465
|
+
"click.test.abc",
|
466
|
+
"click.test",
|
467
|
+
"click.test.abc",
|
468
|
+
"click.test",
|
469
|
+
"custom.test2",
|
470
|
+
];
|
367
471
|
function check(name, msg) {
|
368
472
|
deepEqual(name, order.shift(), msg);
|
369
473
|
}
|
370
|
-
jQuery("#firstp").bind("custom.test", function(e) {
|
474
|
+
jQuery("#firstp").bind("custom.test", function (e) {
|
371
475
|
check("custom.test", "Custom event triggered");
|
372
476
|
});
|
373
|
-
jQuery("#firstp").bind("custom.test2", function(e) {
|
477
|
+
jQuery("#firstp").bind("custom.test2", function (e) {
|
374
478
|
check("custom.test2", "Custom event triggered");
|
375
479
|
});
|
376
|
-
jQuery("#firstp").bind("click.test", function(e) {
|
480
|
+
jQuery("#firstp").bind("click.test", function (e) {
|
377
481
|
check("click.test", "Normal click triggered");
|
378
482
|
});
|
379
|
-
jQuery("#firstp").bind("click.test.abc", function(e) {
|
483
|
+
jQuery("#firstp").bind("click.test.abc", function (e) {
|
380
484
|
check("click.test.abc", "Namespaced click triggered");
|
381
485
|
});
|
382
486
|
jQuery("#firstp").trigger("click.a.test");
|
@@ -389,12 +493,12 @@
|
|
389
493
|
jQuery("#firstp").unbind(".test");
|
390
494
|
jQuery("#firstp").trigger("custom");
|
391
495
|
});
|
392
|
-
test("bind(), with same function", function() {
|
496
|
+
test("bind(), with same function", function () {
|
393
497
|
expect(2);
|
394
498
|
var count = 0,
|
395
|
-
|
396
|
-
|
397
|
-
|
499
|
+
func = function () {
|
500
|
+
count++;
|
501
|
+
};
|
398
502
|
jQuery("#liveHandlerOrder").bind("foo.bar", func).bind("foo.zar", func);
|
399
503
|
jQuery("#liveHandlerOrder").trigger("foo.bar");
|
400
504
|
equal(count, 1, "Verify binding function with multiple namespaces.");
|
@@ -402,13 +506,13 @@
|
|
402
506
|
jQuery("#liveHandlerOrder").trigger("foo.bar");
|
403
507
|
equal(count, 1, "Verify that removing events still work.");
|
404
508
|
});
|
405
|
-
test("bind(), make sure order is maintained", function() {
|
509
|
+
test("bind(), make sure order is maintained", function () {
|
406
510
|
expect(1);
|
407
511
|
var elem = jQuery("#firstp"),
|
408
|
-
|
409
|
-
|
410
|
-
jQuery.each(new Array(100), function(i) {
|
411
|
-
elem.bind("click", function() {
|
512
|
+
log = [],
|
513
|
+
check = [];
|
514
|
+
jQuery.each(new Array(100), function (i) {
|
515
|
+
elem.bind("click", function () {
|
412
516
|
log.push(i);
|
413
517
|
});
|
414
518
|
check.push(i);
|
@@ -417,24 +521,33 @@
|
|
417
521
|
equal(log.join(","), check.join(","), "Make sure order was maintained.");
|
418
522
|
elem.unbind("click");
|
419
523
|
});
|
420
|
-
test("bind(), with different this object", function() {
|
524
|
+
test("bind(), with different this object", function () {
|
421
525
|
expect(4);
|
422
|
-
var thisObject = {myThis: true},
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
jQuery("#firstp")
|
432
|
-
|
433
|
-
|
434
|
-
|
526
|
+
var thisObject = { myThis: true },
|
527
|
+
data = { myData: true },
|
528
|
+
handler1 = function (event) {
|
529
|
+
equal(this, thisObject, "bind() with different this object");
|
530
|
+
},
|
531
|
+
handler2 = function (event) {
|
532
|
+
equal(this, thisObject, "bind() with different this object and data");
|
533
|
+
equal(event.data, data, "bind() with different this object and data");
|
534
|
+
};
|
535
|
+
jQuery("#firstp")
|
536
|
+
.bind("click", jQuery.proxy(handler1, thisObject))
|
537
|
+
.click()
|
538
|
+
.unbind("click", handler1)
|
539
|
+
.bind("click", data, jQuery.proxy(handler2, thisObject))
|
540
|
+
.click()
|
541
|
+
.unbind("click", handler2);
|
542
|
+
ok(
|
543
|
+
!jQuery._data(jQuery("#firstp")[0], "events"),
|
544
|
+
"Event handler unbound when using different this object and data."
|
545
|
+
);
|
546
|
+
});
|
547
|
+
test("bind(name, false), unbind(name, false)", function () {
|
435
548
|
expect(3);
|
436
549
|
var main = 0;
|
437
|
-
jQuery("#qunit-fixture").bind("click", function(e) {
|
550
|
+
jQuery("#qunit-fixture").bind("click", function (e) {
|
438
551
|
main++;
|
439
552
|
});
|
440
553
|
jQuery("#ap").trigger("click");
|
@@ -449,10 +562,10 @@
|
|
449
562
|
equal(main, 1, "Verify that the trigger happened correctly.");
|
450
563
|
jQuery("#qunit-fixture").unbind("click");
|
451
564
|
});
|
452
|
-
test("live(name, false), die(name, false)", function() {
|
565
|
+
test("live(name, false), die(name, false)", function () {
|
453
566
|
expect(3);
|
454
567
|
var main = 0;
|
455
|
-
jQuery("#qunit-fixture").live("click", function(e) {
|
568
|
+
jQuery("#qunit-fixture").live("click", function (e) {
|
456
569
|
main++;
|
457
570
|
});
|
458
571
|
jQuery("#ap").trigger("click");
|
@@ -467,10 +580,10 @@
|
|
467
580
|
equal(main, 1, "Verify that the trigger happened correctly.");
|
468
581
|
jQuery("#qunit-fixture").die("click");
|
469
582
|
});
|
470
|
-
test("delegate(selector, name, false), undelegate(selector, name, false)", function() {
|
583
|
+
test("delegate(selector, name, false), undelegate(selector, name, false)", function () {
|
471
584
|
expect(3);
|
472
585
|
var main = 0;
|
473
|
-
jQuery("#qunit-fixture").delegate("#ap", "click", function(e) {
|
586
|
+
jQuery("#qunit-fixture").delegate("#ap", "click", function (e) {
|
474
587
|
main++;
|
475
588
|
});
|
476
589
|
jQuery("#ap").trigger("click");
|
@@ -485,74 +598,115 @@
|
|
485
598
|
equal(main, 1, "Verify that the trigger happened correctly.");
|
486
599
|
jQuery("#qunit-fixture").undelegate("#ap", "click");
|
487
600
|
});
|
488
|
-
test("bind()/trigger()/unbind() on plain object", function() {
|
601
|
+
test("bind()/trigger()/unbind() on plain object", function () {
|
489
602
|
expect(7);
|
490
603
|
var obj = {};
|
491
604
|
jQuery(obj).trigger("test");
|
492
605
|
jQuery(obj).unbind("test");
|
493
606
|
jQuery(obj).bind({
|
494
|
-
|
607
|
+
test: function () {
|
495
608
|
ok(true, "Custom event run.");
|
496
609
|
},
|
497
|
-
|
610
|
+
submit: function () {
|
498
611
|
ok(true, "Custom submit event run.");
|
499
|
-
}
|
612
|
+
},
|
500
613
|
});
|
501
614
|
var events = jQuery._data(obj, "events");
|
502
615
|
ok(events, "Object has events bound.");
|
503
|
-
equal(
|
504
|
-
|
505
|
-
|
616
|
+
equal(
|
617
|
+
obj["events"],
|
618
|
+
undefined,
|
619
|
+
"Events object on plain objects is not events"
|
620
|
+
);
|
621
|
+
equal(
|
622
|
+
obj["test"],
|
623
|
+
undefined,
|
624
|
+
"Make sure that test event is not on the plain object."
|
625
|
+
);
|
626
|
+
equal(
|
627
|
+
obj["handle"],
|
628
|
+
undefined,
|
629
|
+
"Make sure that the event handler is not on the plain object."
|
630
|
+
);
|
506
631
|
jQuery(obj).trigger("test");
|
507
632
|
jQuery(obj).trigger("submit");
|
508
633
|
jQuery(obj).unbind("test");
|
509
634
|
jQuery(obj).unbind("submit");
|
510
635
|
jQuery(obj).trigger("test");
|
511
636
|
jQuery(obj).unbind("test");
|
512
|
-
equal(
|
513
|
-
|
514
|
-
|
637
|
+
equal(
|
638
|
+
obj &&
|
639
|
+
obj[jQuery.expando] &&
|
640
|
+
obj[jQuery.expando][jQuery.expando] &&
|
641
|
+
obj[jQuery.expando][jQuery.expando]["events"],
|
642
|
+
undefined,
|
643
|
+
"Make sure events object is removed"
|
644
|
+
);
|
645
|
+
});
|
646
|
+
test("unbind(type)", function () {
|
515
647
|
expect(1);
|
516
648
|
var $elem = jQuery("#firstp"),
|
517
|
-
|
649
|
+
message;
|
518
650
|
function error() {
|
519
651
|
ok(false, message);
|
520
652
|
}
|
521
653
|
message = "unbind passing function";
|
522
|
-
$elem
|
654
|
+
$elem
|
655
|
+
.bind("error1", error)
|
656
|
+
.unbind("error1", error)
|
657
|
+
.triggerHandler("error1");
|
523
658
|
message = "unbind all from event";
|
524
659
|
$elem.bind("error1", error).unbind("error1").triggerHandler("error1");
|
525
660
|
message = "unbind all";
|
526
661
|
$elem.bind("error1", error).unbind().triggerHandler("error1");
|
527
662
|
message = "unbind many with function";
|
528
|
-
$elem
|
663
|
+
$elem
|
664
|
+
.bind("error1 error2", error)
|
665
|
+
.unbind("error1 error2", error)
|
666
|
+
.trigger("error1")
|
667
|
+
.triggerHandler("error2");
|
529
668
|
message = "unbind many";
|
530
|
-
$elem
|
669
|
+
$elem
|
670
|
+
.bind("error1 error2", error)
|
671
|
+
.unbind("error1 error2")
|
672
|
+
.trigger("error1")
|
673
|
+
.triggerHandler("error2");
|
531
674
|
message = "unbind without a type or handler";
|
532
|
-
$elem
|
533
|
-
|
675
|
+
$elem
|
676
|
+
.bind("error1 error2.test", error)
|
677
|
+
.unbind()
|
678
|
+
.trigger("error1")
|
679
|
+
.triggerHandler("error2");
|
680
|
+
jQuery(document).bind("click", function () {
|
534
681
|
ok(true, "called handler after selective removal");
|
535
682
|
});
|
536
|
-
var func = function() {};
|
537
|
-
jQuery(document)
|
683
|
+
var func = function () {};
|
684
|
+
jQuery(document)
|
685
|
+
.bind("click", func)
|
686
|
+
.unbind("click", func)
|
687
|
+
.click()
|
688
|
+
.unbind("click");
|
538
689
|
});
|
539
|
-
test("unbind(eventObject)", function() {
|
690
|
+
test("unbind(eventObject)", function () {
|
540
691
|
expect(4);
|
541
692
|
var $elem = jQuery("#firstp"),
|
542
|
-
|
693
|
+
num;
|
543
694
|
function assert(expected) {
|
544
695
|
num = 0;
|
545
696
|
$elem.trigger("foo").triggerHandler("bar");
|
546
697
|
equal(num, expected, "Check the right handlers are triggered");
|
547
698
|
}
|
548
|
-
$elem
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
699
|
+
$elem
|
700
|
+
.bind("foo", function () {
|
701
|
+
num += 1;
|
702
|
+
})
|
703
|
+
.bind("foo", function (e) {
|
704
|
+
$elem.unbind(e);
|
705
|
+
num += 2;
|
706
|
+
})
|
707
|
+
.bind("bar", function () {
|
708
|
+
num += 4;
|
709
|
+
});
|
556
710
|
assert(7);
|
557
711
|
assert(5);
|
558
712
|
$elem.unbind("bar");
|
@@ -560,57 +714,84 @@
|
|
560
714
|
$elem.unbind();
|
561
715
|
assert(0);
|
562
716
|
});
|
563
|
-
test("hover() and hover pseudo-event", function() {
|
717
|
+
test("hover() and hover pseudo-event", function () {
|
564
718
|
expect(3);
|
565
719
|
var times = 0,
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
jQuery("#firstp")
|
720
|
+
handler1 = function (event) {
|
721
|
+
++times;
|
722
|
+
},
|
723
|
+
handler2 = function (event) {
|
724
|
+
++times;
|
725
|
+
};
|
726
|
+
jQuery("#firstp")
|
727
|
+
.hover(handler1, handler2)
|
728
|
+
.mouseenter()
|
729
|
+
.mouseleave()
|
730
|
+
.unbind("mouseenter", handler1)
|
731
|
+
.unbind("mouseleave", handler2)
|
732
|
+
.hover(handler1)
|
733
|
+
.mouseenter()
|
734
|
+
.mouseleave()
|
735
|
+
.unbind("mouseenter mouseleave", handler1)
|
736
|
+
.mouseenter()
|
737
|
+
.mouseleave();
|
573
738
|
equal(times, 4, "hover handlers fired");
|
574
739
|
var balance = 0;
|
575
|
-
jQuery("#firstp")
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
740
|
+
jQuery("#firstp")
|
741
|
+
.on("hovercraft", function () {
|
742
|
+
ok(false, "hovercraft is full of ills");
|
743
|
+
})
|
744
|
+
.on("click.hover.me.not", function (e) {
|
745
|
+
equal(
|
746
|
+
e.handleObj.namespace,
|
747
|
+
"hover.me.not",
|
748
|
+
"hover hack doesn't mangle namespaces"
|
749
|
+
);
|
750
|
+
})
|
751
|
+
.bind("hover", function (e) {
|
752
|
+
if (e.type === "mouseenter") {
|
753
|
+
balance++;
|
754
|
+
} else if (e.type === "mouseleave") {
|
755
|
+
balance--;
|
756
|
+
} else {
|
757
|
+
ok(false, "hover pseudo: unknown event type " + e.type);
|
758
|
+
}
|
759
|
+
})
|
760
|
+
.trigger("click")
|
761
|
+
.trigger("mouseenter")
|
762
|
+
.trigger("mouseleave")
|
763
|
+
.unbind("hover")
|
764
|
+
.trigger("mouseenter");
|
588
765
|
equal(balance, 0, "hover pseudo-event");
|
589
766
|
});
|
590
|
-
test("mouseover triggers mouseenter", function() {
|
767
|
+
test("mouseover triggers mouseenter", function () {
|
591
768
|
expect(1);
|
592
769
|
var count = 0,
|
593
|
-
|
594
|
-
elem.mouseenter(function() {
|
770
|
+
elem = jQuery("<a />");
|
771
|
+
elem.mouseenter(function () {
|
595
772
|
count++;
|
596
773
|
});
|
597
774
|
elem.trigger("mouseover");
|
598
775
|
equal(count, 1, "make sure mouseover triggers a mouseenter");
|
599
776
|
elem.remove();
|
600
777
|
});
|
601
|
-
test("withinElement implemented with jQuery.contains()", function() {
|
778
|
+
test("withinElement implemented with jQuery.contains()", function () {
|
602
779
|
expect(1);
|
603
|
-
jQuery("#qunit-fixture").append(
|
604
|
-
|
605
|
-
|
606
|
-
|
780
|
+
jQuery("#qunit-fixture").append(
|
781
|
+
'<div id="jc-outer"><div id="jc-inner"></div></div>'
|
782
|
+
);
|
783
|
+
jQuery("#jc-outer")
|
784
|
+
.bind("mouseenter mouseleave", function (event) {
|
785
|
+
equal(this.id, "jc-outer", this.id + " " + event.type);
|
786
|
+
})
|
787
|
+
.trigger("mouseenter");
|
607
788
|
jQuery("#jc-inner").trigger("mousenter");
|
608
789
|
jQuery("#jc-outer").unbind("mouseenter mouseleave").remove();
|
609
790
|
jQuery("#jc-inner").remove();
|
610
791
|
});
|
611
|
-
test("mouseenter, mouseleave don't catch exceptions", function() {
|
792
|
+
test("mouseenter, mouseleave don't catch exceptions", function () {
|
612
793
|
expect(2);
|
613
|
-
var elem = jQuery("#firstp").hover(function() {
|
794
|
+
var elem = jQuery("#firstp").hover(function () {
|
614
795
|
throw "an Exception";
|
615
796
|
});
|
616
797
|
try {
|
@@ -624,65 +805,89 @@
|
|
624
805
|
equal(e, "an Exception", "mouseleave doesn't catch exceptions");
|
625
806
|
}
|
626
807
|
});
|
627
|
-
test("trigger() shortcuts", function() {
|
808
|
+
test("trigger() shortcuts", function () {
|
628
809
|
expect(6);
|
629
|
-
var elem = jQuery("<li><a href='#'>Change location</a></li>").prependTo(
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
810
|
+
var elem = jQuery("<li><a href='#'>Change location</a></li>").prependTo(
|
811
|
+
"#firstUL"
|
812
|
+
);
|
813
|
+
elem
|
814
|
+
.find("a")
|
815
|
+
.bind("click", function () {
|
816
|
+
var close = jQuery("spanx", this);
|
817
|
+
equal(
|
818
|
+
close.length,
|
819
|
+
0,
|
820
|
+
"Context element does not exist, length must be zero"
|
821
|
+
);
|
822
|
+
ok(
|
823
|
+
!close[0],
|
824
|
+
"Context element does not exist, direct access to element must return undefined"
|
825
|
+
);
|
826
|
+
return false;
|
827
|
+
})
|
828
|
+
.click();
|
636
829
|
elem.remove();
|
637
|
-
jQuery("#check1")
|
638
|
-
|
639
|
-
|
830
|
+
jQuery("#check1")
|
831
|
+
.click(function () {
|
832
|
+
ok(true, "click event handler for checkbox gets fired twice, see #815");
|
833
|
+
})
|
834
|
+
.click();
|
640
835
|
var counter = 0;
|
641
|
-
jQuery("#firstp")[0].onclick = function(event) {
|
836
|
+
jQuery("#firstp")[0].onclick = function (event) {
|
642
837
|
counter++;
|
643
838
|
};
|
644
839
|
jQuery("#firstp").click();
|
645
840
|
equal(counter, 1, "Check that click, triggers onclick event handler also");
|
646
841
|
var clickCounter = 0;
|
647
|
-
jQuery("#simon1")[0].onclick = function(event) {
|
842
|
+
jQuery("#simon1")[0].onclick = function (event) {
|
648
843
|
clickCounter++;
|
649
844
|
};
|
650
845
|
jQuery("#simon1").click();
|
651
|
-
equal(
|
652
|
-
|
653
|
-
|
654
|
-
|
846
|
+
equal(
|
847
|
+
clickCounter,
|
848
|
+
1,
|
849
|
+
"Check that click, triggers onclick event handler on an a tag also"
|
850
|
+
);
|
851
|
+
elem = jQuery("<img />")
|
852
|
+
.load(function () {
|
853
|
+
ok(true, "Trigger the load event, using the shortcut .load() (#2819)");
|
854
|
+
})
|
855
|
+
.load();
|
655
856
|
elem.remove();
|
656
|
-
jQuery(
|
657
|
-
|
857
|
+
jQuery(
|
858
|
+
'<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v" />'
|
859
|
+
).appendTo("head");
|
860
|
+
jQuery(
|
861
|
+
'<v:oval id="oval" style="width:100pt;height:75pt;" fillcolor="red"> </v:oval>'
|
862
|
+
).appendTo("#form");
|
658
863
|
jQuery("#oval").click().keydown();
|
659
864
|
});
|
660
|
-
test("trigger() bubbling", function() {
|
865
|
+
test("trigger() bubbling", function () {
|
661
866
|
expect(18);
|
662
867
|
var win = 0,
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
jQuery(window).bind("click", function(e) {
|
868
|
+
doc = 0,
|
869
|
+
html = 0,
|
870
|
+
body = 0,
|
871
|
+
main = 0,
|
872
|
+
ap = 0;
|
873
|
+
jQuery(window).bind("click", function (e) {
|
669
874
|
win++;
|
670
875
|
});
|
671
|
-
jQuery(document).bind("click", function(e) {
|
876
|
+
jQuery(document).bind("click", function (e) {
|
672
877
|
if (e.target !== document) {
|
673
878
|
doc++;
|
674
879
|
}
|
675
880
|
});
|
676
|
-
jQuery("html").bind("click", function(e) {
|
881
|
+
jQuery("html").bind("click", function (e) {
|
677
882
|
html++;
|
678
883
|
});
|
679
|
-
jQuery("body").bind("click", function(e) {
|
884
|
+
jQuery("body").bind("click", function (e) {
|
680
885
|
body++;
|
681
886
|
});
|
682
|
-
jQuery("#qunit-fixture").bind("click", function(e) {
|
887
|
+
jQuery("#qunit-fixture").bind("click", function (e) {
|
683
888
|
main++;
|
684
889
|
});
|
685
|
-
jQuery("#ap").bind("click", function() {
|
890
|
+
jQuery("#ap").bind("click", function () {
|
686
891
|
ap++;
|
687
892
|
return false;
|
688
893
|
});
|
@@ -712,9 +917,9 @@
|
|
712
917
|
jQuery(document).unbind("click");
|
713
918
|
jQuery("html, body, #qunit-fixture").unbind("click");
|
714
919
|
});
|
715
|
-
test("trigger(type, [data], [fn])", function() {
|
920
|
+
test("trigger(type, [data], [fn])", function () {
|
716
921
|
expect(16);
|
717
|
-
var handler = function(event, a, b, c) {
|
922
|
+
var handler = function (event, a, b, c) {
|
718
923
|
equal(event.type, "click", "check passed data");
|
719
924
|
equal(a, 1, "check passed data");
|
720
925
|
equal(b, "2", "check passed data");
|
@@ -722,26 +927,30 @@
|
|
722
927
|
return "test";
|
723
928
|
};
|
724
929
|
var $elem = jQuery("#firstp");
|
725
|
-
$elem[0].click = function() {
|
930
|
+
$elem[0].click = function () {
|
726
931
|
ok(true, "Native call was triggered");
|
727
932
|
};
|
728
|
-
$elem.live(
|
729
|
-
ok(true,
|
933
|
+
$elem.live("mouseenter", function () {
|
934
|
+
ok(true, "Trigger mouseenter bound by live");
|
730
935
|
});
|
731
|
-
$elem.live(
|
732
|
-
ok(true,
|
936
|
+
$elem.live("mouseleave", function () {
|
937
|
+
ok(true, "Trigger mouseleave bound by live");
|
733
938
|
});
|
734
|
-
$elem.trigger(
|
735
|
-
$elem.trigger(
|
736
|
-
$elem.die(
|
737
|
-
$elem.die(
|
939
|
+
$elem.trigger("mouseenter");
|
940
|
+
$elem.trigger("mouseleave");
|
941
|
+
$elem.die("mouseenter");
|
942
|
+
$elem.die("mouseleave");
|
738
943
|
$elem.bind("click", handler).trigger("click", [1, "2", "abc"]);
|
739
|
-
$elem[0].click = function() {
|
944
|
+
$elem[0].click = function () {
|
740
945
|
ok(false, "Native call was triggered");
|
741
946
|
};
|
742
|
-
equal(
|
947
|
+
equal(
|
948
|
+
$elem.triggerHandler("click", [1, "2", "abc"]),
|
949
|
+
"test",
|
950
|
+
"Verify handler response"
|
951
|
+
);
|
743
952
|
var pass = true,
|
744
|
-
|
953
|
+
elem2;
|
745
954
|
try {
|
746
955
|
elem2 = jQuery("#form input:first");
|
747
956
|
elem2.get(0).style.display = "none";
|
@@ -752,19 +961,21 @@
|
|
752
961
|
ok(pass, "Trigger focus on hidden element");
|
753
962
|
pass = true;
|
754
963
|
try {
|
755
|
-
jQuery("#qunit-fixture table:first")
|
964
|
+
jQuery("#qunit-fixture table:first")
|
965
|
+
.bind("test:test", function () {})
|
966
|
+
.trigger("test:test");
|
756
967
|
} catch (e) {
|
757
968
|
pass = false;
|
758
969
|
}
|
759
970
|
ok(pass, "Trigger on a table with a colon in the even type, see #3533");
|
760
971
|
var form = jQuery("<form action=''></form>").appendTo("body");
|
761
|
-
form.submit(function() {
|
972
|
+
form.submit(function () {
|
762
973
|
ok(true, "Local bind still works.");
|
763
974
|
return false;
|
764
975
|
});
|
765
976
|
form.trigger("submit");
|
766
977
|
form.unbind("submit");
|
767
|
-
jQuery(document).submit(function() {
|
978
|
+
jQuery(document).submit(function () {
|
768
979
|
ok(true, "Make sure bubble works up to document.");
|
769
980
|
return false;
|
770
981
|
});
|
@@ -772,12 +983,12 @@
|
|
772
983
|
jQuery(document).unbind("submit");
|
773
984
|
form.remove();
|
774
985
|
});
|
775
|
-
test("submit event bubbles on copied forms (#11649)", function() {
|
986
|
+
test("submit event bubbles on copied forms (#11649)", function () {
|
776
987
|
var $formByClone,
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
988
|
+
$formByHTML,
|
989
|
+
$testForm = jQuery("#testForm"),
|
990
|
+
$fixture = jQuery("#qunit-fixture"),
|
991
|
+
$wrapperDiv = jQuery("<div/>").appendTo($fixture);
|
781
992
|
function noSubmit(e) {
|
782
993
|
e.preventDefault();
|
783
994
|
}
|
@@ -790,18 +1001,22 @@
|
|
790
1001
|
$formByClone = $testForm.clone(true, true).removeAttr("id");
|
791
1002
|
$formByHTML = jQuery($fixture.html()).filter("#testForm").removeAttr("id");
|
792
1003
|
$wrapperDiv.append($formByClone, $formByHTML);
|
793
|
-
$wrapperDiv
|
1004
|
+
$wrapperDiv
|
1005
|
+
.find("form")
|
1006
|
+
.on("submit", noSubmit)
|
1007
|
+
.find("input[name=sub1]")
|
1008
|
+
.click();
|
794
1009
|
$wrapperDiv.remove();
|
795
1010
|
$fixture.off("submit", "form", delegatedSubmit);
|
796
1011
|
$testForm.off("submit", noSubmit);
|
797
1012
|
});
|
798
|
-
test("change event bubbles on copied forms (#11796)", function() {
|
1013
|
+
test("change event bubbles on copied forms (#11796)", function () {
|
799
1014
|
expect(3);
|
800
1015
|
var $formByClone,
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
1016
|
+
$formByHTML,
|
1017
|
+
$form = jQuery("#form"),
|
1018
|
+
$fixture = jQuery("#qunit-fixture"),
|
1019
|
+
$wrapperDiv = jQuery("<div/>").appendTo($fixture);
|
805
1020
|
function delegatedChange() {
|
806
1021
|
ok(true, "Make sure change event bubbles up.");
|
807
1022
|
return false;
|
@@ -815,53 +1030,81 @@
|
|
815
1030
|
$wrapperDiv.remove();
|
816
1031
|
$fixture.off("change", "form", delegatedChange);
|
817
1032
|
});
|
818
|
-
test("trigger(eventObject, [data], [fn])", function() {
|
1033
|
+
test("trigger(eventObject, [data], [fn])", function () {
|
819
1034
|
expect(28);
|
820
1035
|
var $parent = jQuery("<div id='par' />").appendTo("body"),
|
821
|
-
|
1036
|
+
$child = jQuery("<p id='child'>foo</p>").appendTo($parent);
|
822
1037
|
$parent.get(0).style.display = "none";
|
823
1038
|
var event = jQuery.Event("noNew");
|
824
1039
|
ok(event != window, "Instantiate jQuery.Event without the 'new' keyword");
|
825
1040
|
equal(event.type, "noNew", "Verify its type");
|
826
1041
|
equal(event.isDefaultPrevented(), false, "Verify isDefaultPrevented");
|
827
1042
|
equal(event.isPropagationStopped(), false, "Verify isPropagationStopped");
|
828
|
-
equal(
|
1043
|
+
equal(
|
1044
|
+
event.isImmediatePropagationStopped(),
|
1045
|
+
false,
|
1046
|
+
"Verify isImmediatePropagationStopped"
|
1047
|
+
);
|
829
1048
|
event.preventDefault();
|
830
1049
|
equal(event.isDefaultPrevented(), true, "Verify isDefaultPrevented");
|
831
1050
|
event.stopPropagation();
|
832
1051
|
equal(event.isPropagationStopped(), true, "Verify isPropagationStopped");
|
833
|
-
event.isPropagationStopped = function() {
|
1052
|
+
event.isPropagationStopped = function () {
|
834
1053
|
return false;
|
835
1054
|
};
|
836
1055
|
event.stopImmediatePropagation();
|
837
1056
|
equal(event.isPropagationStopped(), true, "Verify isPropagationStopped");
|
838
|
-
equal(
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
1057
|
+
equal(
|
1058
|
+
event.isImmediatePropagationStopped(),
|
1059
|
+
true,
|
1060
|
+
"Verify isPropagationStopped"
|
1061
|
+
);
|
1062
|
+
$parent.bind("foo", function (e) {
|
1063
|
+
equal(
|
1064
|
+
e.type,
|
1065
|
+
"foo",
|
1066
|
+
"Verify event type when passed passing an event object"
|
1067
|
+
);
|
1068
|
+
equal(
|
1069
|
+
e.target.id,
|
1070
|
+
"child",
|
1071
|
+
"Verify event.target when passed passing an event object"
|
1072
|
+
);
|
1073
|
+
equal(
|
1074
|
+
e.currentTarget.id,
|
1075
|
+
"par",
|
1076
|
+
"Verify event.currentTarget when passed passing an event object"
|
1077
|
+
);
|
1078
|
+
equal(
|
1079
|
+
e.secret,
|
1080
|
+
"boo!",
|
1081
|
+
"Verify event object's custom attribute when passed passing an event object"
|
1082
|
+
);
|
844
1083
|
});
|
845
1084
|
event = new jQuery.Event("foo");
|
846
1085
|
event.secret = "boo!";
|
847
1086
|
$child.trigger(event);
|
848
1087
|
$child.trigger({
|
849
|
-
|
850
|
-
|
1088
|
+
type: "foo",
|
1089
|
+
secret: "boo!",
|
851
1090
|
});
|
852
1091
|
$parent.unbind();
|
853
1092
|
function error() {
|
854
1093
|
ok(false, "This assertion shouldn't be reached");
|
855
1094
|
}
|
856
1095
|
$parent.bind("foo", error);
|
857
|
-
$child.bind("foo", function(e, a, b, c) {
|
1096
|
+
$child.bind("foo", function (e, a, b, c) {
|
858
1097
|
equal(arguments.length, 4, "Check arguments length");
|
859
1098
|
equal(a, 1, "Check first custom argument");
|
860
1099
|
equal(b, 2, "Check second custom argument");
|
861
1100
|
equal(c, 3, "Check third custom argument");
|
862
1101
|
equal(e.isDefaultPrevented(), false, "Verify isDefaultPrevented");
|
863
1102
|
equal(e.isPropagationStopped(), false, "Verify isPropagationStopped");
|
864
|
-
equal(
|
1103
|
+
equal(
|
1104
|
+
e.isImmediatePropagationStopped(),
|
1105
|
+
false,
|
1106
|
+
"Verify isImmediatePropagationStopped"
|
1107
|
+
);
|
865
1108
|
e.stopImmediatePropagation();
|
866
1109
|
return "result";
|
867
1110
|
});
|
@@ -877,140 +1120,261 @@
|
|
877
1120
|
equal(event.isPropagationStopped(), false, "propagation not stopped");
|
878
1121
|
equal(event.isDefaultPrevented(), false, "default not prevented");
|
879
1122
|
});
|
880
|
-
test(".trigger() bubbling on disconnected elements (#10489)", function() {
|
1123
|
+
test(".trigger() bubbling on disconnected elements (#10489)", function () {
|
881
1124
|
expect(2);
|
882
|
-
jQuery(window).on("click", function() {
|
1125
|
+
jQuery(window).on("click", function () {
|
883
1126
|
ok(false, "click fired on window");
|
884
1127
|
});
|
885
|
-
jQuery("<div><p>hi</p></div>")
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
1128
|
+
jQuery("<div><p>hi</p></div>")
|
1129
|
+
.on("click", function () {
|
1130
|
+
ok(true, "click fired on div");
|
1131
|
+
})
|
1132
|
+
.find("p")
|
1133
|
+
.on("click", function () {
|
1134
|
+
ok(true, "click fired on p");
|
1135
|
+
})
|
1136
|
+
.click()
|
1137
|
+
.off("click")
|
1138
|
+
.end()
|
1139
|
+
.off("click")
|
1140
|
+
.remove();
|
890
1141
|
jQuery(window).off("click");
|
891
1142
|
});
|
892
|
-
test(".trigger() doesn't bubble load event (#10717)", function() {
|
1143
|
+
test(".trigger() doesn't bubble load event (#10717)", function () {
|
893
1144
|
expect(1);
|
894
|
-
jQuery(window).on("load", function() {
|
1145
|
+
jQuery(window).on("load", function () {
|
895
1146
|
ok(false, "load fired on window");
|
896
1147
|
});
|
897
|
-
jQuery('<img src="index.html" />')
|
898
|
-
|
899
|
-
|
1148
|
+
jQuery('<img src="index.html" />')
|
1149
|
+
.appendTo("body")
|
1150
|
+
.on("load", function () {
|
1151
|
+
ok(true, "load fired on img");
|
1152
|
+
})
|
1153
|
+
.trigger("load")
|
1154
|
+
.remove();
|
900
1155
|
jQuery(window).off("load");
|
901
1156
|
});
|
902
|
-
test("Delegated events in SVG (#10791)", function() {
|
1157
|
+
test("Delegated events in SVG (#10791)", function () {
|
903
1158
|
expect(2);
|
904
|
-
var svg = jQuery(
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
1159
|
+
var svg = jQuery(
|
1160
|
+
'<svg height="1" version="1.1" width="1" xmlns="http://www.w3.org/2000/svg">' +
|
1161
|
+
'<rect class="svg-by-class" x="10" y="20" width="100" height="60" r="10" rx="10" ry="10"></rect>' +
|
1162
|
+
'<rect id="svg-by-id" x="10" y="20" width="100" height="60" r="10" rx="10" ry="10"></rect>' +
|
1163
|
+
"</svg>"
|
1164
|
+
).appendTo("body");
|
1165
|
+
jQuery("body")
|
1166
|
+
.on("click", "#svg-by-id", function () {
|
1167
|
+
ok(true, "delegated id selector");
|
1168
|
+
})
|
1169
|
+
.on("click", "[class~='svg-by-class']", function () {
|
1170
|
+
ok(true, "delegated class selector");
|
1171
|
+
})
|
1172
|
+
.find("#svg-by-id, [class~='svg-by-class']")
|
1173
|
+
.trigger("click")
|
1174
|
+
.end()
|
1175
|
+
.off("click");
|
910
1176
|
svg.remove();
|
911
1177
|
});
|
912
|
-
test("Delegated events in forms (#10844; #11145; #8165; #11382, #11764)", function() {
|
1178
|
+
test("Delegated events in forms (#10844; #11145; #8165; #11382, #11764)", function () {
|
913
1179
|
expect(5);
|
914
|
-
var form = jQuery(
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
1180
|
+
var form = jQuery(
|
1181
|
+
'<form id="myform">' +
|
1182
|
+
'<input type="text" name="id" value="secret agent man" />' +
|
1183
|
+
"</form>"
|
1184
|
+
)
|
1185
|
+
.on("submit", function (event) {
|
1186
|
+
event.preventDefault();
|
1187
|
+
})
|
1188
|
+
.appendTo("body");
|
1189
|
+
jQuery("body")
|
1190
|
+
.on("submit", "#myform", function () {
|
1191
|
+
ok(true, "delegated id selector with aliased id");
|
1192
|
+
})
|
1193
|
+
.find("#myform")
|
1194
|
+
.trigger("submit")
|
1195
|
+
.end()
|
1196
|
+
.off("submit");
|
1197
|
+
form.append(
|
1198
|
+
'<input type="text" name="disabled" value="differently abled" />'
|
1199
|
+
);
|
1200
|
+
jQuery("body")
|
1201
|
+
.on("submit", "#myform", function () {
|
1202
|
+
ok(true, "delegated id selector with aliased disabled");
|
1203
|
+
})
|
1204
|
+
.find("#myform")
|
1205
|
+
.trigger("submit")
|
1206
|
+
.end()
|
1207
|
+
.off("submit");
|
1208
|
+
form
|
1209
|
+
.append('<button id="nestyDisabledBtn"><span>Zing</span></button>')
|
1210
|
+
.on("click", "#nestyDisabledBtn", function () {
|
1211
|
+
ok(true, "click on enabled/disabled button with nesty elements");
|
1212
|
+
})
|
1213
|
+
.on("mouseover", "#nestyDisabledBtn", function () {
|
1214
|
+
ok(true, "mouse on enabled/disabled button with nesty elements");
|
1215
|
+
})
|
1216
|
+
.find("span")
|
1217
|
+
.trigger("click")
|
1218
|
+
.trigger("mouseover")
|
1219
|
+
.end()
|
1220
|
+
.find("#nestyDisabledBtn")
|
1221
|
+
.prop("disabled", true)
|
1222
|
+
.end()
|
1223
|
+
.find("span")
|
1224
|
+
.trigger("click")
|
1225
|
+
.trigger("mouseover")
|
1226
|
+
.end()
|
1227
|
+
.off("click");
|
929
1228
|
form.remove();
|
930
1229
|
});
|
931
|
-
test("Submit event can be stopped (#11049)", function() {
|
1230
|
+
test("Submit event can be stopped (#11049)", function () {
|
932
1231
|
expect(1);
|
933
|
-
var form = jQuery(
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
1232
|
+
var form = jQuery(
|
1233
|
+
'<form id="myform">' +
|
1234
|
+
'<input type="text" name="sue" value="bawls" />' +
|
1235
|
+
'<input type="submit" />' +
|
1236
|
+
"</form>"
|
1237
|
+
).appendTo("body");
|
1238
|
+
jQuery("body")
|
1239
|
+
.on("submit", function () {
|
1240
|
+
ok(true, "submit bubbled on first handler");
|
1241
|
+
return false;
|
1242
|
+
})
|
1243
|
+
.find("#myform input[type=submit]")
|
1244
|
+
.each(function () {
|
1245
|
+
this.click();
|
1246
|
+
})
|
1247
|
+
.end()
|
1248
|
+
.on("submit", function () {
|
1249
|
+
ok(false, "submit bubbled on second handler");
|
1250
|
+
return false;
|
1251
|
+
})
|
1252
|
+
.find("#myform input[type=submit]")
|
1253
|
+
.each(function () {
|
1254
|
+
jQuery(this.form).on("submit", function (e) {
|
1255
|
+
e.preventDefault();
|
1256
|
+
e.stopPropagation();
|
1257
|
+
});
|
1258
|
+
this.click();
|
1259
|
+
})
|
1260
|
+
.end()
|
1261
|
+
.off("submit");
|
949
1262
|
form.remove();
|
950
1263
|
});
|
951
|
-
test("on(beforeunload) creates/deletes window property instead of adding/removing event listener", function() {
|
952
|
-
var handle = function() {};
|
1264
|
+
test("on(beforeunload) creates/deletes window property instead of adding/removing event listener", function () {
|
1265
|
+
var handle = function () {};
|
953
1266
|
jQuery(window).on("beforeunload", handle);
|
954
|
-
equal(
|
1267
|
+
equal(
|
1268
|
+
typeof window.onbeforeunload,
|
1269
|
+
"function",
|
1270
|
+
"window property is set to a function"
|
1271
|
+
);
|
955
1272
|
jQuery(window).off("beforeunload", handle);
|
956
1273
|
});
|
957
|
-
test("jQuery.Event( type, props )", function() {
|
1274
|
+
test("jQuery.Event( type, props )", function () {
|
958
1275
|
expect(5);
|
959
|
-
var event = jQuery.Event("keydown", {keyCode: 64}),
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
1276
|
+
var event = jQuery.Event("keydown", { keyCode: 64 }),
|
1277
|
+
handler = function (event) {
|
1278
|
+
ok("keyCode" in event, "Special property 'keyCode' exists");
|
1279
|
+
equal(event.keyCode, 64, "event.keyCode has explicit value '64'");
|
1280
|
+
};
|
964
1281
|
equal(event.type, "keydown", "Verify type");
|
965
|
-
equal(
|
1282
|
+
equal(
|
1283
|
+
jQuery.inArray("type", jQuery.event.props),
|
1284
|
+
-1,
|
1285
|
+
"'type' property not in props (#10375)"
|
1286
|
+
);
|
966
1287
|
ok("keyCode" in event, "Special 'keyCode' property exists");
|
967
1288
|
jQuery("body").bind("keydown", handler).trigger(event);
|
968
1289
|
jQuery("body").unbind("keydown");
|
969
1290
|
});
|
970
|
-
test("jQuery.Event.currentTarget", function() {
|
1291
|
+
test("jQuery.Event.currentTarget", function () {
|
971
1292
|
expect(2);
|
972
|
-
jQuery("<div><p><button>shiny</button></p></div>")
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
1293
|
+
jQuery("<div><p><button>shiny</button></p></div>")
|
1294
|
+
.on("click", "p", function (e) {
|
1295
|
+
equal(e.currentTarget, this, "Check delegated currentTarget on event");
|
1296
|
+
})
|
1297
|
+
.find("button")
|
1298
|
+
.on("click", function (e) {
|
1299
|
+
equal(e.currentTarget, this, "Check currentTarget on event");
|
1300
|
+
})
|
1301
|
+
.click()
|
1302
|
+
.off("click")
|
1303
|
+
.end()
|
1304
|
+
.off("click");
|
1305
|
+
});
|
1306
|
+
test("toggle(Function, Function, ...)", function () {
|
979
1307
|
expect(16);
|
980
1308
|
var count = 0,
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
link
|
1309
|
+
fn1 = function (e) {
|
1310
|
+
count++;
|
1311
|
+
},
|
1312
|
+
fn2 = function (e) {
|
1313
|
+
count--;
|
1314
|
+
},
|
1315
|
+
preventDefault = function (e) {
|
1316
|
+
e.preventDefault();
|
1317
|
+
},
|
1318
|
+
link = jQuery("#mark");
|
1319
|
+
link
|
1320
|
+
.click(preventDefault)
|
1321
|
+
.click()
|
1322
|
+
.toggle(fn1, fn2)
|
1323
|
+
.click()
|
1324
|
+
.click()
|
1325
|
+
.click()
|
1326
|
+
.click()
|
1327
|
+
.click();
|
992
1328
|
equal(count, 1, "Check for toggle(fn, fn)");
|
993
|
-
jQuery("#firstp")
|
994
|
-
|
995
|
-
|
1329
|
+
jQuery("#firstp")
|
1330
|
+
.toggle(
|
1331
|
+
function () {
|
1332
|
+
equal(
|
1333
|
+
arguments.length,
|
1334
|
+
4,
|
1335
|
+
"toggle correctly passes through additional triggered arguments, see #1701"
|
1336
|
+
);
|
1337
|
+
},
|
1338
|
+
function () {}
|
1339
|
+
)
|
1340
|
+
.trigger("click", [1, 2, 3]);
|
996
1341
|
var first = 0;
|
997
|
-
jQuery("#simon1")
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1342
|
+
jQuery("#simon1")
|
1343
|
+
.one("click", function () {
|
1344
|
+
ok(true, "Execute event only once");
|
1345
|
+
jQuery(this).toggle(
|
1346
|
+
function () {
|
1347
|
+
equal(
|
1348
|
+
first++,
|
1349
|
+
0,
|
1350
|
+
"toggle(Function,Function) assigned from within one('xxx'), see #1054"
|
1351
|
+
);
|
1352
|
+
},
|
1353
|
+
function () {
|
1354
|
+
equal(
|
1355
|
+
first,
|
1356
|
+
1,
|
1357
|
+
"toggle(Function,Function) assigned from within one('xxx'), see #1054"
|
1358
|
+
);
|
1359
|
+
}
|
1360
|
+
);
|
1361
|
+
return false;
|
1362
|
+
})
|
1363
|
+
.click()
|
1364
|
+
.click()
|
1365
|
+
.click();
|
1006
1366
|
var turn = 0;
|
1007
|
-
var fns = [
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1367
|
+
var fns = [
|
1368
|
+
function () {
|
1369
|
+
turn = 1;
|
1370
|
+
},
|
1371
|
+
function () {
|
1372
|
+
turn = 2;
|
1373
|
+
},
|
1374
|
+
function () {
|
1375
|
+
turn = 3;
|
1376
|
+
},
|
1377
|
+
];
|
1014
1378
|
var $div = jQuery("<div> </div>").toggle(fns[0], fns[1], fns[2]);
|
1015
1379
|
$div.click();
|
1016
1380
|
equal(turn, 1, "Trying toggle with 3 functions, attempt 1 yields 1");
|
@@ -1027,45 +1391,59 @@
|
|
1027
1391
|
ok(!data, "Unbinding one function from toggle unbinds them all");
|
1028
1392
|
$div.remove();
|
1029
1393
|
var a = [],
|
1030
|
-
|
1394
|
+
b = [];
|
1031
1395
|
$div = jQuery("<div/>");
|
1032
|
-
$div.toggle(
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1396
|
+
$div.toggle(
|
1397
|
+
function () {
|
1398
|
+
a.push(1);
|
1399
|
+
},
|
1400
|
+
function () {
|
1401
|
+
a.push(2);
|
1402
|
+
}
|
1403
|
+
);
|
1037
1404
|
$div.click();
|
1038
1405
|
deepEqual(a, [1], "Check that a click worked.");
|
1039
|
-
$div.toggle(
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1406
|
+
$div.toggle(
|
1407
|
+
function () {
|
1408
|
+
b.push(1);
|
1409
|
+
},
|
1410
|
+
function () {
|
1411
|
+
b.push(2);
|
1412
|
+
}
|
1413
|
+
);
|
1044
1414
|
$div.click();
|
1045
1415
|
deepEqual(a, [1, 2], "Check that a click worked with a second toggle.");
|
1046
1416
|
deepEqual(b, [1], "Check that a click worked with a second toggle.");
|
1047
1417
|
$div.click();
|
1048
|
-
deepEqual(
|
1049
|
-
|
1418
|
+
deepEqual(
|
1419
|
+
a,
|
1420
|
+
[1, 2, 1],
|
1421
|
+
"Check that a click worked with a second toggle, second click."
|
1422
|
+
);
|
1423
|
+
deepEqual(
|
1424
|
+
b,
|
1425
|
+
[1, 2],
|
1426
|
+
"Check that a click worked with a second toggle, second click."
|
1427
|
+
);
|
1050
1428
|
$div.remove();
|
1051
1429
|
});
|
1052
|
-
test(".live()/.die()", function() {
|
1430
|
+
test(".live()/.die()", function () {
|
1053
1431
|
expect(66);
|
1054
1432
|
var submit = 0,
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
jQuery("div").live("submit", function() {
|
1433
|
+
div = 0,
|
1434
|
+
livea = 0,
|
1435
|
+
liveb = 0;
|
1436
|
+
jQuery("div").live("submit", function () {
|
1059
1437
|
submit++;
|
1060
1438
|
return false;
|
1061
1439
|
});
|
1062
|
-
jQuery("div").live("click", function() {
|
1440
|
+
jQuery("div").live("click", function () {
|
1063
1441
|
div++;
|
1064
1442
|
});
|
1065
|
-
jQuery("div#nothiddendiv").live("click", function() {
|
1443
|
+
jQuery("div#nothiddendiv").live("click", function () {
|
1066
1444
|
livea++;
|
1067
1445
|
});
|
1068
|
-
jQuery("div#nothiddendivchild").live("click", function() {
|
1446
|
+
jQuery("div#nothiddendivchild").live("click", function () {
|
1069
1447
|
liveb++;
|
1070
1448
|
});
|
1071
1449
|
jQuery("body").trigger("click");
|
@@ -1132,7 +1510,7 @@
|
|
1132
1510
|
div = 0;
|
1133
1511
|
livea = 0;
|
1134
1512
|
liveb = 0;
|
1135
|
-
jQuery("div#nothiddendivchild").live("click", function(e) {
|
1513
|
+
jQuery("div#nothiddendivchild").live("click", function (e) {
|
1136
1514
|
liveb++;
|
1137
1515
|
e.stopPropagation();
|
1138
1516
|
});
|
@@ -1154,8 +1532,8 @@
|
|
1154
1532
|
jQuery("div").die("click");
|
1155
1533
|
jQuery("div").die("submit");
|
1156
1534
|
var clicked = 0,
|
1157
|
-
|
1158
|
-
jQuery("#foo", container).live("click", function(e) {
|
1535
|
+
container = jQuery("#qunit-fixture")[0];
|
1536
|
+
jQuery("#foo", container).live("click", function (e) {
|
1159
1537
|
clicked++;
|
1160
1538
|
});
|
1161
1539
|
jQuery("div").trigger("click");
|
@@ -1166,32 +1544,57 @@
|
|
1166
1544
|
jQuery("#foo", container).die("click");
|
1167
1545
|
jQuery("#foo").trigger("click");
|
1168
1546
|
equal(clicked, 2, "die with a context");
|
1169
|
-
jQuery("#foo").live("click", true, function(e) {
|
1547
|
+
jQuery("#foo").live("click", true, function (e) {
|
1170
1548
|
equal(e.data, true, "live with event data");
|
1171
1549
|
});
|
1172
1550
|
jQuery("#foo").trigger("click").die("click");
|
1173
|
-
jQuery("#foo").live("click", function(e, data) {
|
1551
|
+
jQuery("#foo").live("click", function (e, data) {
|
1174
1552
|
equal(data, true, "live with trigger data");
|
1175
1553
|
});
|
1176
1554
|
jQuery("#foo").trigger("click", true).die("click");
|
1177
|
-
jQuery("#foo").live(
|
1178
|
-
|
1179
|
-
|
1555
|
+
jQuery("#foo").live(
|
1556
|
+
"click",
|
1557
|
+
jQuery.proxy(
|
1558
|
+
function (e) {
|
1559
|
+
equal(this.foo, "bar", "live with event scope");
|
1560
|
+
},
|
1561
|
+
{ foo: "bar" }
|
1562
|
+
)
|
1563
|
+
);
|
1180
1564
|
jQuery("#foo").trigger("click").die("click");
|
1181
|
-
jQuery("#foo").live(
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
|
1565
|
+
jQuery("#foo").live(
|
1566
|
+
"click",
|
1567
|
+
true,
|
1568
|
+
jQuery.proxy(
|
1569
|
+
function (e, data) {
|
1570
|
+
equal(
|
1571
|
+
e.data,
|
1572
|
+
true,
|
1573
|
+
"live with with different this object, event data, and trigger data"
|
1574
|
+
);
|
1575
|
+
equal(
|
1576
|
+
this["foo"],
|
1577
|
+
"bar",
|
1578
|
+
"live with with different this object, event data, and trigger data"
|
1579
|
+
);
|
1580
|
+
equal(
|
1581
|
+
data,
|
1582
|
+
true,
|
1583
|
+
"live with with different this object, event data, and trigger data"
|
1584
|
+
);
|
1585
|
+
},
|
1586
|
+
{ foo: "bar" }
|
1587
|
+
)
|
1588
|
+
);
|
1186
1589
|
jQuery("#foo").trigger("click", true).die("click");
|
1187
|
-
jQuery("#anchor2").live("click", function() {
|
1590
|
+
jQuery("#anchor2").live("click", function () {
|
1188
1591
|
return false;
|
1189
1592
|
});
|
1190
1593
|
var hash = window.location.hash;
|
1191
1594
|
jQuery("#anchor2").trigger("click");
|
1192
1595
|
equal(window.location.hash, hash, "return false worked");
|
1193
1596
|
jQuery("#anchor2").die("click");
|
1194
|
-
jQuery("#anchor2").live("click", function(e) {
|
1597
|
+
jQuery("#anchor2").live("click", function (e) {
|
1195
1598
|
e.preventDefault();
|
1196
1599
|
});
|
1197
1600
|
hash = window.location.hash;
|
@@ -1227,35 +1630,43 @@
|
|
1227
1630
|
equal(called, 1, "Verify that one foo occurred.");
|
1228
1631
|
jQuery("#nothiddendiv").die("foo", callback);
|
1229
1632
|
var livec = 0,
|
1230
|
-
|
1231
|
-
jQuery("#nothiddendivchild").live("click", function(e) {
|
1633
|
+
elemDiv = jQuery("#nothiddendivchild").html("<span></span>").get(0);
|
1634
|
+
jQuery("#nothiddendivchild").live("click", function (e) {
|
1232
1635
|
jQuery("#nothiddendivchild").html("");
|
1233
1636
|
});
|
1234
|
-
jQuery("#nothiddendivchild").live("click", function(e) {
|
1637
|
+
jQuery("#nothiddendivchild").live("click", function (e) {
|
1235
1638
|
if (e.target) {
|
1236
1639
|
livec++;
|
1237
1640
|
}
|
1238
1641
|
});
|
1239
1642
|
jQuery("#nothiddendiv span").click();
|
1240
|
-
equal(
|
1241
|
-
|
1643
|
+
equal(
|
1644
|
+
jQuery("#nothiddendiv span").length,
|
1645
|
+
0,
|
1646
|
+
"Verify that first handler occurred and modified the DOM."
|
1647
|
+
);
|
1648
|
+
equal(
|
1649
|
+
livec,
|
1650
|
+
1,
|
1651
|
+
"Verify that second handler occurred even with nuked target."
|
1652
|
+
);
|
1242
1653
|
jQuery("#nothiddendivchild").die("click");
|
1243
1654
|
var lived = 0,
|
1244
|
-
|
1245
|
-
jQuery("span#liveSpan1 a").live("click", function() {
|
1655
|
+
livee = 0;
|
1656
|
+
jQuery("span#liveSpan1 a").live("click", function () {
|
1246
1657
|
lived++;
|
1247
1658
|
return false;
|
1248
1659
|
});
|
1249
|
-
jQuery("span#liveSpan1").live("click", function() {
|
1660
|
+
jQuery("span#liveSpan1").live("click", function () {
|
1250
1661
|
livee++;
|
1251
1662
|
});
|
1252
1663
|
jQuery("span#liveSpan1 a").click();
|
1253
1664
|
equal(lived, 1, "Verify that only one first handler occurred.");
|
1254
1665
|
equal(livee, 0, "Verify that second handler doesn't.");
|
1255
|
-
jQuery("span#liveSpan2").live("click", function() {
|
1666
|
+
jQuery("span#liveSpan2").live("click", function () {
|
1256
1667
|
livee++;
|
1257
1668
|
});
|
1258
|
-
jQuery("span#liveSpan2 a").live("click", function() {
|
1669
|
+
jQuery("span#liveSpan2 a").live("click", function () {
|
1259
1670
|
lived++;
|
1260
1671
|
return false;
|
1261
1672
|
});
|
@@ -1268,11 +1679,23 @@
|
|
1268
1679
|
jQuery("span#liveSpan1").die("click");
|
1269
1680
|
jQuery("span#liveSpan2 a").die("click");
|
1270
1681
|
jQuery("span#liveSpan2").die("click");
|
1271
|
-
jQuery("span#liveSpan1").live("click", function(e) {
|
1682
|
+
jQuery("span#liveSpan1").live("click", function (e) {
|
1272
1683
|
equal(this.id, "liveSpan1", "Check the this within a live handler");
|
1273
|
-
equal(
|
1274
|
-
|
1275
|
-
|
1684
|
+
equal(
|
1685
|
+
e.currentTarget.id,
|
1686
|
+
"liveSpan1",
|
1687
|
+
"Check the event.currentTarget within a live handler"
|
1688
|
+
);
|
1689
|
+
equal(
|
1690
|
+
e.delegateTarget,
|
1691
|
+
document,
|
1692
|
+
"Check the event.delegateTarget within a live handler"
|
1693
|
+
);
|
1694
|
+
equal(
|
1695
|
+
e.target.nodeName.toUpperCase(),
|
1696
|
+
"A",
|
1697
|
+
"Check the event.target within a live handler"
|
1698
|
+
);
|
1276
1699
|
});
|
1277
1700
|
jQuery("span#liveSpan1 a").click();
|
1278
1701
|
jQuery("span#liveSpan1").die("click");
|
@@ -1280,11 +1703,11 @@
|
|
1280
1703
|
function clickB() {
|
1281
1704
|
livee++;
|
1282
1705
|
}
|
1283
|
-
jQuery("#nothiddendiv div").live("click", function() {
|
1706
|
+
jQuery("#nothiddendiv div").live("click", function () {
|
1284
1707
|
livee++;
|
1285
1708
|
});
|
1286
1709
|
jQuery("#nothiddendiv div").live("click", clickB);
|
1287
|
-
jQuery("#nothiddendiv div").live("mouseover", function() {
|
1710
|
+
jQuery("#nothiddendiv div").live("mouseover", function () {
|
1288
1711
|
livee++;
|
1289
1712
|
});
|
1290
1713
|
equal(livee, 0, "No clicks, deep selector.");
|
@@ -1306,15 +1729,18 @@
|
|
1306
1729
|
jQuery("#nothiddendivchild").trigger("click");
|
1307
1730
|
equal(livee, 1, "Click, deep selector.");
|
1308
1731
|
jQuery("#nothiddendiv div").die("click");
|
1309
|
-
jQuery("#nothiddendiv div")
|
1310
|
-
|
1311
|
-
|
1312
|
-
|
1313
|
-
|
1732
|
+
jQuery("#nothiddendiv div")
|
1733
|
+
.live("blur", function () {
|
1734
|
+
ok(true, "Live div trigger blur.");
|
1735
|
+
})
|
1736
|
+
.trigger("blur")
|
1737
|
+
.die("blur");
|
1738
|
+
});
|
1739
|
+
test("die all bound events", function () {
|
1314
1740
|
expect(1);
|
1315
1741
|
var count = 0;
|
1316
1742
|
var div = jQuery("div#nothiddendivchild");
|
1317
|
-
div.live("click submit", function() {
|
1743
|
+
div.live("click submit", function () {
|
1318
1744
|
count++;
|
1319
1745
|
});
|
1320
1746
|
div.die();
|
@@ -1322,11 +1748,11 @@
|
|
1322
1748
|
div.trigger("submit");
|
1323
1749
|
equal(count, 0, "Make sure no events were triggered.");
|
1324
1750
|
});
|
1325
|
-
test("live with multiple events", function() {
|
1751
|
+
test("live with multiple events", function () {
|
1326
1752
|
expect(1);
|
1327
1753
|
var count = 0;
|
1328
1754
|
var div = jQuery("div#nothiddendivchild");
|
1329
|
-
div.live("click submit", function() {
|
1755
|
+
div.live("click submit", function () {
|
1330
1756
|
count++;
|
1331
1757
|
});
|
1332
1758
|
div.trigger("click");
|
@@ -1334,15 +1760,15 @@
|
|
1334
1760
|
equal(count, 2, "Make sure both the click and submit were triggered.");
|
1335
1761
|
div.die();
|
1336
1762
|
});
|
1337
|
-
test("live with namespaces", function() {
|
1763
|
+
test("live with namespaces", function () {
|
1338
1764
|
expect(15);
|
1339
1765
|
var count1 = 0,
|
1340
|
-
|
1341
|
-
jQuery("#liveSpan1").live("foo.bar", function(e) {
|
1766
|
+
count2 = 0;
|
1767
|
+
jQuery("#liveSpan1").live("foo.bar", function (e) {
|
1342
1768
|
equal(e.namespace, "bar", "namespace is bar");
|
1343
1769
|
count1++;
|
1344
1770
|
});
|
1345
|
-
jQuery("#liveSpan1").live("foo.zed", function(e) {
|
1771
|
+
jQuery("#liveSpan1").live("foo.zed", function (e) {
|
1346
1772
|
equal(e.namespace, "zed", "namespace is zed");
|
1347
1773
|
count2++;
|
1348
1774
|
});
|
@@ -1375,18 +1801,18 @@
|
|
1375
1801
|
equal(count1, 0, "Did not trigger foo.zed again");
|
1376
1802
|
equal(count2, 0, "Did not trigger foo.zed again");
|
1377
1803
|
});
|
1378
|
-
test("live with change", function() {
|
1804
|
+
test("live with change", function () {
|
1379
1805
|
expect(8);
|
1380
1806
|
var selectChange = 0,
|
1381
|
-
|
1807
|
+
checkboxChange = 0;
|
1382
1808
|
var select = jQuery("select[name='S1']");
|
1383
|
-
select.live("change", function() {
|
1809
|
+
select.live("change", function () {
|
1384
1810
|
selectChange++;
|
1385
1811
|
});
|
1386
1812
|
var checkbox = jQuery("#check2"),
|
1387
|
-
|
1388
|
-
|
1389
|
-
|
1813
|
+
checkboxFunction = function () {
|
1814
|
+
checkboxChange++;
|
1815
|
+
};
|
1390
1816
|
checkbox.live("change", checkboxFunction);
|
1391
1817
|
selectChange = 0;
|
1392
1818
|
select[0].selectedIndex = select[0].selectedIndex ? 0 : 1;
|
@@ -1399,9 +1825,9 @@
|
|
1399
1825
|
checkbox.trigger("change");
|
1400
1826
|
equal(checkboxChange, 1, "Change on checkbox.");
|
1401
1827
|
var text = jQuery("#name"),
|
1402
|
-
|
1403
|
-
|
1404
|
-
text.live("change", function() {
|
1828
|
+
textChange = 0,
|
1829
|
+
oldTextVal = text.val();
|
1830
|
+
text.live("change", function () {
|
1405
1831
|
textChange++;
|
1406
1832
|
});
|
1407
1833
|
text.val(oldTextVal + "foo");
|
@@ -1410,9 +1836,9 @@
|
|
1410
1836
|
text.val(oldTextVal);
|
1411
1837
|
text.die("change");
|
1412
1838
|
var password = jQuery("#name"),
|
1413
|
-
|
1414
|
-
|
1415
|
-
password.live("change", function() {
|
1839
|
+
passwordChange = 0,
|
1840
|
+
oldPasswordVal = password.val();
|
1841
|
+
password.live("change", function () {
|
1416
1842
|
passwordChange++;
|
1417
1843
|
});
|
1418
1844
|
password.val(oldPasswordVal + "foo");
|
@@ -1433,22 +1859,22 @@
|
|
1433
1859
|
checkbox.trigger("change");
|
1434
1860
|
equal(checkboxChange, 1, "Die on checkbox.");
|
1435
1861
|
});
|
1436
|
-
test("live with submit", function() {
|
1862
|
+
test("live with submit", function () {
|
1437
1863
|
expect(7);
|
1438
1864
|
var count1 = 0,
|
1439
|
-
|
1440
|
-
jQuery("#testForm").live("submit", function(ev) {
|
1865
|
+
count2 = 0;
|
1866
|
+
jQuery("#testForm").live("submit", function (ev) {
|
1441
1867
|
count1++;
|
1442
1868
|
ev.preventDefault();
|
1443
1869
|
});
|
1444
|
-
jQuery("body").live("submit", function(ev) {
|
1870
|
+
jQuery("body").live("submit", function (ev) {
|
1445
1871
|
count2++;
|
1446
1872
|
ev.preventDefault();
|
1447
1873
|
});
|
1448
1874
|
jQuery("#testForm input[name=sub1]").submit();
|
1449
1875
|
equal(count1, 1, "Verify form submit.");
|
1450
1876
|
equal(count2, 1, "Verify body submit.");
|
1451
|
-
jQuery("#testForm input[name=sub1]").live("click", function(ev) {
|
1877
|
+
jQuery("#testForm input[name=sub1]").live("click", function (ev) {
|
1452
1878
|
ok(true, "cancelling submit still calls click handler");
|
1453
1879
|
});
|
1454
1880
|
jQuery("#testForm input[name=sub1]")[0].click();
|
@@ -1461,29 +1887,29 @@
|
|
1461
1887
|
jQuery("#testForm input[name=sub1]").die("click");
|
1462
1888
|
jQuery("body").die("submit");
|
1463
1889
|
});
|
1464
|
-
test("live with special events", function() {
|
1890
|
+
test("live with special events", function () {
|
1465
1891
|
expect(13);
|
1466
1892
|
jQuery.event.special["foo"] = {
|
1467
|
-
setup: function(data, namespaces, handler) {
|
1893
|
+
setup: function (data, namespaces, handler) {
|
1468
1894
|
ok(true, "Setup run.");
|
1469
1895
|
},
|
1470
|
-
teardown: function(namespaces) {
|
1896
|
+
teardown: function (namespaces) {
|
1471
1897
|
ok(true, "Teardown run.");
|
1472
1898
|
},
|
1473
|
-
add: function(handleObj) {
|
1899
|
+
add: function (handleObj) {
|
1474
1900
|
ok(true, "Add run.");
|
1475
1901
|
},
|
1476
|
-
remove: function(handleObj) {
|
1902
|
+
remove: function (handleObj) {
|
1477
1903
|
ok(true, "Remove run.");
|
1478
1904
|
},
|
1479
|
-
_default: function(event, arg) {
|
1905
|
+
_default: function (event, arg) {
|
1480
1906
|
ok(event.type === "foo" && arg == 42, "Default run with correct args.");
|
1481
|
-
}
|
1907
|
+
},
|
1482
1908
|
};
|
1483
|
-
jQuery("#liveSpan1").live("foo.a", function(e) {
|
1909
|
+
jQuery("#liveSpan1").live("foo.a", function (e) {
|
1484
1910
|
ok(true, "Handler 1 run.");
|
1485
1911
|
});
|
1486
|
-
jQuery("#liveSpan1").live("foo.b", function(e) {
|
1912
|
+
jQuery("#liveSpan1").live("foo.b", function (e) {
|
1487
1913
|
ok(true, "Handler 2 run.");
|
1488
1914
|
});
|
1489
1915
|
jQuery("#liveSpan1").trigger("foo", 42);
|
@@ -1493,23 +1919,23 @@
|
|
1493
1919
|
jQuery("#liveSpan1").die("foo");
|
1494
1920
|
delete jQuery.event.special["foo"];
|
1495
1921
|
});
|
1496
|
-
test(".delegate()/.undelegate()", function() {
|
1922
|
+
test(".delegate()/.undelegate()", function () {
|
1497
1923
|
expect(65);
|
1498
1924
|
var submit = 0,
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1502
|
-
jQuery("#body").delegate("div", "submit", function() {
|
1925
|
+
div = 0,
|
1926
|
+
livea = 0,
|
1927
|
+
liveb = 0;
|
1928
|
+
jQuery("#body").delegate("div", "submit", function () {
|
1503
1929
|
submit++;
|
1504
1930
|
return false;
|
1505
1931
|
});
|
1506
|
-
jQuery("#body").delegate("div", "click", function() {
|
1932
|
+
jQuery("#body").delegate("div", "click", function () {
|
1507
1933
|
div++;
|
1508
1934
|
});
|
1509
|
-
jQuery("#body").delegate("div#nothiddendiv", "click", function() {
|
1935
|
+
jQuery("#body").delegate("div#nothiddendiv", "click", function () {
|
1510
1936
|
livea++;
|
1511
1937
|
});
|
1512
|
-
jQuery("#body").delegate("div#nothiddendivchild", "click", function() {
|
1938
|
+
jQuery("#body").delegate("div#nothiddendivchild", "click", function () {
|
1513
1939
|
liveb++;
|
1514
1940
|
});
|
1515
1941
|
jQuery("body").trigger("click");
|
@@ -1576,7 +2002,7 @@
|
|
1576
2002
|
div = 0;
|
1577
2003
|
livea = 0;
|
1578
2004
|
liveb = 0;
|
1579
|
-
jQuery("#body").delegate("div#nothiddendivchild", "click", function(e) {
|
2005
|
+
jQuery("#body").delegate("div#nothiddendivchild", "click", function (e) {
|
1580
2006
|
liveb++;
|
1581
2007
|
e.stopPropagation();
|
1582
2008
|
});
|
@@ -1598,8 +2024,8 @@
|
|
1598
2024
|
jQuery("#body").undelegate("div", "click");
|
1599
2025
|
jQuery("#body").undelegate("div", "submit");
|
1600
2026
|
var clicked = 0,
|
1601
|
-
|
1602
|
-
jQuery("#qunit-fixture").delegate("#foo", "click", function(e) {
|
2027
|
+
container = jQuery("#qunit-fixture")[0];
|
2028
|
+
jQuery("#qunit-fixture").delegate("#foo", "click", function (e) {
|
1603
2029
|
clicked++;
|
1604
2030
|
});
|
1605
2031
|
jQuery("div").trigger("click");
|
@@ -1610,36 +2036,63 @@
|
|
1610
2036
|
jQuery("#qunit-fixture").undelegate("#foo", "click");
|
1611
2037
|
jQuery("#foo").trigger("click");
|
1612
2038
|
equal(clicked, 2, "undelegate with a context");
|
1613
|
-
jQuery("#body").delegate("#foo", "click", true, function(e) {
|
2039
|
+
jQuery("#body").delegate("#foo", "click", true, function (e) {
|
1614
2040
|
equal(e.data, true, "delegate with event data");
|
1615
2041
|
});
|
1616
2042
|
jQuery("#foo").trigger("click");
|
1617
2043
|
jQuery("#body").undelegate("#foo", "click");
|
1618
|
-
jQuery("#body").delegate("#foo", "click", function(e, data) {
|
2044
|
+
jQuery("#body").delegate("#foo", "click", function (e, data) {
|
1619
2045
|
equal(data, true, "delegate with trigger data");
|
1620
2046
|
});
|
1621
2047
|
jQuery("#foo").trigger("click", true);
|
1622
2048
|
jQuery("#body").undelegate("#foo", "click");
|
1623
|
-
jQuery("#body").delegate(
|
1624
|
-
|
1625
|
-
|
2049
|
+
jQuery("#body").delegate(
|
2050
|
+
"#foo",
|
2051
|
+
"click",
|
2052
|
+
jQuery.proxy(
|
2053
|
+
function (e) {
|
2054
|
+
equal(this["foo"], "bar", "delegate with event scope");
|
2055
|
+
},
|
2056
|
+
{ foo: "bar" }
|
2057
|
+
)
|
2058
|
+
);
|
1626
2059
|
jQuery("#foo").trigger("click");
|
1627
2060
|
jQuery("#body").undelegate("#foo", "click");
|
1628
|
-
jQuery("#body").delegate(
|
1629
|
-
|
1630
|
-
|
1631
|
-
|
1632
|
-
|
2061
|
+
jQuery("#body").delegate(
|
2062
|
+
"#foo",
|
2063
|
+
"click",
|
2064
|
+
true,
|
2065
|
+
jQuery.proxy(
|
2066
|
+
function (e, data) {
|
2067
|
+
equal(
|
2068
|
+
e.data,
|
2069
|
+
true,
|
2070
|
+
"delegate with with different this object, event data, and trigger data"
|
2071
|
+
);
|
2072
|
+
equal(
|
2073
|
+
this.foo,
|
2074
|
+
"bar",
|
2075
|
+
"delegate with with different this object, event data, and trigger data"
|
2076
|
+
);
|
2077
|
+
equal(
|
2078
|
+
data,
|
2079
|
+
true,
|
2080
|
+
"delegate with with different this object, event data, and trigger data"
|
2081
|
+
);
|
2082
|
+
},
|
2083
|
+
{ foo: "bar" }
|
2084
|
+
)
|
2085
|
+
);
|
1633
2086
|
jQuery("#foo").trigger("click", true);
|
1634
2087
|
jQuery("#body").undelegate("#foo", "click");
|
1635
|
-
jQuery("#body").delegate("#anchor2", "click", function() {
|
2088
|
+
jQuery("#body").delegate("#anchor2", "click", function () {
|
1636
2089
|
return false;
|
1637
2090
|
});
|
1638
2091
|
var hash = window.location.hash;
|
1639
2092
|
jQuery("#anchor2").trigger("click");
|
1640
2093
|
equal(window.location.hash, hash, "return false worked");
|
1641
2094
|
jQuery("#body").undelegate("#anchor2", "click");
|
1642
|
-
jQuery("#body").delegate("#anchor2", "click", function(e) {
|
2095
|
+
jQuery("#body").delegate("#anchor2", "click", function (e) {
|
1643
2096
|
e.preventDefault();
|
1644
2097
|
});
|
1645
2098
|
hash = window.location.hash;
|
@@ -1675,35 +2128,43 @@
|
|
1675
2128
|
equal(called, 1, "Verify that one foo occurred.");
|
1676
2129
|
jQuery("#body").undelegate("#nothiddendiv", "foo", callback);
|
1677
2130
|
var livec = 0,
|
1678
|
-
|
1679
|
-
jQuery("#body").delegate("#nothiddendivchild", "click", function(e) {
|
2131
|
+
elemDiv = jQuery("#nothiddendivchild").html("<span></span>").get(0);
|
2132
|
+
jQuery("#body").delegate("#nothiddendivchild", "click", function (e) {
|
1680
2133
|
jQuery("#nothiddendivchild").html("");
|
1681
2134
|
});
|
1682
|
-
jQuery("#body").delegate("#nothiddendivchild", "click", function(e) {
|
2135
|
+
jQuery("#body").delegate("#nothiddendivchild", "click", function (e) {
|
1683
2136
|
if (e.target) {
|
1684
2137
|
livec++;
|
1685
2138
|
}
|
1686
2139
|
});
|
1687
2140
|
jQuery("#nothiddendiv span").click();
|
1688
|
-
equal(
|
1689
|
-
|
2141
|
+
equal(
|
2142
|
+
jQuery("#nothiddendiv span").length,
|
2143
|
+
0,
|
2144
|
+
"Verify that first handler occurred and modified the DOM."
|
2145
|
+
);
|
2146
|
+
equal(
|
2147
|
+
livec,
|
2148
|
+
1,
|
2149
|
+
"Verify that second handler occurred even with nuked target."
|
2150
|
+
);
|
1690
2151
|
jQuery("#body").undelegate("#nothiddendivchild", "click");
|
1691
2152
|
var lived = 0,
|
1692
|
-
|
1693
|
-
jQuery("#body").delegate("span#liveSpan1 a", "click", function() {
|
2153
|
+
livee = 0;
|
2154
|
+
jQuery("#body").delegate("span#liveSpan1 a", "click", function () {
|
1694
2155
|
lived++;
|
1695
2156
|
return false;
|
1696
2157
|
});
|
1697
|
-
jQuery("#body").delegate("span#liveSpan1", "click", function() {
|
2158
|
+
jQuery("#body").delegate("span#liveSpan1", "click", function () {
|
1698
2159
|
livee++;
|
1699
2160
|
});
|
1700
2161
|
jQuery("span#liveSpan1 a").click();
|
1701
2162
|
equal(lived, 1, "Verify that only one first handler occurred.");
|
1702
2163
|
equal(livee, 0, "Verify that second handler doesn't.");
|
1703
|
-
jQuery("#body").delegate("span#liveSpan2", "click", function() {
|
2164
|
+
jQuery("#body").delegate("span#liveSpan2", "click", function () {
|
1704
2165
|
livee++;
|
1705
2166
|
});
|
1706
|
-
jQuery("#body").delegate("span#liveSpan2 a", "click", function() {
|
2167
|
+
jQuery("#body").delegate("span#liveSpan2 a", "click", function () {
|
1707
2168
|
lived++;
|
1708
2169
|
return false;
|
1709
2170
|
});
|
@@ -1713,11 +2174,23 @@
|
|
1713
2174
|
equal(lived, 1, "Verify that only one first handler occurred.");
|
1714
2175
|
equal(livee, 0, "Verify that second handler doesn't.");
|
1715
2176
|
jQuery("#body").undelegate("click");
|
1716
|
-
jQuery("#body").delegate("span#liveSpan1", "click", function(e) {
|
2177
|
+
jQuery("#body").delegate("span#liveSpan1", "click", function (e) {
|
1717
2178
|
equal(this.id, "liveSpan1", "Check the this within a delegate handler");
|
1718
|
-
equal(
|
1719
|
-
|
1720
|
-
|
2179
|
+
equal(
|
2180
|
+
e.currentTarget.id,
|
2181
|
+
"liveSpan1",
|
2182
|
+
"Check the event.currentTarget within a delegate handler"
|
2183
|
+
);
|
2184
|
+
equal(
|
2185
|
+
e.delegateTarget,
|
2186
|
+
document.body,
|
2187
|
+
"Check the event.delegateTarget within a delegate handler"
|
2188
|
+
);
|
2189
|
+
equal(
|
2190
|
+
e.target.nodeName.toUpperCase(),
|
2191
|
+
"A",
|
2192
|
+
"Check the event.target within a delegate handler"
|
2193
|
+
);
|
1721
2194
|
});
|
1722
2195
|
jQuery("span#liveSpan1 a").click();
|
1723
2196
|
jQuery("#body").undelegate("span#liveSpan1", "click");
|
@@ -1725,11 +2198,11 @@
|
|
1725
2198
|
function clickB() {
|
1726
2199
|
livee++;
|
1727
2200
|
}
|
1728
|
-
jQuery("#body").delegate("#nothiddendiv div", "click", function() {
|
2201
|
+
jQuery("#body").delegate("#nothiddendiv div", "click", function () {
|
1729
2202
|
livee++;
|
1730
2203
|
});
|
1731
2204
|
jQuery("#body").delegate("#nothiddendiv div", "click", clickB);
|
1732
|
-
jQuery("#body").delegate("#nothiddendiv div", "mouseover", function() {
|
2205
|
+
jQuery("#body").delegate("#nothiddendiv div", "mouseover", function () {
|
1733
2206
|
livee++;
|
1734
2207
|
});
|
1735
2208
|
equal(livee, 0, "No clicks, deep selector.");
|
@@ -1752,51 +2225,80 @@
|
|
1752
2225
|
equal(livee, 1, "Click, deep selector.");
|
1753
2226
|
jQuery("#body").undelegate("#nothiddendiv div", "click");
|
1754
2227
|
});
|
1755
|
-
test("jQuery.off using dispatched jQuery.Event", function() {
|
2228
|
+
test("jQuery.off using dispatched jQuery.Event", function () {
|
1756
2229
|
expect(1);
|
1757
2230
|
var markup = jQuery('<p><a href="#">target</a></p>'),
|
1758
|
-
|
1759
|
-
markup
|
1760
|
-
|
1761
|
-
|
1762
|
-
|
1763
|
-
|
1764
|
-
|
1765
|
-
|
1766
|
-
|
1767
|
-
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
2231
|
+
count = 0;
|
2232
|
+
markup
|
2233
|
+
.on("click.name", "a", function (event) {
|
2234
|
+
equal(++count, 1, "event called once before removal");
|
2235
|
+
jQuery().off(event);
|
2236
|
+
})
|
2237
|
+
.find("a")
|
2238
|
+
.click()
|
2239
|
+
.click()
|
2240
|
+
.end()
|
2241
|
+
.remove();
|
2242
|
+
});
|
2243
|
+
test("delegated event with delegateTarget-relative selector", function () {
|
2244
|
+
var markup = jQuery(
|
2245
|
+
'<ul><li><a id="a0"></a><ul id="ul0"><li class=test><a id="a0_0"></a></li><li><a id="a0_1"></a></li></ul></li></ul>'
|
2246
|
+
).appendTo("#qunit-fixture");
|
2247
|
+
markup
|
2248
|
+
.on("click", ">li>a", function () {
|
2249
|
+
ok(this.id === "a0", "child li was clicked");
|
2250
|
+
})
|
2251
|
+
.find("#ul0")
|
2252
|
+
.on("click", "li:first>a", function () {
|
2253
|
+
ok(this.id === "a0_0", "first li under #u10 was clicked");
|
2254
|
+
})
|
2255
|
+
.end()
|
2256
|
+
.find("a")
|
2257
|
+
.click()
|
2258
|
+
.end()
|
2259
|
+
.find("#ul0")
|
2260
|
+
.off();
|
1771
2261
|
markup = markup.wrap("<div />").parent();
|
1772
|
-
markup
|
1773
|
-
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1777
|
-
|
1778
|
-
|
2262
|
+
markup
|
2263
|
+
.find("#ul0")
|
2264
|
+
.on("click", "div li a", function () {
|
2265
|
+
ok(false, "div is ABOVE the delegation point!");
|
2266
|
+
})
|
2267
|
+
.on("click", "ul a", function () {
|
2268
|
+
ok(false, "ul is the delegation point!");
|
2269
|
+
})
|
2270
|
+
.on("click", "li.test a", function () {
|
2271
|
+
ok(true, "li.test is below the delegation point.");
|
2272
|
+
})
|
2273
|
+
.find("#a0_0")
|
2274
|
+
.click();
|
1779
2275
|
markup.remove();
|
1780
2276
|
});
|
1781
|
-
test("stopPropagation() stops directly-bound events on delegated target", function() {
|
2277
|
+
test("stopPropagation() stops directly-bound events on delegated target", function () {
|
1782
2278
|
expect(1);
|
1783
|
-
var markup = jQuery(
|
1784
|
-
markup
|
1785
|
-
|
1786
|
-
|
1787
|
-
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1791
|
-
|
2279
|
+
var markup = jQuery('<div><p><a href="#">target</a></p></div>');
|
2280
|
+
markup
|
2281
|
+
.on("click", function () {
|
2282
|
+
ok(false, "directly-bound event on delegate target was called");
|
2283
|
+
})
|
2284
|
+
.on("click", "a", function (e) {
|
2285
|
+
e.stopPropagation();
|
2286
|
+
ok(true, "delegated handler was called");
|
2287
|
+
})
|
2288
|
+
.find("a")
|
2289
|
+
.click()
|
2290
|
+
.end()
|
2291
|
+
.remove();
|
2292
|
+
});
|
2293
|
+
test("undelegate all bound events", function () {
|
1792
2294
|
expect(2);
|
1793
2295
|
var count = 0,
|
1794
|
-
|
1795
|
-
|
1796
|
-
div.delegate("div#nothiddendivchild", "click submit", function() {
|
2296
|
+
clicks = 0,
|
2297
|
+
div = jQuery("#body");
|
2298
|
+
div.delegate("div#nothiddendivchild", "click submit", function () {
|
1797
2299
|
count++;
|
1798
2300
|
});
|
1799
|
-
div.bind("click", function() {
|
2301
|
+
div.bind("click", function () {
|
1800
2302
|
clicks++;
|
1801
2303
|
});
|
1802
2304
|
div.undelegate();
|
@@ -1807,11 +2309,11 @@
|
|
1807
2309
|
equal(clicks, 2, "Make sure delegated and directly bound event occurred.");
|
1808
2310
|
div.unbind("click");
|
1809
2311
|
});
|
1810
|
-
test("delegate with multiple events", function() {
|
2312
|
+
test("delegate with multiple events", function () {
|
1811
2313
|
expect(1);
|
1812
2314
|
var count = 0;
|
1813
2315
|
var div = jQuery("#body");
|
1814
|
-
div.delegate("div#nothiddendivchild", "click submit", function() {
|
2316
|
+
div.delegate("div#nothiddendivchild", "click submit", function () {
|
1815
2317
|
count++;
|
1816
2318
|
});
|
1817
2319
|
jQuery("div#nothiddendivchild").trigger("click");
|
@@ -1819,18 +2321,18 @@
|
|
1819
2321
|
equal(count, 2, "Make sure both the click and submit were triggered.");
|
1820
2322
|
jQuery("#body").undelegate();
|
1821
2323
|
});
|
1822
|
-
test("delegate with change", function() {
|
2324
|
+
test("delegate with change", function () {
|
1823
2325
|
expect(8);
|
1824
2326
|
var selectChange = 0,
|
1825
|
-
|
2327
|
+
checkboxChange = 0;
|
1826
2328
|
var select = jQuery("select[name='S1']");
|
1827
|
-
jQuery("#body").delegate("select[name='S1']", "change", function() {
|
2329
|
+
jQuery("#body").delegate("select[name='S1']", "change", function () {
|
1828
2330
|
selectChange++;
|
1829
2331
|
});
|
1830
2332
|
var checkbox = jQuery("#check2"),
|
1831
|
-
|
1832
|
-
|
1833
|
-
|
2333
|
+
checkboxFunction = function () {
|
2334
|
+
checkboxChange++;
|
2335
|
+
};
|
1834
2336
|
jQuery("#body").delegate("#check2", "change", checkboxFunction);
|
1835
2337
|
selectChange = 0;
|
1836
2338
|
select[0].selectedIndex = select[0].selectedIndex ? 0 : 1;
|
@@ -1843,9 +2345,9 @@
|
|
1843
2345
|
checkbox.trigger("change");
|
1844
2346
|
equal(checkboxChange, 1, "Change on checkbox.");
|
1845
2347
|
var text = jQuery("#name"),
|
1846
|
-
|
1847
|
-
|
1848
|
-
jQuery("#body").delegate("#name", "change", function() {
|
2348
|
+
textChange = 0,
|
2349
|
+
oldTextVal = text.val();
|
2350
|
+
jQuery("#body").delegate("#name", "change", function () {
|
1849
2351
|
textChange++;
|
1850
2352
|
});
|
1851
2353
|
text.val(oldTextVal + "foo");
|
@@ -1854,9 +2356,9 @@
|
|
1854
2356
|
text.val(oldTextVal);
|
1855
2357
|
jQuery("#body").die("change");
|
1856
2358
|
var password = jQuery("#name"),
|
1857
|
-
|
1858
|
-
|
1859
|
-
jQuery("#body").delegate("#name", "change", function() {
|
2359
|
+
passwordChange = 0,
|
2360
|
+
oldPasswordVal = password.val();
|
2361
|
+
jQuery("#body").delegate("#name", "change", function () {
|
1860
2362
|
passwordChange++;
|
1861
2363
|
});
|
1862
2364
|
password.val(oldPasswordVal + "foo");
|
@@ -1877,14 +2379,14 @@
|
|
1877
2379
|
checkbox.trigger("change");
|
1878
2380
|
equal(checkboxChange, 1, "Die on checkbox.");
|
1879
2381
|
});
|
1880
|
-
test("delegate with submit", function() {
|
2382
|
+
test("delegate with submit", function () {
|
1881
2383
|
var count1 = 0,
|
1882
|
-
|
1883
|
-
jQuery("#body").delegate("#testForm", "submit", function(ev) {
|
2384
|
+
count2 = 0;
|
2385
|
+
jQuery("#body").delegate("#testForm", "submit", function (ev) {
|
1884
2386
|
count1++;
|
1885
2387
|
ev.preventDefault();
|
1886
2388
|
});
|
1887
|
-
jQuery(document).delegate("body", "submit", function(ev) {
|
2389
|
+
jQuery(document).delegate("body", "submit", function (ev) {
|
1888
2390
|
count2++;
|
1889
2391
|
ev.preventDefault();
|
1890
2392
|
});
|
@@ -1894,11 +2396,11 @@
|
|
1894
2396
|
jQuery("#body").undelegate();
|
1895
2397
|
jQuery(document).undelegate();
|
1896
2398
|
});
|
1897
|
-
test("undelegate() with only namespaces", function() {
|
2399
|
+
test("undelegate() with only namespaces", function () {
|
1898
2400
|
expect(2);
|
1899
2401
|
var $delegate = jQuery("#liveHandlerOrder"),
|
1900
|
-
|
1901
|
-
$delegate.delegate("a", "click.ns", function(e) {
|
2402
|
+
count = 0;
|
2403
|
+
$delegate.delegate("a", "click.ns", function (e) {
|
1902
2404
|
count++;
|
1903
2405
|
});
|
1904
2406
|
jQuery("a", $delegate).eq(0).trigger("click.ns");
|
@@ -1907,41 +2409,47 @@
|
|
1907
2409
|
jQuery("a", $delegate).eq(1).trigger("click.ns");
|
1908
2410
|
equal(count, 1, "no more .ns after undelegate");
|
1909
2411
|
});
|
1910
|
-
test("Non DOM element events", function() {
|
2412
|
+
test("Non DOM element events", function () {
|
1911
2413
|
expect(1);
|
1912
2414
|
var o = {};
|
1913
|
-
jQuery(o).bind("nonelementobj", function(e) {
|
2415
|
+
jQuery(o).bind("nonelementobj", function (e) {
|
1914
2416
|
ok(true, "Event on non-DOM object triggered");
|
1915
2417
|
});
|
1916
2418
|
jQuery(o).trigger("nonelementobj");
|
1917
2419
|
});
|
1918
|
-
test("inline handler returning false stops default", function() {
|
2420
|
+
test("inline handler returning false stops default", function () {
|
1919
2421
|
expect(1);
|
1920
|
-
var markup = jQuery(
|
1921
|
-
markup.click(function(e) {
|
2422
|
+
var markup = jQuery('<div><a href="#" onclick="return false">x</a></div>');
|
2423
|
+
markup.click(function (e) {
|
1922
2424
|
ok(e.isDefaultPrevented(), "inline handler prevented default");
|
1923
2425
|
return false;
|
1924
2426
|
});
|
1925
2427
|
markup.find("a").click();
|
1926
2428
|
markup.off("click");
|
1927
2429
|
});
|
1928
|
-
test("window resize", function() {
|
2430
|
+
test("window resize", function () {
|
1929
2431
|
expect(2);
|
1930
2432
|
jQuery(window).unbind();
|
1931
|
-
jQuery(window)
|
1932
|
-
|
1933
|
-
|
1934
|
-
|
1935
|
-
|
1936
|
-
|
2433
|
+
jQuery(window)
|
2434
|
+
.bind("resize", function () {
|
2435
|
+
ok(true, "Resize event fired.");
|
2436
|
+
})
|
2437
|
+
.resize()
|
2438
|
+
.unbind("resize");
|
2439
|
+
ok(
|
2440
|
+
!jQuery._data(window, "__events__"),
|
2441
|
+
"Make sure all the events are gone."
|
2442
|
+
);
|
2443
|
+
});
|
2444
|
+
test("focusin bubbles", function () {
|
1937
2445
|
expect(2);
|
1938
2446
|
var input = jQuery("<input type='text' />").prependTo("body"),
|
1939
|
-
|
2447
|
+
order = 0;
|
1940
2448
|
input[0].focus();
|
1941
|
-
jQuery("body").bind("focusin.focusinBubblesTest", function() {
|
2449
|
+
jQuery("body").bind("focusin.focusinBubblesTest", function () {
|
1942
2450
|
equal(1, order++, "focusin on the body second");
|
1943
2451
|
});
|
1944
|
-
input.bind("focusin.focusinBubblesTest", function() {
|
2452
|
+
input.bind("focusin.focusinBubblesTest", function () {
|
1945
2453
|
equal(0, order++, "focusin on the element first");
|
1946
2454
|
});
|
1947
2455
|
order = 0;
|
@@ -1949,9 +2457,11 @@
|
|
1949
2457
|
input.remove();
|
1950
2458
|
jQuery("body").unbind("focusin.focusinBubblesTest");
|
1951
2459
|
});
|
1952
|
-
test("custom events with colons (#3533, #8272)", function() {
|
2460
|
+
test("custom events with colons (#3533, #8272)", function () {
|
1953
2461
|
expect(1);
|
1954
|
-
var tab = jQuery("<table><tr><td>trigger</td></tr></table>").appendTo(
|
2462
|
+
var tab = jQuery("<table><tr><td>trigger</td></tr></table>").appendTo(
|
2463
|
+
"body"
|
2464
|
+
);
|
1955
2465
|
try {
|
1956
2466
|
tab.trigger("back:forth");
|
1957
2467
|
ok(true, "colon events don't throw");
|
@@ -1960,104 +2470,206 @@
|
|
1960
2470
|
}
|
1961
2471
|
tab.remove();
|
1962
2472
|
});
|
1963
|
-
test(".on and .off", function() {
|
2473
|
+
test(".on and .off", function () {
|
1964
2474
|
expect(9);
|
1965
|
-
var counter,
|
1966
|
-
|
1967
|
-
|
1968
|
-
|
1969
|
-
|
1970
|
-
|
2475
|
+
var counter, mixfn;
|
2476
|
+
var $onandoff = jQuery(
|
2477
|
+
'<div id="onandoff"><p>on<b>and</b>off</p><div>worked<em>or</em>borked?</div></div>'
|
2478
|
+
).appendTo("body");
|
2479
|
+
jQuery("#onandoff")
|
2480
|
+
.on("whip", function () {
|
2481
|
+
ok(true, "whipped it good");
|
2482
|
+
})
|
2483
|
+
.trigger("whip")
|
2484
|
+
.off();
|
1971
2485
|
counter = 0;
|
1972
|
-
jQuery("#onandoff b")
|
1973
|
-
|
1974
|
-
|
1975
|
-
|
1976
|
-
|
2486
|
+
jQuery("#onandoff b")
|
2487
|
+
.on("click", 5, function (e, trig) {
|
2488
|
+
counter += e.data + (trig || 9);
|
2489
|
+
})
|
2490
|
+
.one("click", 7, function (e, trig) {
|
2491
|
+
counter += e.data + (trig || 11);
|
2492
|
+
})
|
2493
|
+
.click()
|
2494
|
+
.trigger("click", 17)
|
2495
|
+
.off("click");
|
1977
2496
|
equal(counter, 54, "direct event bindings with data");
|
1978
2497
|
counter = 0;
|
1979
|
-
jQuery("#onandoff")
|
1980
|
-
|
1981
|
-
|
1982
|
-
|
1983
|
-
|
2498
|
+
jQuery("#onandoff")
|
2499
|
+
.on("click", "em", 5, function (e, trig) {
|
2500
|
+
counter += e.data + (trig || 9);
|
2501
|
+
})
|
2502
|
+
.one("click", "em", 7, function (e, trig) {
|
2503
|
+
counter += e.data + (trig || 11);
|
2504
|
+
})
|
2505
|
+
.find("em")
|
2506
|
+
.click()
|
2507
|
+
.trigger("click", 17)
|
2508
|
+
.end()
|
2509
|
+
.off("click", "em");
|
1984
2510
|
equal(counter, 54, "delegated event bindings with data");
|
1985
2511
|
counter = 0;
|
1986
|
-
mixfn = function(e, trig) {
|
2512
|
+
mixfn = function (e, trig) {
|
1987
2513
|
counter += (e.data || 0) + (trig || 1);
|
1988
2514
|
};
|
1989
|
-
jQuery("#onandoff")
|
1990
|
-
|
1991
|
-
|
1992
|
-
|
1993
|
-
|
1994
|
-
|
1995
|
-
|
1996
|
-
|
1997
|
-
|
1998
|
-
|
1999
|
-
|
2515
|
+
jQuery("#onandoff")
|
2516
|
+
.on("click clack cluck", "em", 2, mixfn)
|
2517
|
+
.on("cluck", "b", 7, mixfn)
|
2518
|
+
.on("cluck", mixfn)
|
2519
|
+
.trigger("what!")
|
2520
|
+
.each(function () {
|
2521
|
+
equal(counter, 0, "nothing triggered yet");
|
2522
|
+
})
|
2523
|
+
.find("em")
|
2524
|
+
.one("cluck", 3, mixfn)
|
2525
|
+
.trigger("cluck", 8)
|
2526
|
+
.off()
|
2527
|
+
.trigger("cluck", 9)
|
2528
|
+
.end()
|
2529
|
+
.each(function () {
|
2530
|
+
equal(counter, 49, "after triggering em element");
|
2531
|
+
})
|
2532
|
+
.off("cluck", function () {})
|
2533
|
+
.trigger("cluck", 2)
|
2534
|
+
.each(function () {
|
2535
|
+
equal(counter, 51, "after triggering #onandoff cluck");
|
2536
|
+
})
|
2537
|
+
.find("b")
|
2538
|
+
.on("click", 95, mixfn)
|
2539
|
+
.on("clack", "p", 97, mixfn)
|
2540
|
+
.one("cluck", 3, mixfn)
|
2541
|
+
.trigger("quack", 19)
|
2542
|
+
.off("click clack cluck")
|
2543
|
+
.end()
|
2544
|
+
.each(function () {
|
2545
|
+
equal(counter, 51, "after triggering b");
|
2546
|
+
})
|
2547
|
+
.trigger("cluck", 3)
|
2548
|
+
.off("clack", "em", mixfn)
|
2549
|
+
.find("em")
|
2550
|
+
.trigger("clack")
|
2551
|
+
.end()
|
2552
|
+
.each(function () {
|
2553
|
+
equal(counter, 54, "final triggers");
|
2554
|
+
})
|
2555
|
+
.off("click cluck");
|
2000
2556
|
var data = jQuery.data[jQuery("#onandoff")[0].expando] || {};
|
2001
2557
|
equal(data["events"], undefined, "no events left");
|
2002
2558
|
$onandoff.remove();
|
2003
2559
|
});
|
2004
|
-
test("special bind/delegate name mapping", function() {
|
2560
|
+
test("special bind/delegate name mapping", function () {
|
2005
2561
|
expect(7);
|
2006
2562
|
jQuery.event.special["slap"] = {
|
2007
2563
|
bindType: "click",
|
2008
2564
|
delegateType: "swing",
|
2009
|
-
handle: function(event) {
|
2010
|
-
equal(
|
2011
|
-
|
2565
|
+
handle: function (event) {
|
2566
|
+
equal(
|
2567
|
+
event.handleObj.origType,
|
2568
|
+
"slap",
|
2569
|
+
"slapped your mammy, " + event.type
|
2570
|
+
);
|
2571
|
+
},
|
2012
2572
|
};
|
2013
|
-
var comeback = function(event) {
|
2573
|
+
var comeback = function (event) {
|
2014
2574
|
ok(true, "event " + event.type + " triggered");
|
2015
2575
|
};
|
2016
|
-
jQuery(
|
2576
|
+
jQuery('<div><button id="mammy">Are We Not Men?</button></div>')
|
2577
|
+
.on("slap", "button", jQuery.noop)
|
2578
|
+
.on("swing", "button", comeback)
|
2579
|
+
.find("button")
|
2580
|
+
.on("slap", jQuery.noop)
|
2581
|
+
.on("click", comeback)
|
2582
|
+
.trigger("click")
|
2583
|
+
.off("slap")
|
2584
|
+
.trigger("click")
|
2585
|
+
.off("click")
|
2586
|
+
.trigger("swing")
|
2587
|
+
.end()
|
2588
|
+
.off("slap swing", "button")
|
2589
|
+
.find("button")
|
2590
|
+
.trigger("slap")
|
2591
|
+
.trigger("click")
|
2592
|
+
.trigger("swing")
|
2593
|
+
.end()
|
2594
|
+
.remove();
|
2017
2595
|
delete jQuery.event.special["slap"];
|
2018
2596
|
jQuery.event.special["gutfeeling"] = {
|
2019
2597
|
bindType: "click",
|
2020
2598
|
delegateType: "click",
|
2021
|
-
handle: function(event) {
|
2599
|
+
handle: function (event) {
|
2022
2600
|
equal(event.handleObj.origType, "gutfeeling", "got a gutfeeling");
|
2023
2601
|
return event.handleObj.handler.call(this, event);
|
2024
|
-
}
|
2602
|
+
},
|
2025
2603
|
};
|
2026
|
-
jQuery(
|
2027
|
-
|
2028
|
-
|
2604
|
+
jQuery("<p>Gut Feeling</p>")
|
2605
|
+
.on("click", jQuery.noop)
|
2606
|
+
.on("gutfeeling", jQuery.noop)
|
2607
|
+
.off("click")
|
2608
|
+
.trigger("gutfeeling")
|
2609
|
+
.remove();
|
2610
|
+
jQuery("<p>Gut Feeling</p>")
|
2611
|
+
.on("gutfeeling.Devo", jQuery.noop)
|
2612
|
+
.off(".Devo")
|
2613
|
+
.trigger("gutfeeling")
|
2614
|
+
.remove();
|
2615
|
+
jQuery("<p>Gut Feeling</p>")
|
2616
|
+
.one("gutfeeling", jQuery.noop)
|
2617
|
+
.trigger("gutfeeling")
|
2618
|
+
.trigger("gutfeeling")
|
2619
|
+
.remove();
|
2029
2620
|
delete jQuery.event.special["gutfeeling"];
|
2030
2621
|
});
|
2031
|
-
test(".on and .off, selective mixed removal (#10705)", function() {
|
2622
|
+
test(".on and .off, selective mixed removal (#10705)", function () {
|
2032
2623
|
expect(7);
|
2033
2624
|
var clockout = 0,
|
2034
|
-
|
2035
|
-
|
2036
|
-
|
2037
|
-
jQuery("<p>Strange Pursuit</p>")
|
2038
|
-
|
2039
|
-
|
2625
|
+
timingx = function (e) {
|
2626
|
+
ok(true, "triggered " + e.type);
|
2627
|
+
};
|
2628
|
+
jQuery("<p>Strange Pursuit</p>")
|
2629
|
+
.on("click", timingx)
|
2630
|
+
.on("click.duty", timingx)
|
2631
|
+
.on("click.now", timingx)
|
2632
|
+
.on("devo", timingx)
|
2633
|
+
.on("future", timingx)
|
2634
|
+
.trigger("click")
|
2635
|
+
.trigger("devo")
|
2636
|
+
.off(".duty devo ")
|
2637
|
+
.trigger("future")
|
2638
|
+
.trigger("click")
|
2639
|
+
.off("future click")
|
2640
|
+
.trigger("click");
|
2641
|
+
});
|
2642
|
+
test(".on( event-map, null-selector, data ) #11130", function () {
|
2040
2643
|
expect(1);
|
2041
2644
|
var $p = jQuery("<p>Strange Pursuit</p>"),
|
2042
|
-
|
2043
|
-
|
2044
|
-
|
2045
|
-
|
2046
|
-
|
2645
|
+
data = "bar",
|
2646
|
+
map = {
|
2647
|
+
foo: function (event) {
|
2648
|
+
equal(
|
2649
|
+
event.data,
|
2650
|
+
"bar",
|
2651
|
+
"event.data correctly relayed with null selector"
|
2652
|
+
);
|
2653
|
+
$p.remove();
|
2654
|
+
},
|
2655
|
+
};
|
2047
2656
|
$p.on(map, null, data).trigger("foo");
|
2048
2657
|
});
|
2049
|
-
test("clone() delegated events (#11076)", function() {
|
2658
|
+
test("clone() delegated events (#11076)", function () {
|
2050
2659
|
expect(3);
|
2051
2660
|
var counter = {
|
2052
|
-
|
2053
|
-
|
2054
|
-
|
2055
|
-
|
2056
|
-
|
2057
|
-
|
2058
|
-
|
2059
|
-
|
2060
|
-
|
2661
|
+
center: 0,
|
2662
|
+
fold: 0,
|
2663
|
+
centerfold: 0,
|
2664
|
+
},
|
2665
|
+
clicked = function (event) {
|
2666
|
+
counter[jQuery(this).text().replace(/\s+/, "")]++;
|
2667
|
+
},
|
2668
|
+
table = jQuery("<table><tr><td>center</td><td>fold</td></tr></table>")
|
2669
|
+
.on("click", "tr", clicked)
|
2670
|
+
.on("click", "td:first-child", clicked)
|
2671
|
+
.on("click", "td:last-child", clicked),
|
2672
|
+
clone = table.clone(true);
|
2061
2673
|
clone.find("td").click();
|
2062
2674
|
equal(counter["center"], 1, "first child");
|
2063
2675
|
equal(counter["fold"], 1, "last child");
|
@@ -2065,50 +2677,73 @@
|
|
2065
2677
|
table.remove();
|
2066
2678
|
clone.remove();
|
2067
2679
|
});
|
2068
|
-
test("fixHooks extensions", function() {
|
2680
|
+
test("fixHooks extensions", function () {
|
2069
2681
|
expect(2);
|
2070
|
-
var $fixture = jQuery("<input type='text' id='hook-fixture' />").appendTo(
|
2071
|
-
|
2072
|
-
|
2682
|
+
var $fixture = jQuery("<input type='text' id='hook-fixture' />").appendTo(
|
2683
|
+
"body"
|
2684
|
+
),
|
2685
|
+
saved = jQuery.event.fixHooks.click;
|
2686
|
+
$fixture.bind("click", function (event) {
|
2073
2687
|
ok(!("blurrinessLevel" in event), "event.blurrinessLevel does not exist");
|
2074
2688
|
});
|
2075
|
-
fireNative($fixture[0],
|
2689
|
+
fireNative($fixture[0], "click");
|
2076
2690
|
$fixture.unbind("click");
|
2077
|
-
jQuery.event.fixHooks.click = {
|
2691
|
+
jQuery.event.fixHooks.click = {
|
2692
|
+
filter: function (event, originalEvent) {
|
2078
2693
|
event.blurrinessLevel = 42;
|
2079
2694
|
return event;
|
2080
|
-
}
|
2081
|
-
|
2695
|
+
},
|
2696
|
+
};
|
2697
|
+
$fixture.bind("click", function (event) {
|
2082
2698
|
equal(event.blurrinessLevel, 42, "event.blurrinessLevel was set");
|
2083
2699
|
});
|
2084
|
-
fireNative($fixture[0],
|
2700
|
+
fireNative($fixture[0], "click");
|
2085
2701
|
delete jQuery.event.fixHooks.click;
|
2086
2702
|
$fixture.unbind("click").remove();
|
2087
2703
|
jQuery.event.fixHooks.click = saved;
|
2088
2704
|
});
|
2089
|
-
testIframeWithCallback(
|
2090
|
-
|
2091
|
-
|
2092
|
-
|
2093
|
-
if (hasPHP) {
|
2094
|
-
testIframeWithCallback("jQuery.ready synchronous load with long loading subresources", "event/syncReady.html", function(isOk) {
|
2705
|
+
testIframeWithCallback(
|
2706
|
+
"jQuery.ready promise",
|
2707
|
+
"event/promiseReady.html",
|
2708
|
+
function (isOk) {
|
2095
2709
|
expect(1);
|
2096
|
-
ok(isOk, "
|
2097
|
-
}
|
2710
|
+
ok(isOk, "$.when( $.ready ) works");
|
2711
|
+
}
|
2712
|
+
);
|
2713
|
+
if (hasPHP) {
|
2714
|
+
testIframeWithCallback(
|
2715
|
+
"jQuery.ready synchronous load with long loading subresources",
|
2716
|
+
"event/syncReady.html",
|
2717
|
+
function (isOk) {
|
2718
|
+
expect(1);
|
2719
|
+
ok(
|
2720
|
+
isOk,
|
2721
|
+
"jQuery loaded synchronously fires ready when the DOM can truly be interacted with"
|
2722
|
+
);
|
2723
|
+
}
|
2724
|
+
);
|
2098
2725
|
}
|
2099
|
-
(function() {
|
2726
|
+
(function () {
|
2100
2727
|
var notYetReady,
|
2101
|
-
|
2102
|
-
|
2103
|
-
|
2728
|
+
noEarlyExecution,
|
2729
|
+
order = [],
|
2730
|
+
args = {};
|
2104
2731
|
notYetReady = !jQuery.isReady;
|
2105
|
-
test("jQuery.isReady", function() {
|
2732
|
+
test("jQuery.isReady", function () {
|
2106
2733
|
expect(2);
|
2107
|
-
equal(
|
2108
|
-
|
2734
|
+
equal(
|
2735
|
+
notYetReady,
|
2736
|
+
true,
|
2737
|
+
"jQuery.isReady should not be true before DOM ready"
|
2738
|
+
);
|
2739
|
+
equal(
|
2740
|
+
jQuery.isReady,
|
2741
|
+
true,
|
2742
|
+
"jQuery.isReady should be true once DOM is ready"
|
2743
|
+
);
|
2109
2744
|
});
|
2110
2745
|
function makeHandler(testId) {
|
2111
|
-
return function(arg) {
|
2746
|
+
return function (arg) {
|
2112
2747
|
order.push(testId);
|
2113
2748
|
args[testId] = arg;
|
2114
2749
|
};
|
@@ -2120,47 +2755,89 @@
|
|
2120
2755
|
jQuery(document).ready(makeHandler("e"));
|
2121
2756
|
jQuery(document).bind("ready.readytest", makeHandler("f"));
|
2122
2757
|
noEarlyExecution = order.length === 0;
|
2123
|
-
test("jQuery ready", function() {
|
2758
|
+
test("jQuery ready", function () {
|
2124
2759
|
expect(10);
|
2125
|
-
ok(
|
2126
|
-
|
2127
|
-
|
2128
|
-
|
2129
|
-
|
2760
|
+
ok(
|
2761
|
+
noEarlyExecution,
|
2762
|
+
"Handlers bound to DOM ready should not execute before DOM ready"
|
2763
|
+
);
|
2764
|
+
deepEqual(
|
2765
|
+
order,
|
2766
|
+
["a", "b", "d", "e", "c", "f"],
|
2767
|
+
"Bound DOM ready handlers should execute in bind-order, but those bound with jQuery(document).bind( 'ready', fn ) will always execute last"
|
2768
|
+
);
|
2769
|
+
equal(
|
2770
|
+
args["a"],
|
2771
|
+
jQuery,
|
2772
|
+
"Argument passed to fn in jQuery( fn ) should be jQuery"
|
2773
|
+
);
|
2774
|
+
equal(
|
2775
|
+
args["b"],
|
2776
|
+
jQuery,
|
2777
|
+
"Argument passed to fn in jQuery(document).ready( fn ) should be jQuery"
|
2778
|
+
);
|
2779
|
+
ok(
|
2780
|
+
args["c"] instanceof jQuery.Event,
|
2781
|
+
"Argument passed to fn in jQuery(document).bind( 'ready', fn ) should be an event object"
|
2782
|
+
);
|
2130
2783
|
order = [];
|
2131
2784
|
jQuery(makeHandler("g"));
|
2132
2785
|
equal(order.pop(), "g", "Event handler should execute immediately");
|
2133
|
-
equal(
|
2786
|
+
equal(
|
2787
|
+
args["g"],
|
2788
|
+
jQuery,
|
2789
|
+
"Argument passed to fn in jQuery( fn ) should be jQuery"
|
2790
|
+
);
|
2134
2791
|
jQuery(document).ready(makeHandler("h"));
|
2135
2792
|
equal(order.pop(), "h", "Event handler should execute immediately");
|
2136
|
-
equal(
|
2793
|
+
equal(
|
2794
|
+
args["h"],
|
2795
|
+
jQuery,
|
2796
|
+
"Argument passed to fn in jQuery(document).ready( fn ) should be jQuery"
|
2797
|
+
);
|
2137
2798
|
jQuery(document).bind("ready.readytest", makeHandler("never"));
|
2138
|
-
equal(
|
2799
|
+
equal(
|
2800
|
+
order.length,
|
2801
|
+
0,
|
2802
|
+
"Event handler should never execute since DOM ready has already passed"
|
2803
|
+
);
|
2139
2804
|
jQuery(document).unbind("ready.readytest");
|
2140
2805
|
});
|
2141
2806
|
})();
|
2142
|
-
test("change handler should be detached from element", function() {
|
2807
|
+
test("change handler should be detached from element", function () {
|
2143
2808
|
expect(2);
|
2144
|
-
var $fixture = jQuery("<input type='text' id='change-ie-leak' />").appendTo(
|
2809
|
+
var $fixture = jQuery("<input type='text' id='change-ie-leak' />").appendTo(
|
2810
|
+
"body"
|
2811
|
+
);
|
2145
2812
|
var originRemoveEvent = jQuery.removeEvent;
|
2146
|
-
var wrapperRemoveEvent = function(elem, type, handle) {
|
2147
|
-
equal(
|
2148
|
-
|
2813
|
+
var wrapperRemoveEvent = function (elem, type, handle) {
|
2814
|
+
equal(
|
2815
|
+
"change",
|
2816
|
+
type,
|
2817
|
+
"Event handler for 'change' event should be removed"
|
2818
|
+
);
|
2819
|
+
equal(
|
2820
|
+
"change-ie-leak",
|
2821
|
+
jQuery(elem).attr("id"),
|
2822
|
+
"Event handler for 'change' event should be removed from appropriate element"
|
2823
|
+
);
|
2149
2824
|
originRemoveEvent(elem, type, handle);
|
2150
2825
|
};
|
2151
2826
|
jQuery.removeEvent = wrapperRemoveEvent;
|
2152
|
-
$fixture.bind("change", function(event) {});
|
2827
|
+
$fixture.bind("change", function (event) {});
|
2153
2828
|
$fixture.unbind("change");
|
2154
2829
|
$fixture.remove();
|
2155
2830
|
jQuery.removeEvent = originRemoveEvent;
|
2156
2831
|
});
|
2157
|
-
asyncTest("trigger click on checkbox, fires change event", function() {
|
2832
|
+
asyncTest("trigger click on checkbox, fires change event", function () {
|
2158
2833
|
expect(1);
|
2159
2834
|
var check = jQuery("#check2");
|
2160
|
-
check
|
2161
|
-
|
2162
|
-
|
2163
|
-
|
2164
|
-
|
2835
|
+
check
|
2836
|
+
.on("change", function () {
|
2837
|
+
check.off("change");
|
2838
|
+
ok(true, "Change event fired as a result of triggered click");
|
2839
|
+
start();
|
2840
|
+
})
|
2841
|
+
.trigger("click");
|
2165
2842
|
});
|
2166
2843
|
})(require("process"));
|