lady_josephine 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +32 -0
- data/app/assets/fonts/lady_josephine/icons/icons.eot +0 -0
- data/app/assets/fonts/lady_josephine/icons/icons.svg +215 -0
- data/app/assets/fonts/lady_josephine/icons/icons.ttf +0 -0
- data/app/assets/fonts/lady_josephine/icons/icons.woff +0 -0
- data/app/assets/javascripts/lady_josephine/blocks/facebook.js +25 -0
- data/app/assets/javascripts/lady_josephine/blocks/instagram.js +22 -0
- data/app/assets/javascripts/lady_josephine/blocks/soundcloud.js +24 -0
- data/app/assets/javascripts/lady_josephine/blocks/twitter.js +25 -0
- data/app/assets/javascripts/lady_josephine/blocks/vimeo.js +55 -0
- data/app/assets/javascripts/lady_josephine/blocks/youtube.js +64 -0
- data/app/assets/javascripts/lady_josephine/editor.js +40 -0
- data/app/assets/javascripts/lady_josephine/lady_josephine.js +4 -0
- data/app/assets/javascripts/lady_josephine/lady_josephine_view.js +6 -0
- data/app/assets/stylesheets/lady_josephine/content.sass +33 -0
- data/app/assets/stylesheets/lady_josephine/icons.sass +175 -0
- data/app/assets/stylesheets/lady_josephine/lady_josephine.sass +6 -0
- data/app/assets/stylesheets/lady_josephine/sir_trevor.sass +619 -0
- data/app/assets/stylesheets/lady_josephine/vars.sass +36 -0
- data/app/controllers/lady_josephine/application_controller.rb +4 -0
- data/app/controllers/lady_josephine/editor_controller.rb +40 -0
- data/app/controllers/lady_josephine/images_controller.rb +26 -0
- data/app/helpers/lady_josephine/helper.rb +25 -0
- data/app/helpers/lady_josephine/sir_trevor_helper.rb +172 -0
- data/app/models/lady_josephine/concerns/model.rb +29 -0
- data/app/models/lady_josephine/concerns/pingable.rb +28 -0
- data/app/models/lady_josephine/concerns/server_uuid.rb +24 -0
- data/app/models/lady_josephine/concerns/sir_trevor_images.rb +38 -0
- data/app/models/lady_josephine/image.rb +41 -0
- data/app/uploader/lady_josephine/base_uploader.rb +47 -0
- data/app/uploader/lady_josephine/image_uploader.rb +149 -0
- data/app/views/lady_josephine/blocks/_audio_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_definition_block.haml +4 -0
- data/app/views/lady_josephine/blocks/_divider_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_extended_image_block.haml +63 -0
- data/app/views/lady_josephine/blocks/_extended_quote_block.haml +5 -0
- data/app/views/lady_josephine/blocks/_extended_tweet_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_facebook_post_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_heading_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_html_block.haml +1 -0
- data/app/views/lady_josephine/blocks/_instagram_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_list_block.haml +3 -0
- data/app/views/lady_josephine/blocks/_quote_block.haml +5 -0
- data/app/views/lady_josephine/blocks/_text_block.html.haml +2 -0
- data/app/views/lady_josephine/blocks/_video_block.haml +9 -0
- data/config/routes.rb +9 -0
- data/db/migrate/20160222151500_lady_josephine_image.rb +18 -0
- data/lib/generators/lady_josephine_migration/USAGE +9 -0
- data/lib/generators/lady_josephine_migration/lady_josephine_migration_generator.rb +17 -0
- data/lib/generators/lady_josephine_migration/templates/migration.rb +9 -0
- data/lib/lady_josephine.rb +18 -0
- data/lib/lady_josephine/engine.rb +18 -0
- data/lib/lady_josephine/redcarpet/custom_markdown_formatter.rb +63 -0
- data/lib/lady_josephine/renderer/sir_trevor_renderer.rb +16 -0
- data/lib/lady_josephine/version.rb +3 -0
- data/lib/lady_josephine/whitelist.rb +26 -0
- data/lib/tasks/lady_josephine_tasks.rake +4 -0
- data/spec/controllers/lady_josephine/editor_controller_spec.rb +58 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +29 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +26 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +41 -0
- data/spec/dummy/config/environments/production.rb +79 -0
- data/spec/dummy/config/environments/test.rb +42 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +16 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/bla +0 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/spec_helper.rb +17 -0
- data/vendor/assets/components/Eventable/README.md +12 -0
- data/vendor/assets/components/Eventable/bower.json +10 -0
- data/vendor/assets/components/Eventable/component.json +11 -0
- data/vendor/assets/components/Eventable/eventable.js +207 -0
- data/vendor/assets/components/Eventable/package.json +15 -0
- data/vendor/assets/components/jquery-autosize/bower.json +30 -0
- data/vendor/assets/components/jquery-autosize/demo.html +36 -0
- data/vendor/assets/components/jquery-autosize/jquery.autosize.js +273 -0
- data/vendor/assets/components/jquery-autosize/jquery.autosize.min.js +6 -0
- data/vendor/assets/components/jquery-autosize/package.json +32 -0
- data/vendor/assets/components/jquery-autosize/readme.md +216 -0
- data/vendor/assets/components/jquery/AUTHORS.txt +163 -0
- data/vendor/assets/components/jquery/CONTRIBUTING.md +216 -0
- data/vendor/assets/components/jquery/Gruntfile.js +496 -0
- data/vendor/assets/components/jquery/MIT-LICENSE.txt +21 -0
- data/vendor/assets/components/jquery/README.md +415 -0
- data/vendor/assets/components/jquery/build/release-notes.js +59 -0
- data/vendor/assets/components/jquery/build/release.js +246 -0
- data/vendor/assets/components/jquery/component.json +13 -0
- data/vendor/assets/components/jquery/composer.json +35 -0
- data/vendor/assets/components/jquery/jquery-migrate.js +496 -0
- data/vendor/assets/components/jquery/jquery-migrate.min.js +3 -0
- data/vendor/assets/components/jquery/jquery.js +9597 -0
- data/vendor/assets/components/jquery/jquery.min.js +5 -0
- data/vendor/assets/components/jquery/jquery.min.map +1 -0
- data/vendor/assets/components/jquery/package.json +39 -0
- data/vendor/assets/components/jquery/speed/benchmark.js +15 -0
- data/vendor/assets/components/jquery/speed/benchmarker.css +65 -0
- data/vendor/assets/components/jquery/speed/benchmarker.js +181 -0
- data/vendor/assets/components/jquery/speed/closest.html +39 -0
- data/vendor/assets/components/jquery/speed/css.html +82 -0
- data/vendor/assets/components/jquery/speed/event.html +58 -0
- data/vendor/assets/components/jquery/speed/filter.html +183 -0
- data/vendor/assets/components/jquery/speed/find.html +179 -0
- data/vendor/assets/components/jquery/speed/index.html +72 -0
- data/vendor/assets/components/jquery/speed/jquery-basis.js +6238 -0
- data/vendor/assets/components/jquery/speed/slice.vs.concat.html +47 -0
- data/vendor/assets/components/jquery/src/ajax.js +851 -0
- data/vendor/assets/components/jquery/src/ajax/jsonp.js +80 -0
- data/vendor/assets/components/jquery/src/ajax/script.js +86 -0
- data/vendor/assets/components/jquery/src/ajax/xhr.js +207 -0
- data/vendor/assets/components/jquery/src/attributes.js +661 -0
- data/vendor/assets/components/jquery/src/callbacks.js +196 -0
- data/vendor/assets/components/jquery/src/core.js +949 -0
- data/vendor/assets/components/jquery/src/css.js +679 -0
- data/vendor/assets/components/jquery/src/data.js +340 -0
- data/vendor/assets/components/jquery/src/deferred.js +141 -0
- data/vendor/assets/components/jquery/src/deprecated.js +4 -0
- data/vendor/assets/components/jquery/src/dimensions.js +41 -0
- data/vendor/assets/components/jquery/src/effects.js +730 -0
- data/vendor/assets/components/jquery/src/event-alias.js +15 -0
- data/vendor/assets/components/jquery/src/event.js +991 -0
- data/vendor/assets/components/jquery/src/exports.js +18 -0
- data/vendor/assets/components/jquery/src/intro.js +20 -0
- data/vendor/assets/components/jquery/src/manipulation.js +796 -0
- data/vendor/assets/components/jquery/src/offset.js +169 -0
- data/vendor/assets/components/jquery/src/outro.js +2 -0
- data/vendor/assets/components/jquery/src/queue.js +147 -0
- data/vendor/assets/components/jquery/src/serialize.js +99 -0
- data/vendor/assets/components/jquery/src/sizzle-jquery.js +9 -0
- data/vendor/assets/components/jquery/src/support.js +241 -0
- data/vendor/assets/components/jquery/src/traversing.js +275 -0
- data/vendor/assets/components/jquery/test/csp.php +16 -0
- data/vendor/assets/components/jquery/test/data/1x1.jpg +0 -0
- data/vendor/assets/components/jquery/test/data/ajax/unreleasedXHR.html +25 -0
- data/vendor/assets/components/jquery/test/data/atom+xml.php +4 -0
- data/vendor/assets/components/jquery/test/data/badcall.js +1 -0
- data/vendor/assets/components/jquery/test/data/badjson.js +1 -0
- data/vendor/assets/components/jquery/test/data/cleanScript.html +10 -0
- data/vendor/assets/components/jquery/test/data/core/cc_on.html +22 -0
- data/vendor/assets/components/jquery/test/data/dashboard.xml +11 -0
- data/vendor/assets/components/jquery/test/data/dimensions/documentLarge.html +17 -0
- data/vendor/assets/components/jquery/test/data/dimensions/documentSmall.html +21 -0
- data/vendor/assets/components/jquery/test/data/echoData.php +1 -0
- data/vendor/assets/components/jquery/test/data/echoQuery.php +1 -0
- data/vendor/assets/components/jquery/test/data/errorWithText.php +5 -0
- data/vendor/assets/components/jquery/test/data/etag.php +21 -0
- data/vendor/assets/components/jquery/test/data/evalScript.php +1 -0
- data/vendor/assets/components/jquery/test/data/event/longLoadScript.php +4 -0
- data/vendor/assets/components/jquery/test/data/event/promiseReady.html +17 -0
- data/vendor/assets/components/jquery/test/data/event/syncReady.html +23 -0
- data/vendor/assets/components/jquery/test/data/headers.php +18 -0
- data/vendor/assets/components/jquery/test/data/if_modified_since.php +20 -0
- data/vendor/assets/components/jquery/test/data/iframe.html +8 -0
- data/vendor/assets/components/jquery/test/data/jquery-1.8.2.ajax_xhr.min.js +2 -0
- data/vendor/assets/components/jquery/test/data/json.php +13 -0
- data/vendor/assets/components/jquery/test/data/json_obj.js +1 -0
- data/vendor/assets/components/jquery/test/data/jsonp.php +14 -0
- data/vendor/assets/components/jquery/test/data/manipulation/iframe-denied.html +36 -0
- data/vendor/assets/components/jquery/test/data/name.html +1 -0
- data/vendor/assets/components/jquery/test/data/name.php +24 -0
- data/vendor/assets/components/jquery/test/data/nocontent.php +5 -0
- data/vendor/assets/components/jquery/test/data/offset/absolute.html +41 -0
- data/vendor/assets/components/jquery/test/data/offset/body.html +26 -0
- data/vendor/assets/components/jquery/test/data/offset/fixed.html +34 -0
- data/vendor/assets/components/jquery/test/data/offset/relative.html +31 -0
- data/vendor/assets/components/jquery/test/data/offset/scroll.html +39 -0
- data/vendor/assets/components/jquery/test/data/offset/static.html +31 -0
- data/vendor/assets/components/jquery/test/data/offset/table.html +43 -0
- data/vendor/assets/components/jquery/test/data/params_html.php +12 -0
- data/vendor/assets/components/jquery/test/data/readywaitasset.js +1 -0
- data/vendor/assets/components/jquery/test/data/readywaitloader.js +25 -0
- data/vendor/assets/components/jquery/test/data/script.php +11 -0
- data/vendor/assets/components/jquery/test/data/selector/html5_selector.html +114 -0
- data/vendor/assets/components/jquery/test/data/selector/sizzle_cache.html +21 -0
- data/vendor/assets/components/jquery/test/data/statusText.php +5 -0
- data/vendor/assets/components/jquery/test/data/support/bodyBackground.html +28 -0
- data/vendor/assets/components/jquery/test/data/support/shrinkWrapBlocks.html +23 -0
- data/vendor/assets/components/jquery/test/data/support/testElementCrash.html +17 -0
- data/vendor/assets/components/jquery/test/data/test.html +7 -0
- data/vendor/assets/components/jquery/test/data/test.js +3 -0
- data/vendor/assets/components/jquery/test/data/test.php +7 -0
- data/vendor/assets/components/jquery/test/data/test2.html +5 -0
- data/vendor/assets/components/jquery/test/data/test3.html +3 -0
- data/vendor/assets/components/jquery/test/data/testinit.js +269 -0
- data/vendor/assets/components/jquery/test/data/testrunner.js +368 -0
- data/vendor/assets/components/jquery/test/data/testsuite.css +155 -0
- data/vendor/assets/components/jquery/test/data/text.php +12 -0
- data/vendor/assets/components/jquery/test/data/ua.txt +272 -0
- data/vendor/assets/components/jquery/test/data/with_fries.xml +25 -0
- data/vendor/assets/components/jquery/test/data/with_fries_over_jsonp.php +7 -0
- data/vendor/assets/components/jquery/test/delegatetest.html +228 -0
- data/vendor/assets/components/jquery/test/hovertest.html +158 -0
- data/vendor/assets/components/jquery/test/index.html +330 -0
- data/vendor/assets/components/jquery/test/localfile.html +75 -0
- data/vendor/assets/components/jquery/test/networkerror.html +84 -0
- data/vendor/assets/components/jquery/test/polluted.php +110 -0
- data/vendor/assets/components/jquery/test/readywait.html +70 -0
- data/vendor/assets/components/jquery/test/unit/ajax.js +1971 -0
- data/vendor/assets/components/jquery/test/unit/attributes.js +1332 -0
- data/vendor/assets/components/jquery/test/unit/callbacks.js +326 -0
- data/vendor/assets/components/jquery/test/unit/core.js +1332 -0
- data/vendor/assets/components/jquery/test/unit/css.js +1036 -0
- data/vendor/assets/components/jquery/test/unit/data.js +636 -0
- data/vendor/assets/components/jquery/test/unit/deferred.js +440 -0
- data/vendor/assets/components/jquery/test/unit/deprecated.js +1 -0
- data/vendor/assets/components/jquery/test/unit/dimensions.js +461 -0
- data/vendor/assets/components/jquery/test/unit/effects.js +2050 -0
- data/vendor/assets/components/jquery/test/unit/event.js +2690 -0
- data/vendor/assets/components/jquery/test/unit/exports.js +7 -0
- data/vendor/assets/components/jquery/test/unit/manipulation.js +2242 -0
- data/vendor/assets/components/jquery/test/unit/offset.js +549 -0
- data/vendor/assets/components/jquery/test/unit/queue.js +316 -0
- data/vendor/assets/components/jquery/test/unit/selector.js +185 -0
- data/vendor/assets/components/jquery/test/unit/serialize.js +146 -0
- data/vendor/assets/components/jquery/test/unit/support.js +384 -0
- data/vendor/assets/components/jquery/test/unit/traversing.js +667 -0
- data/vendor/assets/components/jquery/test/xhtml.php +5 -0
- data/vendor/assets/components/sir-trevor-js/CHANGELOG.md +44 -0
- data/vendor/assets/components/sir-trevor-js/Gemfile +3 -0
- data/vendor/assets/components/sir-trevor-js/Gemfile.lock +10 -0
- data/vendor/assets/components/sir-trevor-js/Gruntfile.js +109 -0
- data/vendor/assets/components/sir-trevor-js/MIT-LICENCE +20 -0
- data/vendor/assets/components/sir-trevor-js/Readme.md +84 -0
- data/vendor/assets/components/sir-trevor-js/bower.json +21 -0
- data/vendor/assets/components/sir-trevor-js/component.json +42 -0
- data/vendor/assets/components/sir-trevor-js/contributing.md +74 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/component.json +14 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/index.html +33 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/index.js +29 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/javascript/example_block.js +203 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/javascript/limit_chars.js +46 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/sir-trevor.gif +0 -0
- data/vendor/assets/components/sir-trevor-js/locales/cn.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/de.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/es.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/fi.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/fr.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/pt.js +52 -0
- data/vendor/assets/components/sir-trevor-js/package.json +23 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor-icons.css +6 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor.css +393 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor.css.map +7 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor.js +5481 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor.min.js +13 -0
- data/vendor/assets/components/underscore/CNAME +1 -0
- data/vendor/assets/components/underscore/CONTRIBUTING.md +9 -0
- data/vendor/assets/components/underscore/LICENSE +22 -0
- data/vendor/assets/components/underscore/README.md +19 -0
- data/vendor/assets/components/underscore/Rakefile +10 -0
- data/vendor/assets/components/underscore/docs/docco.css +192 -0
- data/vendor/assets/components/underscore/docs/favicon.ico +0 -0
- data/vendor/assets/components/underscore/docs/images/background.png +0 -0
- data/vendor/assets/components/underscore/docs/images/underscore.png +0 -0
- data/vendor/assets/components/underscore/docs/underscore.html +823 -0
- data/vendor/assets/components/underscore/favicon.ico +0 -0
- data/vendor/assets/components/underscore/index.html +2467 -0
- data/vendor/assets/components/underscore/index.js +1 -0
- data/vendor/assets/components/underscore/package.json +16 -0
- data/vendor/assets/components/underscore/test/arrays.js +200 -0
- data/vendor/assets/components/underscore/test/chaining.js +59 -0
- data/vendor/assets/components/underscore/test/collections.js +453 -0
- data/vendor/assets/components/underscore/test/functions.js +265 -0
- data/vendor/assets/components/underscore/test/index.html +44 -0
- data/vendor/assets/components/underscore/test/objects.js +570 -0
- data/vendor/assets/components/underscore/test/speed.js +75 -0
- data/vendor/assets/components/underscore/test/utility.js +266 -0
- data/vendor/assets/components/underscore/test/vendor/jquery.js +9404 -0
- data/vendor/assets/components/underscore/test/vendor/jslitmus.js +670 -0
- data/vendor/assets/components/underscore/test/vendor/qunit.css +235 -0
- data/vendor/assets/components/underscore/test/vendor/qunit.js +1977 -0
- data/vendor/assets/components/underscore/test/vendor/runner.js +98 -0
- data/vendor/assets/components/underscore/underscore-min.js +1 -0
- data/vendor/assets/components/underscore/underscore.js +1226 -0
- metadata +473 -0
@@ -0,0 +1,368 @@
|
|
1
|
+
/**
|
2
|
+
* Allow the test suite to run with other libs or jQuery's.
|
3
|
+
*/
|
4
|
+
jQuery.noConflict();
|
5
|
+
|
6
|
+
// For checking globals pollution despite auto-created globals in various environments
|
7
|
+
jQuery.each( [ jQuery.expando, "getInterface", "Packages", "java", "netscape" ], function( i, name ) {
|
8
|
+
window[ name ] = window[ name ];
|
9
|
+
});
|
10
|
+
|
11
|
+
// Expose Sizzle for Sizzle's selector tests
|
12
|
+
// We remove Sizzle's globalization in jQuery
|
13
|
+
var Sizzle = Sizzle || jQuery.find;
|
14
|
+
|
15
|
+
// Allow subprojects to test against their own fixtures
|
16
|
+
var qunitModule = QUnit.module,
|
17
|
+
qunitTest = QUnit.test;
|
18
|
+
|
19
|
+
function testSubproject( label, url, risTests ) {
|
20
|
+
var sub, fixture, fixtureHTML,
|
21
|
+
fixtureReplaced = false;
|
22
|
+
|
23
|
+
// Don't let subproject tests jump the gun
|
24
|
+
QUnit.config.reorder = false;
|
25
|
+
|
26
|
+
// Create module
|
27
|
+
module( label );
|
28
|
+
|
29
|
+
// Duckpunch QUnit
|
30
|
+
// TODO restore parent fixture on teardown to support reordering
|
31
|
+
module = QUnit.module = function( name ) {
|
32
|
+
var args = arguments;
|
33
|
+
|
34
|
+
// Remember subproject-scoped module name
|
35
|
+
sub = name;
|
36
|
+
|
37
|
+
// Override
|
38
|
+
args[0] = label;
|
39
|
+
return qunitModule.apply( this, args );
|
40
|
+
};
|
41
|
+
test = function( name ) {
|
42
|
+
var args = arguments,
|
43
|
+
i = args.length - 1;
|
44
|
+
|
45
|
+
// Prepend subproject-scoped module name to test name
|
46
|
+
args[0] = sub + ": " + name;
|
47
|
+
|
48
|
+
// Find test function and wrap to require subproject fixture
|
49
|
+
for ( ; i >= 0; i-- ) {
|
50
|
+
if ( originaljQuery.isFunction( args[i] ) ) {
|
51
|
+
args[i] = requireFixture( args[i] );
|
52
|
+
break;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
return qunitTest.apply( this, args );
|
57
|
+
};
|
58
|
+
|
59
|
+
// Load tests and fixture from subproject
|
60
|
+
// Test order matters, so we must be synchronous and throw an error on load failure
|
61
|
+
originaljQuery.ajax( url, {
|
62
|
+
async: false,
|
63
|
+
dataType: "html",
|
64
|
+
error: function( jqXHR, status ) {
|
65
|
+
throw new Error( "Could not load: " + url + " (" + status + ")" );
|
66
|
+
},
|
67
|
+
success: function( data, status, jqXHR ) {
|
68
|
+
var page = originaljQuery.parseHTML(
|
69
|
+
// replace html/head with dummy elements so they are represented in the DOM
|
70
|
+
( data || "" ).replace( /<\/?((!DOCTYPE|html|head)\b.*?)>/gi, "[$1]" ),
|
71
|
+
document,
|
72
|
+
true
|
73
|
+
);
|
74
|
+
|
75
|
+
if ( !page || !page.length ) {
|
76
|
+
this.error( jqXHR, "no data" );
|
77
|
+
}
|
78
|
+
page = originaljQuery( page );
|
79
|
+
|
80
|
+
// Include subproject tests
|
81
|
+
page.filter("script[src]").add( page.find("script[src]") ).each(function() {
|
82
|
+
var src = originaljQuery( this ).attr("src"),
|
83
|
+
html = "<script src='" + url + src + "'></script>";
|
84
|
+
if ( risTests.test( src ) ) {
|
85
|
+
if ( originaljQuery.isReady ) {
|
86
|
+
originaljQuery("head").first().append( html );
|
87
|
+
} else {
|
88
|
+
document.write( html );
|
89
|
+
}
|
90
|
+
}
|
91
|
+
});
|
92
|
+
|
93
|
+
// Get the fixture, including content outside of #qunit-fixture
|
94
|
+
fixture = page.find("[id='qunit-fixture']");
|
95
|
+
fixtureHTML = fixture.html();
|
96
|
+
fixture.empty();
|
97
|
+
while ( fixture.length && !fixture.prevAll("[id='qunit']").length ) {
|
98
|
+
fixture = fixture.parent();
|
99
|
+
}
|
100
|
+
fixture = fixture.add( fixture.nextAll() );
|
101
|
+
}
|
102
|
+
});
|
103
|
+
|
104
|
+
function requireFixture( fn ) {
|
105
|
+
return function() {
|
106
|
+
if ( !fixtureReplaced ) {
|
107
|
+
// Make sure that we retrieved a fixture for the subproject
|
108
|
+
if ( !fixture.length ) {
|
109
|
+
ok( false, "Found subproject fixture" );
|
110
|
+
return;
|
111
|
+
}
|
112
|
+
|
113
|
+
// Replace the current fixture, including content outside of #qunit-fixture
|
114
|
+
var oldFixture = originaljQuery("#qunit-fixture");
|
115
|
+
while ( oldFixture.length && !oldFixture.prevAll("[id='qunit']").length ) {
|
116
|
+
oldFixture = oldFixture.parent();
|
117
|
+
}
|
118
|
+
oldFixture.nextAll().remove();
|
119
|
+
oldFixture.replaceWith( fixture );
|
120
|
+
|
121
|
+
// WARNING: UNDOCUMENTED INTERFACE
|
122
|
+
QUnit.config.fixture = fixtureHTML;
|
123
|
+
QUnit.reset();
|
124
|
+
if ( originaljQuery("#qunit-fixture").html() !== fixtureHTML ) {
|
125
|
+
ok( false, "Copied subproject fixture" );
|
126
|
+
return;
|
127
|
+
}
|
128
|
+
|
129
|
+
fixtureReplaced = true;
|
130
|
+
}
|
131
|
+
|
132
|
+
fn.apply( this, arguments );
|
133
|
+
};
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
// Register globals for cleanup and the cleanup code itself
|
138
|
+
// Explanation at http://perfectionkills.com/understanding-delete/#ie_bugs
|
139
|
+
var Globals = (function() {
|
140
|
+
var globals = {};
|
141
|
+
return {
|
142
|
+
register: function( name ) {
|
143
|
+
globals[ name ] = true;
|
144
|
+
jQuery.globalEval( "var " + name + " = undefined;" );
|
145
|
+
},
|
146
|
+
cleanup: function() {
|
147
|
+
var name,
|
148
|
+
current = globals;
|
149
|
+
globals = {};
|
150
|
+
for ( name in current ) {
|
151
|
+
jQuery.globalEval( "try { " +
|
152
|
+
"delete " + ( jQuery.support.deleteExpando ? "window['" + name + "']" : name ) +
|
153
|
+
"; } catch( x ) {}" );
|
154
|
+
}
|
155
|
+
}
|
156
|
+
};
|
157
|
+
})();
|
158
|
+
|
159
|
+
// Sandbox start for great justice
|
160
|
+
(function() {
|
161
|
+
var oldStart = window.start;
|
162
|
+
window.start = function() {
|
163
|
+
oldStart();
|
164
|
+
};
|
165
|
+
})();
|
166
|
+
|
167
|
+
/**
|
168
|
+
* QUnit hooks
|
169
|
+
*/
|
170
|
+
(function() {
|
171
|
+
// Store the old counts so that we only assert on tests that have actually leaked,
|
172
|
+
// instead of asserting every time a test has leaked sometime in the past
|
173
|
+
var oldCacheLength = 0,
|
174
|
+
oldFragmentsLength = 0,
|
175
|
+
oldTimersLength = 0,
|
176
|
+
oldActive = 0,
|
177
|
+
|
178
|
+
expectedDataKeys = {},
|
179
|
+
|
180
|
+
reset = QUnit.reset,
|
181
|
+
ajaxSettings = jQuery.ajaxSettings;
|
182
|
+
|
183
|
+
function keys(o) {
|
184
|
+
var ret, key;
|
185
|
+
if ( Object.keys ) {
|
186
|
+
ret = Object.keys( o );
|
187
|
+
} else {
|
188
|
+
ret = [];
|
189
|
+
for ( key in o ) {
|
190
|
+
ret.push( key );
|
191
|
+
}
|
192
|
+
}
|
193
|
+
ret.sort();
|
194
|
+
return ret;
|
195
|
+
}
|
196
|
+
|
197
|
+
/**
|
198
|
+
* @param {jQuery|HTMLElement|Object|Array} elems Target (or array of targets) for jQuery.data.
|
199
|
+
* @param {string} key
|
200
|
+
*/
|
201
|
+
QUnit.expectJqData = function( elems, key ) {
|
202
|
+
var i, elem, expando;
|
203
|
+
QUnit.current_testEnvironment.checkJqData = true;
|
204
|
+
|
205
|
+
if ( elems.jquery && elems.toArray ) {
|
206
|
+
elems = elems.toArray();
|
207
|
+
}
|
208
|
+
if ( !jQuery.isArray( elems ) ) {
|
209
|
+
elems = [ elems ];
|
210
|
+
}
|
211
|
+
|
212
|
+
for ( i = 0; i < elems.length; i++ ) {
|
213
|
+
elem = elems[i];
|
214
|
+
|
215
|
+
// jQuery.data only stores data for nodes in jQuery.cache,
|
216
|
+
// for other data targets the data is stored in the object itself,
|
217
|
+
// in that case we can't test that target for memory leaks.
|
218
|
+
// But we don't have to since in that case the data will/must will
|
219
|
+
// be available as long as the object is not garbage collected by
|
220
|
+
// the js engine, and when it is, the data will be removed with it.
|
221
|
+
if ( !elem.nodeType ) {
|
222
|
+
// Fixes false positives for dataTests(window), dataTests({}).
|
223
|
+
continue;
|
224
|
+
}
|
225
|
+
|
226
|
+
expando = elem[ jQuery.expando ];
|
227
|
+
|
228
|
+
if ( expando === undefined ) {
|
229
|
+
// In this case the element exists fine, but
|
230
|
+
// jQuery.data (or internal data) was never (in)directly
|
231
|
+
// called.
|
232
|
+
// Since this method was called it means some data was
|
233
|
+
// expected to be found, but since there is nothing, fail early
|
234
|
+
// (instead of in teardown).
|
235
|
+
notStrictEqual( expando, undefined, "Target for expectJqData must have an expando, for else there can be no data to expect." );
|
236
|
+
} else {
|
237
|
+
if ( expectedDataKeys[expando] ) {
|
238
|
+
expectedDataKeys[expando].push( key );
|
239
|
+
} else {
|
240
|
+
expectedDataKeys[expando] = [ key ];
|
241
|
+
}
|
242
|
+
}
|
243
|
+
}
|
244
|
+
};
|
245
|
+
QUnit.config.urlConfig.push( {
|
246
|
+
id: "jqdata",
|
247
|
+
label: "Always check jQuery.data",
|
248
|
+
tooltip: "Trigger QUnit.expectJqData detection for all tests instead of just the ones that call it"
|
249
|
+
} );
|
250
|
+
|
251
|
+
/**
|
252
|
+
* Ensures that tests have cleaned up properly after themselves. Should be passed as the
|
253
|
+
* teardown function on all modules' lifecycle object.
|
254
|
+
*/
|
255
|
+
this.moduleTeardown = function() {
|
256
|
+
var i,
|
257
|
+
expectedKeys, actualKeys,
|
258
|
+
fragmentsLength = 0,
|
259
|
+
cacheLength = 0;
|
260
|
+
|
261
|
+
// Only look for jQuery data problems if this test actually
|
262
|
+
// provided some information to compare against.
|
263
|
+
if ( QUnit.urlParams.jqdata || this.checkJqData ) {
|
264
|
+
for ( i in jQuery.cache ) {
|
265
|
+
expectedKeys = expectedDataKeys[i];
|
266
|
+
actualKeys = jQuery.cache[i] ? keys( jQuery.cache[i] ) : jQuery.cache[i];
|
267
|
+
if ( !QUnit.equiv( expectedKeys, actualKeys ) ) {
|
268
|
+
deepEqual( actualKeys, expectedKeys, "Expected keys exist in jQuery.cache" );
|
269
|
+
}
|
270
|
+
delete jQuery.cache[i];
|
271
|
+
delete expectedDataKeys[i];
|
272
|
+
}
|
273
|
+
// In case it was removed from cache before (or never there in the first place)
|
274
|
+
for ( i in expectedDataKeys ) {
|
275
|
+
deepEqual( expectedDataKeys[i], undefined, "No unexpected keys were left in jQuery.cache (#" + i + ")" );
|
276
|
+
delete expectedDataKeys[i];
|
277
|
+
}
|
278
|
+
}
|
279
|
+
|
280
|
+
// Reset data register
|
281
|
+
expectedDataKeys = {};
|
282
|
+
|
283
|
+
// Allow QUnit.reset to clean up any attached elements before checking for leaks
|
284
|
+
QUnit.reset();
|
285
|
+
|
286
|
+
for ( i in jQuery.cache ) {
|
287
|
+
++cacheLength;
|
288
|
+
}
|
289
|
+
|
290
|
+
jQuery.fragments = {};
|
291
|
+
|
292
|
+
for ( i in jQuery.fragments ) {
|
293
|
+
++fragmentsLength;
|
294
|
+
}
|
295
|
+
|
296
|
+
// Because QUnit doesn't have a mechanism for retrieving the number of expected assertions for a test,
|
297
|
+
// if we unconditionally assert any of these, the test will fail with too many assertions :|
|
298
|
+
if ( cacheLength !== oldCacheLength ) {
|
299
|
+
equal( cacheLength, oldCacheLength, "No unit tests leak memory in jQuery.cache" );
|
300
|
+
oldCacheLength = cacheLength;
|
301
|
+
}
|
302
|
+
if ( fragmentsLength !== oldFragmentsLength ) {
|
303
|
+
equal( fragmentsLength, oldFragmentsLength, "No unit tests leak memory in jQuery.fragments" );
|
304
|
+
oldFragmentsLength = fragmentsLength;
|
305
|
+
}
|
306
|
+
if ( jQuery.timers && jQuery.timers.length !== oldTimersLength ) {
|
307
|
+
equal( jQuery.timers.length, oldTimersLength, "No timers are still running" );
|
308
|
+
oldTimersLength = jQuery.timers.length;
|
309
|
+
}
|
310
|
+
if ( jQuery.active !== undefined && jQuery.active !== oldActive ) {
|
311
|
+
equal( jQuery.active, 0, "No AJAX requests are still active" );
|
312
|
+
if ( ajaxTest.abort ) {
|
313
|
+
ajaxTest.abort("active requests");
|
314
|
+
}
|
315
|
+
oldActive = jQuery.active;
|
316
|
+
}
|
317
|
+
};
|
318
|
+
|
319
|
+
QUnit.done(function() {
|
320
|
+
// Remove our own fixtures outside #qunit-fixture
|
321
|
+
jQuery("#qunit ~ *").remove();
|
322
|
+
});
|
323
|
+
|
324
|
+
// jQuery-specific QUnit.reset
|
325
|
+
QUnit.reset = function() {
|
326
|
+
|
327
|
+
// Ensure jQuery events and data on the fixture are properly removed
|
328
|
+
jQuery("#qunit-fixture").empty();
|
329
|
+
|
330
|
+
// Reset internal jQuery state
|
331
|
+
jQuery.event.global = {};
|
332
|
+
if ( ajaxSettings ) {
|
333
|
+
jQuery.ajaxSettings = jQuery.extend( true, {}, ajaxSettings );
|
334
|
+
} else {
|
335
|
+
delete jQuery.ajaxSettings;
|
336
|
+
}
|
337
|
+
|
338
|
+
// Cleanup globals
|
339
|
+
Globals.cleanup();
|
340
|
+
|
341
|
+
// Let QUnit reset the fixture
|
342
|
+
reset.apply( this, arguments );
|
343
|
+
};
|
344
|
+
})();
|
345
|
+
|
346
|
+
/**
|
347
|
+
* QUnit configuration
|
348
|
+
*/
|
349
|
+
// Max time for stop() and asyncTest() until it aborts test
|
350
|
+
// and start()'s the next test.
|
351
|
+
QUnit.config.testTimeout = 20 * 1000; // 20 seconds
|
352
|
+
|
353
|
+
// Enforce an "expect" argument or expect() call in all test bodies.
|
354
|
+
QUnit.config.requireExpects = true;
|
355
|
+
|
356
|
+
/**
|
357
|
+
* Load the TestSwarm listener if swarmURL is in the address.
|
358
|
+
*/
|
359
|
+
(function() {
|
360
|
+
var url = window.location.search;
|
361
|
+
url = decodeURIComponent( url.slice( url.indexOf("swarmURL=") + "swarmURL=".length ) );
|
362
|
+
|
363
|
+
if ( !url || url.indexOf("http") !== 0 ) {
|
364
|
+
return;
|
365
|
+
}
|
366
|
+
|
367
|
+
document.write("<scr" + "ipt src='http://swarm.jquery.org/js/inject.js?" + (new Date()).getTime() + "'></scr" + "ipt>");
|
368
|
+
})();
|
@@ -0,0 +1,155 @@
|
|
1
|
+
/* for testing opacity set in styles in IE */
|
2
|
+
ol#empty {
|
3
|
+
opacity: 0;
|
4
|
+
filter:Alpha(opacity=0) progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffff0000', EndColorStr='#ffffffff');
|
5
|
+
}
|
6
|
+
|
7
|
+
div#fx-tests h4 {
|
8
|
+
background: red;
|
9
|
+
}
|
10
|
+
|
11
|
+
div#fx-tests h4.pass {
|
12
|
+
background: green;
|
13
|
+
}
|
14
|
+
|
15
|
+
div#fx-tests div.box {
|
16
|
+
background: red;
|
17
|
+
overflow: hidden;
|
18
|
+
border: 2px solid #000;
|
19
|
+
}
|
20
|
+
|
21
|
+
div#fx-tests div.overflow {
|
22
|
+
overflow: visible;
|
23
|
+
}
|
24
|
+
|
25
|
+
div.inline {
|
26
|
+
display: inline;
|
27
|
+
}
|
28
|
+
|
29
|
+
div.autoheight {
|
30
|
+
height: auto;
|
31
|
+
}
|
32
|
+
|
33
|
+
div.autowidth {
|
34
|
+
width: auto;
|
35
|
+
}
|
36
|
+
|
37
|
+
div.autoopacity {
|
38
|
+
opacity: auto;
|
39
|
+
}
|
40
|
+
|
41
|
+
div.largewidth {
|
42
|
+
width: 100px;
|
43
|
+
}
|
44
|
+
|
45
|
+
div.largeheight {
|
46
|
+
height: 100px;
|
47
|
+
}
|
48
|
+
|
49
|
+
div.largeopacity {
|
50
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
|
51
|
+
}
|
52
|
+
|
53
|
+
div.medwidth {
|
54
|
+
width: 50px;
|
55
|
+
}
|
56
|
+
|
57
|
+
div.medheight {
|
58
|
+
height: 50px;
|
59
|
+
}
|
60
|
+
|
61
|
+
div.medopacity {
|
62
|
+
opacity: 0.5;
|
63
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
|
64
|
+
}
|
65
|
+
|
66
|
+
div.nowidth {
|
67
|
+
width: 0px;
|
68
|
+
}
|
69
|
+
|
70
|
+
div.noheight {
|
71
|
+
height: 0px;
|
72
|
+
}
|
73
|
+
|
74
|
+
div.noopacity {
|
75
|
+
opacity: 0;
|
76
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
|
77
|
+
}
|
78
|
+
|
79
|
+
div.hidden {
|
80
|
+
display: none;
|
81
|
+
}
|
82
|
+
|
83
|
+
div#fx-tests div.widewidth {
|
84
|
+
background-repeat: repeat-x;
|
85
|
+
}
|
86
|
+
|
87
|
+
div#fx-tests div.wideheight {
|
88
|
+
background-repeat: repeat-y;
|
89
|
+
}
|
90
|
+
|
91
|
+
div#fx-tests div.widewidth.wideheight {
|
92
|
+
background-repeat: repeat;
|
93
|
+
}
|
94
|
+
|
95
|
+
div#fx-tests div.noback {
|
96
|
+
background-image: none;
|
97
|
+
}
|
98
|
+
|
99
|
+
.chain-test,
|
100
|
+
.chain-test div {
|
101
|
+
width: 100px;
|
102
|
+
height: 20px;
|
103
|
+
position: relative;
|
104
|
+
float: left;
|
105
|
+
}
|
106
|
+
.chain-test div {
|
107
|
+
position: absolute;
|
108
|
+
top: 0;
|
109
|
+
left: 0;
|
110
|
+
}
|
111
|
+
|
112
|
+
.chain-test {
|
113
|
+
background: red;
|
114
|
+
}
|
115
|
+
.chain-test div {
|
116
|
+
background: green;
|
117
|
+
}
|
118
|
+
|
119
|
+
.chain-test-out {
|
120
|
+
background: green;
|
121
|
+
}
|
122
|
+
.chain-test-out div {
|
123
|
+
background: red;
|
124
|
+
display: none;
|
125
|
+
}
|
126
|
+
|
127
|
+
/* tests to ensure jQuery can determine the native display mode of elements
|
128
|
+
that have been set as display: none in stylesheets */
|
129
|
+
div#show-tests * { display: none; }
|
130
|
+
|
131
|
+
#nothiddendiv { font-size: 16px; }
|
132
|
+
#nothiddendivchild.em { font-size: 2em; }
|
133
|
+
#nothiddendivchild.prct { font-size: 150%; }
|
134
|
+
|
135
|
+
/* For testing type on vml in IE #7071 */
|
136
|
+
v\:oval { behavior:url(#default#VML); display:inline-block; }
|
137
|
+
|
138
|
+
/* 8099 changes to default styles are read correctly */
|
139
|
+
tt { display: none; }
|
140
|
+
sup { display: none; }
|
141
|
+
dfn { display: none; }
|
142
|
+
|
143
|
+
/* #9239 Attach a background to the body( avoid crashes in removing the test element in support ) */
|
144
|
+
body, div { background: url(http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif) no-repeat -1000px 0; }
|
145
|
+
|
146
|
+
/* #6652 REMOVE FILTER:ALPHA(OPACITY=100) AFTER ANIMATION */
|
147
|
+
#t6652 div { filter: alpha(opacity=50); }
|
148
|
+
|
149
|
+
/* #10501 */
|
150
|
+
section { background:#f0f; display:block; }
|
151
|
+
|
152
|
+
/* #11971 */
|
153
|
+
#foo { background: url(1x1.jpg) right bottom no-repeat; }
|
154
|
+
|
155
|
+
#display { display: list-item !important; }
|