sproutit-sproutcore 1.0.0.20090407205609
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Buildfile +115 -0
- data/History.txt +7 -0
- data/README.txt +102 -0
- data/Rakefile +54 -0
- data/Todo.txt +1 -0
- data/bin/sc-build +13 -0
- data/bin/sc-build-number +13 -0
- data/bin/sc-gen +13 -0
- data/bin/sc-init +13 -0
- data/bin/sc-manifest +13 -0
- data/bin/sc-server +13 -0
- data/bin/sproutcore +14 -0
- data/buildtasks/build.rake +73 -0
- data/buildtasks/entry.rake +59 -0
- data/buildtasks/manifest.rake +469 -0
- data/buildtasks/render.rake +21 -0
- data/buildtasks/target.rake +42 -0
- data/gen/Buildfile +16 -0
- data/gen/app/Buildfile +36 -0
- data/gen/app/README +1 -0
- data/gen/app/USAGE +13 -0
- data/gen/app/templates/apps/{target_name}/core.js +27 -0
- data/gen/app/templates/apps/{target_name}/english.lproj/loading.rhtml +9 -0
- data/gen/app/templates/apps/{target_name}/english.lproj/main_page.js +22 -0
- data/gen/app/templates/apps/{target_name}/english.lproj/strings.js +15 -0
- data/gen/app/templates/apps/{target_name}/main.js +30 -0
- data/gen/controller/Buildfile +18 -0
- data/gen/controller/README +1 -0
- data/gen/controller/USAGE +13 -0
- data/gen/controller/templates/controllers/{filename}.js +18 -0
- data/gen/controller/templates/tests/controllers/{filename}.js +15 -0
- data/gen/framework/Buildfile +36 -0
- data/gen/framework/README +1 -0
- data/gen/framework/USAGE +13 -0
- data/gen/framework/templates/frameworks/{target_name}/core.js +21 -0
- data/gen/framework/templates/frameworks/{target_name}/english.lproj/strings.js +15 -0
- data/gen/language/Buildfile +26 -0
- data/gen/language/README +1 -0
- data/gen/language/USAGE +13 -0
- data/gen/language/templates/{filename}/strings.js +14 -0
- data/gen/model/Buildfile +16 -0
- data/gen/model/README +1 -0
- data/gen/model/USAGE +15 -0
- data/gen/model/templates/fixtures/{filename}.js +35 -0
- data/gen/model/templates/models/{filename}.js +19 -0
- data/gen/model/templates/tests/models/{filename}.js +15 -0
- data/gen/project/Buildfile +45 -0
- data/gen/project/INIT +3 -0
- data/gen/project/README +1 -0
- data/gen/project/USAGE +2 -0
- data/gen/project/templates/{filename}/Buildfile +7 -0
- data/gen/project/templates/{filename}/README +7 -0
- data/gen/test/Buildfile +25 -0
- data/gen/test/README +1 -0
- data/gen/test/USAGE +12 -0
- data/gen/test/templates/tests/{filename}.js +15 -0
- data/gen/theme/Buildfile +36 -0
- data/gen/theme/README +1 -0
- data/gen/theme/USAGE +13 -0
- data/gen/theme/templates/themes/{target_name}/english.lproj/strings.js +15 -0
- data/gen/view/Buildfile +18 -0
- data/gen/view/README +1 -0
- data/gen/view/USAGE +13 -0
- data/gen/view/templates/tests/views/{filename}.js +15 -0
- data/gen/view/templates/views/{filename}.js +18 -0
- data/lib/sproutcore.rb +130 -0
- data/lib/sproutcore/builders/base.rb +79 -0
- data/lib/sproutcore/builders/combine.rb +37 -0
- data/lib/sproutcore/builders/html.rb +177 -0
- data/lib/sproutcore/builders/javascript.rb +55 -0
- data/lib/sproutcore/builders/minify.rb +67 -0
- data/lib/sproutcore/builders/sass.rb +55 -0
- data/lib/sproutcore/builders/strings.rb +44 -0
- data/lib/sproutcore/builders/stylesheet.rb +40 -0
- data/lib/sproutcore/builders/test.rb +58 -0
- data/lib/sproutcore/builders/test_index.rb +26 -0
- data/lib/sproutcore/buildfile.rb +483 -0
- data/lib/sproutcore/buildfile/build_task.rb +33 -0
- data/lib/sproutcore/buildfile/buildfile_dsl.rb +162 -0
- data/lib/sproutcore/buildfile/cloneable.rb +34 -0
- data/lib/sproutcore/buildfile/early_time.rb +29 -0
- data/lib/sproutcore/buildfile/invocation_chain.rb +64 -0
- data/lib/sproutcore/buildfile/namespace.rb +33 -0
- data/lib/sproutcore/buildfile/string_ext.rb +198 -0
- data/lib/sproutcore/buildfile/task.rb +304 -0
- data/lib/sproutcore/buildfile/task_arguments.rb +86 -0
- data/lib/sproutcore/buildfile/task_manager.rb +193 -0
- data/lib/sproutcore/deprecated/view_helper.rb +662 -0
- data/lib/sproutcore/helpers/capture_helper.rb +30 -0
- data/lib/sproutcore/helpers/cssmin.rb +202 -0
- data/lib/sproutcore/helpers/dom_id_helper.rb +21 -0
- data/lib/sproutcore/helpers/entry_sorter.rb +105 -0
- data/lib/sproutcore/helpers/packed_optimizer.rb +102 -0
- data/lib/sproutcore/helpers/static_helper.rb +268 -0
- data/lib/sproutcore/helpers/tag_helper.rb +117 -0
- data/lib/sproutcore/helpers/text_helper.rb +303 -0
- data/lib/sproutcore/models/generator.rb +493 -0
- data/lib/sproutcore/models/hash_struct.rb +109 -0
- data/lib/sproutcore/models/manifest.rb +342 -0
- data/lib/sproutcore/models/manifest_entry.rb +232 -0
- data/lib/sproutcore/models/project.rb +270 -0
- data/lib/sproutcore/models/target.rb +403 -0
- data/lib/sproutcore/rack/builder.rb +269 -0
- data/lib/sproutcore/rack/dev.rb +51 -0
- data/lib/sproutcore/rack/docs.rb +24 -0
- data/lib/sproutcore/rack/proxy.rb +92 -0
- data/lib/sproutcore/rack/service.rb +141 -0
- data/lib/sproutcore/rack/test_runner.rb +24 -0
- data/lib/sproutcore/render_engines/erubis.rb +55 -0
- data/lib/sproutcore/render_engines/haml.rb +39 -0
- data/lib/sproutcore/tools.rb +311 -0
- data/lib/sproutcore/tools/build.rb +80 -0
- data/lib/sproutcore/tools/build_number.rb +23 -0
- data/lib/sproutcore/tools/gen.rb +99 -0
- data/lib/sproutcore/tools/init.rb +40 -0
- data/lib/sproutcore/tools/manifest.rb +84 -0
- data/lib/sproutcore/tools/server.rb +45 -0
- data/spec/buildtasks/build/copy_spec.rb +60 -0
- data/spec/buildtasks/build/spec_helper.rb +36 -0
- data/spec/buildtasks/manifest/catalog_spec.rb +48 -0
- data/spec/buildtasks/manifest/hide_buildfiles_spec.rb +125 -0
- data/spec/buildtasks/manifest/localize_spec.rb +97 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +246 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/css_spec.rb +87 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/html_spec.rb +175 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/javascript_spec.rb +65 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/minify_spec.rb +70 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/packed_spec.rb +152 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/sass_spec.rb +98 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/strings_spec.rb +64 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/tests_spec.rb +163 -0
- data/spec/buildtasks/manifest/prepare_spec.rb +43 -0
- data/spec/buildtasks/manifest/spec_helper.rb +35 -0
- data/spec/buildtasks/target_spec.rb +214 -0
- data/spec/fixtures/builder_tests/Buildfile +15 -0
- data/spec/fixtures/builder_tests/apps/combine_test/a.js +1 -0
- data/spec/fixtures/builder_tests/apps/combine_test/b.js +1 -0
- data/spec/fixtures/builder_tests/apps/combine_test/c.js +1 -0
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/a.css +1 -0
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/b.css +1 -0
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/c.css +1 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/bar1_sample.rhtml +2 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/erb_sample.html.erb +1 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/icons/image.png +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/image.jpg +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/rhtml_sample.rhtml +1 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/strings.js +4 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/style.css +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/french.lproj/french-icons/fr.png +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/french.lproj/strings.js +4 -0
- data/spec/fixtures/builder_tests/apps/html_test/lib/layout_template.rhtml +1 -0
- data/spec/fixtures/builder_tests/apps/html_test/scripts.js +0 -0
- data/spec/fixtures/builder_tests/apps/javascript_test/sc_static.js +15 -0
- data/spec/fixtures/builder_tests/apps/javascript_test/sc_super.js +4 -0
- data/spec/fixtures/builder_tests/apps/javascript_test/strings.js +7 -0
- data/spec/fixtures/builder_tests/apps/sass_test/sample.sass +3 -0
- data/spec/fixtures/builder_tests/apps/strings_test/lproj/strings.js +8 -0
- data/spec/fixtures/builder_tests/apps/stylesheet_test/build_directives.css +9 -0
- data/spec/fixtures/builder_tests/apps/stylesheet_test/sc_static.css +12 -0
- data/spec/fixtures/builder_tests/apps/test_test/lib/alt_layout.rhtml +1 -0
- data/spec/fixtures/builder_tests/apps/test_test/lib/test_layout.rhtml +3 -0
- data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test.js +1 -0
- data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test2.js +1 -0
- data/spec/fixtures/builder_tests/apps/test_test/tests/rhtml_test.rhtml +4 -0
- data/spec/fixtures/builder_tests/frameworks/debug/core.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/debug/english.lproj/dummy.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/qunit/core.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/qunit/english.lproj/dummy.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/req_style_1.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/strings.js +4 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/test.rhtml +1 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_1/req_js_1.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/req_style_2.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/test.rhtml +1 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/javascript.js +1 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/lib/alt_layout.rhtml +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/req_js_2.js +0 -0
- data/spec/fixtures/builder_tests/themes/sample_theme/Buildfile +1 -0
- data/spec/fixtures/buildfiles/basic/Buildfile +16 -0
- data/spec/fixtures/buildfiles/basic/task_module.rake +6 -0
- data/spec/fixtures/buildfiles/installed/Buildfile +7 -0
- data/spec/fixtures/buildfiles/installed/Buildfile2 +5 -0
- data/spec/fixtures/buildfiles/project_test/Buildfile +4 -0
- data/spec/fixtures/buildfiles/project_test/not_project/Buildfile +2 -0
- data/spec/fixtures/buildfiles/project_test/not_project/child/PLACEHOLDER +0 -0
- data/spec/fixtures/entry_for_project/Buildfile +1 -0
- data/spec/fixtures/entry_for_project/apps/test_app/entry.txt +0 -0
- data/spec/fixtures/entry_for_project/apps/test_app/frameworks/nested/PLACEHOLDER +0 -0
- data/spec/fixtures/entry_for_project/frameworks/shared/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/Buildfile +8 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/Buildfile +5 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/foos/not_foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/nested/Buildfile +8 -0
- data/spec/fixtures/find_targets/nested/apps/app1/Buildfile +1 -0
- data/spec/fixtures/find_targets/nested/apps/app1/apps/nested_app/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/clients/client1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/frameworks/framework1/frameworks/framework1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/frameworks/framework2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/themes/theme1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/themes/theme2/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/English.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/FreNCH.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/UnknOWN.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/english.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/french.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/german.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/italian.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/japanese.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/spanish.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/unknown.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/no_names/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/de.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-CA.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-GB.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-US.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/es.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/foo.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/fr.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/it.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/ja.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/1.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/B.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/a.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/a/a.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/a/b.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/b/a.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/c.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/core.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/B.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/b.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/b/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/c.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/lproj/strings.js +1 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/utils.js +1 -0
- data/spec/fixtures/ordered_entries/apps/with_requires/a.js +2 -0
- data/spec/fixtures/ordered_entries/apps/with_requires/b.js +3 -0
- data/spec/fixtures/ordered_entries/apps/with_requires/c.js +2 -0
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/a.css +2 -0
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/b.css +2 -0
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/c.css +2 -0
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/d.js +1 -0
- data/spec/fixtures/real_world/Buildfile +12 -0
- data/spec/fixtures/real_world/apps/account/README +1 -0
- data/spec/fixtures/real_world/apps/calendar/README +1 -0
- data/spec/fixtures/real_world/apps/contacts/README_BEFORE_EDITING +1 -0
- data/spec/fixtures/real_world/apps/files/README +1 -0
- data/spec/fixtures/real_world/apps/mail/README +1 -0
- data/spec/fixtures/real_world/apps/mobile_photos/README +1 -0
- data/spec/fixtures/real_world/apps/photos/README +1 -0
- data/spec/fixtures/real_world/apps/uploader/README +1 -0
- data/spec/fixtures/real_world/frameworks/core_files/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/core_photos/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/shared/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/Buildfile +26 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/README +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/apps/docs/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/apps/test_runner/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/core.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/debug/debug-resource.html +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/debug/sample_debug.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/demo2.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/debug/sample_debug-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.css +4 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.html +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo2.sass +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.haml +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.html.erb +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.rhtml +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/fixtures/sample_fixtures-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/has_require.css +4 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_require.css +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_sc_resource.rhtml +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/protocols/sample-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.css +6 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.rhtml +3 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/strings.js +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/tests/sample-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample-json-fixture.json +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample_fixtures.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/application/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/costello/core.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/data_store/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/debug/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/desktop/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/empty_theme/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/foundation/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/mobile/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/qunit/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/uploader/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/french-resource.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/strings.js +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/german-resource.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/strings.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/has_require.js +4 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/lib/index.html +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/no_require.js +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/protocols/sample.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/sc_resource.js +6 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample1.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample2.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.rhtml +1 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/themes/standard_theme/README +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/views/view.js +1 -0
- data/spec/fixtures/real_world/generators/sample_custom/Buildfile +0 -0
- data/spec/fixtures/real_world/generators/sample_custom/templates/{filename}.js +1 -0
- data/spec/fixtures/recursive_project/Buildfile +8 -0
- data/spec/fixtures/recursive_project/frameworks/sproutcore/frameworks/costello/PLACEHOLDER +0 -0
- data/spec/lib/builders/combine_spec.rb +67 -0
- data/spec/lib/builders/html_spec.rb +577 -0
- data/spec/lib/builders/javascript_spec.rb +81 -0
- data/spec/lib/builders/sass_spec.rb +43 -0
- data/spec/lib/builders/spec_helper.rb +30 -0
- data/spec/lib/builders/strings_spec.rb +52 -0
- data/spec/lib/builders/stylesheet_spec.rb +63 -0
- data/spec/lib/builders/test_index_spec.rb +44 -0
- data/spec/lib/builders/test_spec.rb +135 -0
- data/spec/lib/buildfile/config_for_spec.rb +81 -0
- data/spec/lib/buildfile/define_spec.rb +59 -0
- data/spec/lib/buildfile/dup_spec.rb +65 -0
- data/spec/lib/buildfile/invoke_spec.rb +130 -0
- data/spec/lib/buildfile/load_spec.rb +49 -0
- data/spec/lib/buildfile/task/dup_spec.rb +55 -0
- data/spec/lib/buildfile/task_defined_spec.rb +17 -0
- data/spec/lib/buildfile_commands/build_task_spec.rb +19 -0
- data/spec/lib/buildfile_commands/config_spec.rb +97 -0
- data/spec/lib/buildfile_commands/import_spec.rb +17 -0
- data/spec/lib/buildfile_commands/namespace_spec.rb +18 -0
- data/spec/lib/buildfile_commands/proxies_spec.rb +38 -0
- data/spec/lib/buildfile_commands/replace_task_spec.rb +29 -0
- data/spec/lib/buildfile_commands/task_spec.rb +36 -0
- data/spec/lib/helpers/packing_optimizer/optimize_spec.rb +26 -0
- data/spec/lib/models/hash_struct/deep_clone_spec.rb +27 -0
- data/spec/lib/models/hash_struct/has_options_spec.rb +32 -0
- data/spec/lib/models/hash_struct/hash_spec.rb +64 -0
- data/spec/lib/models/hash_struct/merge_spec.rb +26 -0
- data/spec/lib/models/hash_struct/method_missing.rb +41 -0
- data/spec/lib/models/manifest/add_entry_spec.rb +36 -0
- data/spec/lib/models/manifest/add_transform_spec.rb +90 -0
- data/spec/lib/models/manifest/build_spec.rb +78 -0
- data/spec/lib/models/manifest/entry_for_spec.rb +94 -0
- data/spec/lib/models/manifest/find_entry.rb +84 -0
- data/spec/lib/models/manifest/prepare_spec.rb +62 -0
- data/spec/lib/models/manifest_entry/cacheable_url_spec.rb +31 -0
- data/spec/lib/models/manifest_entry/prepare_spec.rb +54 -0
- data/spec/lib/models/project/add_target_spec.rb +44 -0
- data/spec/lib/models/project/buildfile_spec.rb +35 -0
- data/spec/lib/models/project/find_targets_for_spec.rb +77 -0
- data/spec/lib/models/project/load_nearest_project_spec.rb +23 -0
- data/spec/lib/models/project/target_for_spec.rb +33 -0
- data/spec/lib/models/project/targets_spec.rb +62 -0
- data/spec/lib/models/target/compute_build_number_spec.rb +125 -0
- data/spec/lib/models/target/config_spec.rb +30 -0
- data/spec/lib/models/target/expand_required_targets_spec.rb +48 -0
- data/spec/lib/models/target/installed_languages_spec.rb +47 -0
- data/spec/lib/models/target/lproj_for_spec.rb +38 -0
- data/spec/lib/models/target/manifest_for_spec.rb +42 -0
- data/spec/lib/models/target/parent_target_spec.rb +21 -0
- data/spec/lib/models/target/prepare_spec.rb +53 -0
- data/spec/lib/models/target/required_targets_spec.rb +119 -0
- data/spec/lib/models/target/target_for_spec.rb +56 -0
- data/spec/lib/tools/build_number_spec.rb +28 -0
- data/spec/lib/tools/gen_spec.rb +207 -0
- data/spec/lib/tools/tools_spec.rb +78 -0
- data/spec/spec_helper.rb +138 -0
- data/sproutcore.gemspec +47 -0
- data/vendor/github_gem_lint.rb +22 -0
- data/vendor/yui-compressor/yuicompressor-2.4.2.jar +0 -0
- metadata +1084 -0
@@ -0,0 +1,87 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w(.. spec_helper))
|
2
|
+
|
3
|
+
# This task prepares a single CSS entry for every untagged source entry.
|
4
|
+
describe "manifest:prepare_build_tasks:css" do
|
5
|
+
|
6
|
+
include SC::SpecHelpers
|
7
|
+
include SC::ManifestSpecHelpers
|
8
|
+
|
9
|
+
before do
|
10
|
+
std_before
|
11
|
+
end
|
12
|
+
|
13
|
+
def run_task
|
14
|
+
@manifest.prepare!
|
15
|
+
super('manifest:prepare_build_tasks:css')
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should run manifest:prepare_build_tasks:setup as prereq" do
|
19
|
+
should_run('manifest:prepare_build_tasks:setup') { run_task }
|
20
|
+
end
|
21
|
+
|
22
|
+
# This rewriting is done to make sure source entries are disambiguated from
|
23
|
+
# the generated stylesheet.css that will live at the root level
|
24
|
+
it "rewrites all css entries to begin with 'source/...'" do
|
25
|
+
run_task
|
26
|
+
entries = @manifest.entries.select { |e| e.entry_type == :css }
|
27
|
+
entries.each do |entry|
|
28
|
+
%w(filename url build_path).each do |key|
|
29
|
+
entry[key].should =~ /source\//
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it "creates a transform entry for each css entry" do
|
35
|
+
run_task
|
36
|
+
|
37
|
+
# find all original CSS entries...
|
38
|
+
originals = @manifest.entries(:hidden => true).select do |entry|
|
39
|
+
entry.original? && entry.ext == 'css'
|
40
|
+
end
|
41
|
+
originals.size.should > 0 # precondition
|
42
|
+
|
43
|
+
# transformed entries
|
44
|
+
entries = @manifest.entries.select { |e| e.entry_type == :css }
|
45
|
+
entries.size.should == originals.size #precondition
|
46
|
+
|
47
|
+
# one transformed entry should exist for each original entry.
|
48
|
+
entries.each do |entry|
|
49
|
+
entry.should be_transform
|
50
|
+
entry.source_entry.should_not be_nil
|
51
|
+
originals.should include(entry.source_entry)
|
52
|
+
originals.delete(entry.source_entry) # so as not to allow doubles
|
53
|
+
end
|
54
|
+
originals.size.should == 0
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "supports require() and sc_require() statements" do
|
58
|
+
|
59
|
+
it "adds a entry.required property with empty array of no requires are specified in file" do
|
60
|
+
run_task
|
61
|
+
entry = @manifest.entry_for('source/no_require.css')
|
62
|
+
entry.required.should == []
|
63
|
+
end
|
64
|
+
|
65
|
+
it "searches files for require() & sc_requires() statements and adds them to entry.required array -- (also should ignore any ext)" do
|
66
|
+
run_task
|
67
|
+
entry = @manifest.entry_for('source/has_require.css')
|
68
|
+
entry.required.sort.should == ['demo2', 'no_require']
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "supports sc_resource() statement" do
|
74
|
+
it "sets entry.resource = 'stylesheet' if no sc_resource statement is found in files" do
|
75
|
+
run_task
|
76
|
+
entry = @manifest.entry_for('source/no_require.css')
|
77
|
+
entry.resource.should == 'stylesheet'
|
78
|
+
end
|
79
|
+
|
80
|
+
it "searches files for sc_resource() statement and stores last value in entry.resource property" do
|
81
|
+
run_task
|
82
|
+
entry = @manifest.entry_for 'source/sc_resource.css'
|
83
|
+
entry.resource.should == 'bar'
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
@@ -0,0 +1,175 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w(.. spec_helper))
|
2
|
+
|
3
|
+
describe "manifest:prepare_build_tasks:html" do
|
4
|
+
|
5
|
+
include SC::SpecHelpers
|
6
|
+
include SC::ManifestSpecHelpers
|
7
|
+
|
8
|
+
before do
|
9
|
+
std_before
|
10
|
+
end
|
11
|
+
|
12
|
+
def run_task
|
13
|
+
@manifest.prepare!
|
14
|
+
super('manifest:prepare_build_tasks:html')
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should run manifest:prepare_build_tasks:setup & strings as prereq" do
|
18
|
+
%w(setup).each do |task_name|
|
19
|
+
should_run("manifest:prepare_build_tasks:#{task_name}") { run_task }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "supports sc_resource() statement" do
|
24
|
+
it "sets entry.resource = 'index' if no sc_resource statement is found in files" do
|
25
|
+
run_task
|
26
|
+
entry = entry_for('no_sc_resource.rhtml')
|
27
|
+
entry.resource.should == 'index'
|
28
|
+
end
|
29
|
+
|
30
|
+
it "searches files for sc_resource() statement and stores last value in entry.resource property" do
|
31
|
+
run_task
|
32
|
+
entry = entry_for 'sc_resource.rhtml'
|
33
|
+
entry.resource.should == 'bar'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "annotates entries with render_task" do
|
38
|
+
|
39
|
+
before do
|
40
|
+
run_task
|
41
|
+
end
|
42
|
+
|
43
|
+
it "file.erb => render:erubis" do
|
44
|
+
expected = entry_for('file_extension_test.html.erb')
|
45
|
+
expected.render_task.should == "render:erubis"
|
46
|
+
end
|
47
|
+
|
48
|
+
it "file.haml => render:haml" do
|
49
|
+
expected = entry_for('file_extension_test.haml')
|
50
|
+
expected.render_task.should == "render:haml"
|
51
|
+
end
|
52
|
+
|
53
|
+
it "file.rhtml => render:erubis" do
|
54
|
+
expected = entry_for('file_extension_test.rhtml')
|
55
|
+
expected.render_task.should == "render:erubis"
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
describe "special case handling of index.html for loadable targets" do
|
61
|
+
|
62
|
+
before do
|
63
|
+
# load application target instead of framework...
|
64
|
+
@target = @project.target_for :contacts
|
65
|
+
@buildfile = @target.buildfile
|
66
|
+
@config = @target.config
|
67
|
+
@manifest = @target.manifest_for(:language => :fr)
|
68
|
+
@target.prepare!
|
69
|
+
|
70
|
+
run_task
|
71
|
+
@index_entry = entry_for 'index.html'
|
72
|
+
end
|
73
|
+
|
74
|
+
it "applies these rules only to a target that is loadable" do
|
75
|
+
@target.should be_loadable # precondition
|
76
|
+
end
|
77
|
+
|
78
|
+
# an index.html is always needed for an application to load properly
|
79
|
+
# even if not explicit fragments are present in the app.
|
80
|
+
it "generates an index.html entry even if there are no source html fragments" do
|
81
|
+
@index_entry.should_not be_nil
|
82
|
+
@index_entry.source_entries.size.should == 0 # precondition
|
83
|
+
end
|
84
|
+
|
85
|
+
it "does not hide the index.html entry" do
|
86
|
+
@index_entry.should_not be_hidden
|
87
|
+
end
|
88
|
+
|
89
|
+
it "adds the include_required_targets? property to the entry" do
|
90
|
+
@index_entry.should be_include_required_targets
|
91
|
+
end
|
92
|
+
|
93
|
+
it "marks the target as loadable" do
|
94
|
+
@target.should be_loadable
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
98
|
+
|
99
|
+
describe "special case handling of index.html for frameworks" do
|
100
|
+
|
101
|
+
before do
|
102
|
+
run_task
|
103
|
+
@index_entry = entry_for 'index.html'
|
104
|
+
@bar_entry = @manifest.entry_for('bar.html')
|
105
|
+
end
|
106
|
+
|
107
|
+
it "applies these rules only to a target that is not loadable" do
|
108
|
+
@target.should_not be_loadable # precondition
|
109
|
+
end
|
110
|
+
|
111
|
+
it "hides an index.html entry" do
|
112
|
+
@index_entry.should be_hidden
|
113
|
+
end
|
114
|
+
|
115
|
+
it "does not add include_required_targets property to entry" do
|
116
|
+
@index_entry.should_not be_include_required_targets
|
117
|
+
end
|
118
|
+
|
119
|
+
it "should not hide other .html entries if the target is not loadable" do
|
120
|
+
@bar_entry.should_not be_hidden
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
describe "combines html entries into one output file per resource" do
|
126
|
+
|
127
|
+
before do
|
128
|
+
run_task
|
129
|
+
@index_entry = entry_for 'index.html'
|
130
|
+
@bar_entry = @manifest.entry_for('bar.html')
|
131
|
+
end
|
132
|
+
|
133
|
+
it "should be composite entries" do
|
134
|
+
@index_entry.should be_composite
|
135
|
+
@bar_entry.should be_composite
|
136
|
+
end
|
137
|
+
|
138
|
+
it "should include any files ending in .rhtml" do
|
139
|
+
expected = entry_for('file_extension_test.rhtml')
|
140
|
+
@index_entry.source_entries.should include(expected)
|
141
|
+
end
|
142
|
+
|
143
|
+
it "should include any files ending in .erb" do
|
144
|
+
expected = entry_for('file_extension_test.html.erb')
|
145
|
+
@index_entry.source_entries.should include(expected)
|
146
|
+
end
|
147
|
+
|
148
|
+
it "should include any files ending in .haml" do
|
149
|
+
expected = entry_for('file_extension_test.haml')
|
150
|
+
@index_entry.source_entries.should include(expected)
|
151
|
+
end
|
152
|
+
|
153
|
+
it "creates a combined index entry for each resource named in files" do
|
154
|
+
# spot check...
|
155
|
+
@index_entry.source_entries.should include(entry_for('no_sc_resource.rhtml'))
|
156
|
+
|
157
|
+
@bar_entry.source_entries.should include(entry_for('sc_resource.rhtml'))
|
158
|
+
end
|
159
|
+
|
160
|
+
it "entries have a build_task = build:html" do
|
161
|
+
@index_entry.build_task.should == 'build:html'
|
162
|
+
@bar_entry.build_task.should == 'build:html'
|
163
|
+
end
|
164
|
+
|
165
|
+
it "hides source entries" do
|
166
|
+
[@index_entry, @bar_entry].each do |entry|
|
167
|
+
entry.source_entries.each do |source_entry|
|
168
|
+
source_entry.should be_hidden
|
169
|
+
end
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
end
|
174
|
+
|
175
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w(.. spec_helper))
|
2
|
+
|
3
|
+
describe "manifest:prepare_build_tasks:javascript" do
|
4
|
+
|
5
|
+
include SC::SpecHelpers
|
6
|
+
include SC::ManifestSpecHelpers
|
7
|
+
|
8
|
+
before do
|
9
|
+
std_before
|
10
|
+
end
|
11
|
+
|
12
|
+
def run_task
|
13
|
+
@manifest.prepare!
|
14
|
+
super('manifest:prepare_build_tasks:javascript')
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should run manifest:prepare_build_tasks:setup as prereq" do
|
18
|
+
should_run('manifest:prepare_build_tasks:setup') { run_task }
|
19
|
+
end
|
20
|
+
|
21
|
+
# This rewriting is done to make sure source entries are disambiguated from
|
22
|
+
# the generated javascript.js that will live at the root level
|
23
|
+
it "rewrites all javascript entries to begin with 'source/...'" do
|
24
|
+
run_task
|
25
|
+
entries = @manifest.entries.select { |e| e.entry_type == :javascript }
|
26
|
+
entries.each do |entry|
|
27
|
+
%w(filename url build_path).each do |key|
|
28
|
+
entry[key].should =~ /source\//
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "supports require() and sc_require() statements" do
|
34
|
+
|
35
|
+
it "adds a entry.required property to entrys with empty array of no requires are specified in file" do
|
36
|
+
run_task
|
37
|
+
entry = entry_for('source/no_require.js')
|
38
|
+
entry.required.should == []
|
39
|
+
end
|
40
|
+
|
41
|
+
it "searches files for require() & sc_requires() statements and adds them to entry.required array -- (also should ignore any ext)" do
|
42
|
+
run_task
|
43
|
+
entry = entry_for('source/has_require.js')
|
44
|
+
entry.required.sort.should == ['demo2', 'no_require']
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "supports sc_resource() statement" do
|
50
|
+
it "sets entry.resource = 'javascript' if no sc_resource statement is found in files" do
|
51
|
+
run_task
|
52
|
+
entry = entry_for('source/no_require.js')
|
53
|
+
entry.resource.should == 'javascript'
|
54
|
+
end
|
55
|
+
|
56
|
+
it "searches files for sc_resource() statement and stores last value in entry.resource property" do
|
57
|
+
run_task
|
58
|
+
entry =entry_for 'source/sc_resource.js'
|
59
|
+
entry.resource.should == 'bar'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w(.. spec_helper))
|
2
|
+
|
3
|
+
describe "manifest:prepare_build_tasks:minify" do
|
4
|
+
|
5
|
+
include SC::SpecHelpers
|
6
|
+
include SC::ManifestSpecHelpers
|
7
|
+
|
8
|
+
before do
|
9
|
+
std_before
|
10
|
+
end
|
11
|
+
|
12
|
+
def run_task
|
13
|
+
@manifest.prepare!
|
14
|
+
super('manifest:prepare_build_tasks:minify')
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should run setup, javascript, css, and combine as prereq" do
|
18
|
+
%w(setup javascript css sass combine).each do |task_name|
|
19
|
+
should_run("manifest:prepare_build_tasks:#{task_name}") { run_task }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "minify javascript tasks" do
|
24
|
+
|
25
|
+
def should_have_minify_javascript_tasks
|
26
|
+
entries = @manifest.entries.select { |e| e.entry_type == :javascript }
|
27
|
+
entries.each do |entry|
|
28
|
+
entry.should be_minified
|
29
|
+
entry.should be_transform
|
30
|
+
entry.source_entry.entry_type.should == :javascript
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def should_not_have_minify_javascript_tasks
|
35
|
+
entries = @manifest.entries.select { |e| e.entry_type == :javascript }
|
36
|
+
entries.each do |entry|
|
37
|
+
entry.should_not be_minified
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
it "adds task when CONFIG.minify_javascript == true" do
|
42
|
+
@target.config.minify_javascript = true
|
43
|
+
run_task
|
44
|
+
should_have_minify_javascript_tasks
|
45
|
+
end
|
46
|
+
|
47
|
+
it "adds task when CONFIG.minify == true" do
|
48
|
+
@target.config.minify = true
|
49
|
+
@target.config.minify_javascript = nil # assume not defined
|
50
|
+
run_task
|
51
|
+
should_have_minify_javascript_tasks
|
52
|
+
end
|
53
|
+
|
54
|
+
it "does not add task when CONFIG.minify == true but CONFIG.minify_javascript == false" do
|
55
|
+
@target.config.minify = true
|
56
|
+
@target.config.minify_javascript = false
|
57
|
+
run_task
|
58
|
+
should_not_have_minify_javascript_tasks
|
59
|
+
end
|
60
|
+
|
61
|
+
it "does not add task when CONFIG.minify == false and CONFIG.minify_javascript is not defined" do
|
62
|
+
@target.config.minify = false
|
63
|
+
@target.config.minify_javascript = nil
|
64
|
+
run_task
|
65
|
+
should_not_have_minify_javascript_tasks
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
@@ -0,0 +1,152 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w(.. spec_helper))
|
2
|
+
|
3
|
+
# Creates packed combined entries for javascript & css
|
4
|
+
describe "manifest:prepare_build_tasks:packed" do
|
5
|
+
|
6
|
+
include SC::SpecHelpers
|
7
|
+
include SC::ManifestSpecHelpers
|
8
|
+
|
9
|
+
before do
|
10
|
+
std_before
|
11
|
+
end
|
12
|
+
|
13
|
+
def run_task
|
14
|
+
# capture any log warnings...
|
15
|
+
@msg = capture('stderr') {
|
16
|
+
@manifest.prepare!
|
17
|
+
super('manifest:prepare_build_tasks:packed')
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should run setup, combine as prereq" do
|
22
|
+
%w(setup combine).each do |task_name|
|
23
|
+
should_run("manifest:prepare_build_tasks:#{task_name}") { run_task }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should not add packed entries for apps" do
|
28
|
+
@target = @project.target_for(:contacts)
|
29
|
+
@target.target_type.should == :app # precondition
|
30
|
+
|
31
|
+
@manifest = @target.manifest_for(:language => :en)
|
32
|
+
run_task
|
33
|
+
|
34
|
+
@manifest.entry_for('javascript-packed.js').should be_nil
|
35
|
+
@manifest.entry_for('stylesheet-packed.css').should be_nil
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should add packed entries for frameworks" do
|
39
|
+
# verify default target is a framework - precondition
|
40
|
+
@target.target_type.should == :framework #precondition
|
41
|
+
run_task
|
42
|
+
|
43
|
+
@manifest.entry_for('javascript-packed.js').should_not be_nil
|
44
|
+
end
|
45
|
+
|
46
|
+
#######################################
|
47
|
+
# javascript-packed.js support
|
48
|
+
#
|
49
|
+
describe "javascript-packed.js" do
|
50
|
+
|
51
|
+
before do
|
52
|
+
run_task
|
53
|
+
@entry = entry_for('javascript-packed.js')
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should generate a javascript-packed.js entry" do
|
57
|
+
@entry.should_not be_nil
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should include javascript.js entries from all required targets" do
|
61
|
+
@entry.source_entries.size.should > 0
|
62
|
+
@entry.source_entries.each do |entry|
|
63
|
+
entry.filename.should == 'javascript.js'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should include ordered_entries ordered by required target order" do
|
68
|
+
|
69
|
+
# find targets, sorted by order. remove any that don't have a
|
70
|
+
# javascript.js entry.
|
71
|
+
targets = @target.expand_required_targets + [@target]
|
72
|
+
variation = @entry.manifest.variation
|
73
|
+
targets.reject! do |t|
|
74
|
+
t.manifest_for(variation).build!.entry_for('javascript.js').nil?
|
75
|
+
end
|
76
|
+
|
77
|
+
@entry.ordered_entries.each do |entry|
|
78
|
+
entry.target.should == targets.shift
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should include the actual targets this packed version covers in the targets property (even those w no javascript.js)" do
|
83
|
+
targets = @target.expand_required_targets + [@target]
|
84
|
+
@entry.targets.should == targets
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should NOT include minified source entries" do
|
88
|
+
@entry.source_entries.each do |entry|
|
89
|
+
entry.should_not be_minified
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should be marked as packed" do
|
94
|
+
@entry.should be_packed
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
98
|
+
|
99
|
+
#######################################
|
100
|
+
# stylesheet-packed.css support
|
101
|
+
#
|
102
|
+
describe "stylesheet-packed.css" do
|
103
|
+
|
104
|
+
before do
|
105
|
+
run_task
|
106
|
+
@entry = entry_for('stylesheet-packed.css')
|
107
|
+
end
|
108
|
+
|
109
|
+
it "should generate a stylesheet-packed.css entry" do
|
110
|
+
@entry.should_not be_nil
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should include stylesheet.css entries from all required targets" do
|
114
|
+
@entry.source_entries.size.should > 0
|
115
|
+
@entry.source_entries.each do |entry|
|
116
|
+
entry.filename.should == 'stylesheet.css'
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
it "should include ordered_entries ordered by required target order" do
|
121
|
+
|
122
|
+
# find targets, sorted by order. remove any that don't have a
|
123
|
+
# javascript.js entry.
|
124
|
+
targets = @target.expand_required_targets + [@target]
|
125
|
+
variation = @entry.manifest.variation
|
126
|
+
targets.reject! do |t|
|
127
|
+
t.manifest_for(variation).build!.entry_for('stylesheet.css').nil?
|
128
|
+
end
|
129
|
+
|
130
|
+
@entry.ordered_entries.each do |entry|
|
131
|
+
entry.target.should == targets.shift
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
it "should include the actual targets this packed version covers in the targets property (even those w no stylesheet.css)" do
|
136
|
+
targets = @target.expand_required_targets + [@target]
|
137
|
+
@entry.targets.should == targets
|
138
|
+
end
|
139
|
+
|
140
|
+
it "should NOT include minified source entries" do
|
141
|
+
@entry.source_entries.each do |entry|
|
142
|
+
entry.should_not be_minified
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
it "should be marked as packed" do
|
147
|
+
@entry.should be_packed
|
148
|
+
end
|
149
|
+
|
150
|
+
end
|
151
|
+
|
152
|
+
end
|