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,48 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
|
3
|
+
describe "manifest:catalog" 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! # this should be run first...
|
14
|
+
super('manifest:catalog')
|
15
|
+
end
|
16
|
+
|
17
|
+
it "create an entry for each item in the target regardless of language with the relative path as filename" do
|
18
|
+
run_task
|
19
|
+
|
20
|
+
# collect filenames from target dir...
|
21
|
+
filenames = Dir.glob(File.join(@target.source_root, '**','*'))
|
22
|
+
filenames.reject! { |f| File.directory?(f) }
|
23
|
+
filenames.map! { |f| f.sub(@target.source_root + '/', '') }
|
24
|
+
filenames.reject! { |f| f =~ /^(apps|frameworks|themes)/ }
|
25
|
+
|
26
|
+
entries = @manifest.entries.dup # get entries to test...
|
27
|
+
filenames.each do |filename|
|
28
|
+
entry = entries.find { |e| e.filename == filename }
|
29
|
+
if entry.nil?
|
30
|
+
nil.should == filename # oops! not found...
|
31
|
+
else
|
32
|
+
entry.filename.should == filename
|
33
|
+
entry.build_task.should == 'build:copy'
|
34
|
+
entry.build_path.should == File.join(@manifest.build_root, filename)
|
35
|
+
entry.staging_path.should == File.join(@manifest.source_root, filename)
|
36
|
+
entry.source_path.should == entry.staging_path
|
37
|
+
entry.url.should == [@manifest.url_root, filename] * '/'
|
38
|
+
entry.should_not be_hidden
|
39
|
+
entry.original?.should be_true # mark as original entry
|
40
|
+
end
|
41
|
+
|
42
|
+
(entry.nil? ? nil : entry.filename).should == filename
|
43
|
+
entries.delete entry
|
44
|
+
end
|
45
|
+
entries.size.should == 0
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,125 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
|
3
|
+
describe "manifest:hide_buildfiles" do
|
4
|
+
|
5
|
+
include SC::SpecHelpers
|
6
|
+
include SC::ManifestSpecHelpers
|
7
|
+
|
8
|
+
before do
|
9
|
+
std_before
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
def run_task
|
14
|
+
@manifest.prepare!
|
15
|
+
super('manifest:hide_buildfiles')
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should run manifest:catalog first" do
|
19
|
+
should_run('manifest:catalog') { run_task }
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should hide any Buildfile, sc-config, or sc-config.rb" do
|
23
|
+
run_task
|
24
|
+
entry_for('Buildfile').hidden?.should be_true
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should hide any non .js file outside of .lproj, test, fixture, & debug dirs" do
|
28
|
+
run_task
|
29
|
+
entry_for('README').hidden?.should be_true
|
30
|
+
entry_for('lib/index.html').hidden?.should be_true
|
31
|
+
|
32
|
+
entry_for('tests/sample.rhtml').hidden?.should be_false
|
33
|
+
entry_for('english.lproj/demo.html').hidden?.should be_false
|
34
|
+
entry_for('fixtures/sample-json-fixture.json').hidden?.should be_false
|
35
|
+
entry_for('debug/debug-resource.html').hidden?.should be_false
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should NOT hide non-js files inslide lproj dirs" do
|
39
|
+
run_task
|
40
|
+
entry = entry_for('english.lproj/demo.html')
|
41
|
+
entry.should_not be_hidden
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "CONFIG.load_fixtures" do
|
45
|
+
|
46
|
+
it "should hide files in /fixtures and /*.lproj/fixtures if CONFIG.load_fixtures is false" do
|
47
|
+
@target.config.load_fixtures = false
|
48
|
+
run_task
|
49
|
+
entry = entry_for('fixtures/sample_fixtures.js')
|
50
|
+
entry.should be_hidden
|
51
|
+
entry = entry_for('english.lproj/fixtures/sample_fixtures-loc.js')
|
52
|
+
entry.should be_hidden
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should NOT hide files in /fixtures and /*.lproj/fixtures if CONFIG.load_fixtures is true" do
|
56
|
+
@target.config.load_fixtures = true
|
57
|
+
run_task
|
58
|
+
entry = entry_for('fixtures/sample_fixtures.js')
|
59
|
+
entry.should_not be_hidden
|
60
|
+
entry = entry_for('english.lproj/fixtures/sample_fixtures-loc.js')
|
61
|
+
entry.should_not be_hidden
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe "CONFIG.load_debug" do
|
66
|
+
it "should hide files in /debug and /*.lproj/debug if CONFIG.load_debug is false" do
|
67
|
+
@target.config.load_debug = false
|
68
|
+
run_task
|
69
|
+
entry = entry_for('debug/sample_debug.js')
|
70
|
+
entry.should be_hidden
|
71
|
+
entry = entry_for('english.lproj/debug/sample_debug-loc.js')
|
72
|
+
entry.should be_hidden
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should NOT hide files in /debug and /*.lproj/debug if CONFIG.load_fixtures is true" do
|
76
|
+
@target.config.load_debug = true
|
77
|
+
run_task
|
78
|
+
entry = entry_for('debug/sample_debug.js')
|
79
|
+
entry.should_not be_hidden
|
80
|
+
entry = entry_for('english.lproj/debug/sample_debug-loc.js')
|
81
|
+
entry.should_not be_hidden
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe "CONFIG.load_tests" do
|
86
|
+
it "should hide files in /tests and /*.lproj/tests if CONFIG.load_tests is false" do
|
87
|
+
@target.config.load_tests = false
|
88
|
+
run_task
|
89
|
+
entry = entry_for('tests/sample.js')
|
90
|
+
entry.should be_hidden
|
91
|
+
entry = entry_for('english.lproj/tests/sample-loc.js')
|
92
|
+
entry.should be_hidden
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should NOT hide files in /tests and /*.lproj/tests if CONFIG.load_tests is true" do
|
96
|
+
@target.config.load_tests = true
|
97
|
+
run_task
|
98
|
+
entry = entry_for('tests/sample.js')
|
99
|
+
entry.should_not be_hidden
|
100
|
+
entry = entry_for('english.lproj/tests/sample-loc.js')
|
101
|
+
entry.should_not be_hidden
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
describe "CONFIG.load_protocols" do
|
106
|
+
it "should hide files in /protocols and /*.lproj/protocols if config is false" do
|
107
|
+
@target.config.load_protocols = false
|
108
|
+
run_task
|
109
|
+
entry = entry_for('protocols/sample.js')
|
110
|
+
entry.should be_hidden
|
111
|
+
entry = entry_for('english.lproj/protocols/sample-loc.js')
|
112
|
+
entry.should be_hidden
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should NOT hide files in /protocols and /*.lproj/protocols if config is true" do
|
116
|
+
@target.config.load_protocols = true
|
117
|
+
run_task
|
118
|
+
entry = entry_for('protocols/sample.js')
|
119
|
+
entry.should_not be_hidden
|
120
|
+
entry = entry_for('english.lproj/protocols/sample-loc.js')
|
121
|
+
entry.should_not be_hidden
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
|
3
|
+
describe "manifest:localize" 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:localize')
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should run manifest:catalog && hide_buildfiles as prereq" do
|
18
|
+
should_run('manifest:catalog') { run_task }
|
19
|
+
should_run('manifest:hide_buildfiles') { run_task }
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should not alter non-localized files" do
|
23
|
+
run_task
|
24
|
+
entry = entry_for('core.js')
|
25
|
+
entry.should_not be_nil
|
26
|
+
entry.should_not be_hidden
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should mark all entries with localized? = true" do
|
30
|
+
run_task
|
31
|
+
@manifest.entries.each do |entry|
|
32
|
+
if entry.source_path =~ /\.lproj/
|
33
|
+
entry.localized?.should be_true
|
34
|
+
else
|
35
|
+
entry.localized?.should_not be_true
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should remove foo.lproj from filename, build_path, and url of localized except for css and js files, which get 'lproj' instead" do
|
41
|
+
run_task
|
42
|
+
@manifest.entries.each do |entry|
|
43
|
+
next unless entry.localized?
|
44
|
+
new_filename = entry.source_path.match(/\.lproj\/(.+)$/).to_a[1]
|
45
|
+
if entry.ext == 'js'
|
46
|
+
new_filename = "lproj/#{new_filename}"
|
47
|
+
end
|
48
|
+
|
49
|
+
entry.filename.should eql(new_filename)
|
50
|
+
entry.build_path = File.join(@manifest.build_root, new_filename.split('/'))
|
51
|
+
entry.url = [@manifest.url_root, new_filename.split('/')].flatten.join('/')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should assign language to localized entries" do
|
56
|
+
run_task
|
57
|
+
# we just test this by spot checking to make sure any entry in the
|
58
|
+
# french.lproj actually has a french language code assigned...
|
59
|
+
@manifest.entries.each do |entry|
|
60
|
+
next unless entry.localize? && (entry.source_path =~ /french\.lproj/)
|
61
|
+
entry.language.should eql(:fr)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should not hide resources in current language" do
|
66
|
+
run_task
|
67
|
+
entry = entry_for('lproj/french-resource.js')
|
68
|
+
entry.localized?.should be_true
|
69
|
+
entry.should_not be_hidden
|
70
|
+
entry.language.should eql(:fr)
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should not hide resource in preferred language that are not also found in current language" do
|
74
|
+
run_task
|
75
|
+
entry = entry_for('demo.html')
|
76
|
+
entry.localized?.should be_true
|
77
|
+
entry.language.should eql(:en)
|
78
|
+
entry.should_not be_hidden
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should prefer resource in current language over those in preferred language" do
|
82
|
+
run_task
|
83
|
+
# a 'strings.js' is defined in english.lproj, french.lproj, & german
|
84
|
+
# this should use the french version since that one is current
|
85
|
+
entry = @manifest.entry_for('lproj/strings.js')
|
86
|
+
entry.localized?.should be_true
|
87
|
+
entry.should_not be_hidden
|
88
|
+
entry.language.should eql(:fr)
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should hide resources in languages not part of current language or preferred language" do
|
92
|
+
run_task
|
93
|
+
entry = entry_for('lproj/german-resource.js')
|
94
|
+
entry.should be_hidden
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
@@ -0,0 +1,246 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w(.. spec_helper))
|
2
|
+
|
3
|
+
# Creates combined entries for javascript & css
|
4
|
+
describe "manifest:prepare_build_tasks:combine" 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:combine')
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should run setup, javascript, css, & sass as prereq" do
|
22
|
+
%w(setup javascript css sass).each do |task_name|
|
23
|
+
should_run("manifest:prepare_build_tasks:#{task_name}") { run_task }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
#######################################
|
28
|
+
# stylesheet.css support
|
29
|
+
#
|
30
|
+
describe "whem CONFIG.combine_stylesheets = true" do
|
31
|
+
|
32
|
+
before do
|
33
|
+
@config.combine_stylesheets = true
|
34
|
+
run_task
|
35
|
+
end
|
36
|
+
|
37
|
+
it "creates a combined stylesheet entry for each resource named in files" do
|
38
|
+
# spot check...
|
39
|
+
entry = entry_for 'stylesheet.css'
|
40
|
+
expected = entry_for('source/has_require.css', :entry_type => :css)
|
41
|
+
entry.source_entries.should include(expected)
|
42
|
+
|
43
|
+
expected = entry_for('source/no_require.css', :entry_type => :css)
|
44
|
+
entry.source_entries.should include(expected)
|
45
|
+
|
46
|
+
# Test that sass file is included...
|
47
|
+
expected = entry_for('source/demo2.css', :entry_type => :css)
|
48
|
+
entry.source_entries.should include(expected)
|
49
|
+
|
50
|
+
entry = entry_for 'bar.css'
|
51
|
+
expected = entry_for('source/sc_resource.css', :entry_type => :css)
|
52
|
+
entry.source_entries.should include(expected)
|
53
|
+
end
|
54
|
+
|
55
|
+
it "entries have a build_task = build:combine:css" do
|
56
|
+
entry_for('stylesheet.css').build_task.should == 'build:combine'
|
57
|
+
entry_for('bar.css').build_task.should == 'build:combine'
|
58
|
+
end
|
59
|
+
|
60
|
+
it "hides source entries" do
|
61
|
+
%w(stylesheet.css bar.css).each do |filename|
|
62
|
+
entry_for(filename).source_entries.each do |entry|
|
63
|
+
entry.should be_hidden
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
describe "adds ENTRY.ordered_entries propery with entries following load order" do
|
70
|
+
|
71
|
+
before do
|
72
|
+
@project = fixture_project :ordered_entries
|
73
|
+
end
|
74
|
+
|
75
|
+
it "orders entries as lproj/strings -> core -> utils -> others alphabetically without requires" do
|
76
|
+
|
77
|
+
@target = @project.target_for :no_requires
|
78
|
+
@buildfile = @target.buildfile
|
79
|
+
@config = @target.config
|
80
|
+
@manifest = @target.manifest_for(:language => :en)
|
81
|
+
@target.prepare! # make sure its ready for the manifest...
|
82
|
+
|
83
|
+
run_task
|
84
|
+
entry = @manifest.entry_for('stylesheet.css')
|
85
|
+
|
86
|
+
# get the expected set of ordered entries...based on contents of
|
87
|
+
# project...
|
88
|
+
expected = %w(source/a.css source/a/a.css source/a/b.css source/B.css source/b/a.css source/c.css)
|
89
|
+
|
90
|
+
entry.ordered_entries.should_not be_nil
|
91
|
+
filenames = entry.ordered_entries.map { |e| e.filename }
|
92
|
+
filenames.should eql(expected)
|
93
|
+
end
|
94
|
+
|
95
|
+
it "will override default order respecting ENTRY.required" do
|
96
|
+
|
97
|
+
@target = @project.target_for :with_requires
|
98
|
+
@buildfile = @target.buildfile
|
99
|
+
@config = @target.config
|
100
|
+
@manifest = @target.manifest_for(:language => :en)
|
101
|
+
@target.prepare! # make sure its ready for the manifest...
|
102
|
+
|
103
|
+
run_task
|
104
|
+
entry = @manifest.entry_for('stylesheet.css')
|
105
|
+
|
106
|
+
# get the expected set of ordered entries...based on contents of
|
107
|
+
# project...
|
108
|
+
expected = %w(source/c.css source/a.css source/b.css)
|
109
|
+
|
110
|
+
entry.ordered_entries.should_not be_nil
|
111
|
+
filenames = entry.ordered_entries.map { |e| e.filename }
|
112
|
+
filenames.should eql(expected)
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
|
119
|
+
describe "when CONFIG.combine_stylesheets = false" do
|
120
|
+
|
121
|
+
before do
|
122
|
+
@config.combine_stylesheets = false
|
123
|
+
run_task
|
124
|
+
end
|
125
|
+
|
126
|
+
it "still creates combined CSS entry" do
|
127
|
+
entry = entry_for('stylesheet.css')
|
128
|
+
entry.should_not be_nil
|
129
|
+
end
|
130
|
+
|
131
|
+
it "does not hide source CSS entries" do
|
132
|
+
entry = entry_for('stylesheet.css')
|
133
|
+
entry.should_not be_nil
|
134
|
+
entry.source_entries.each { |entry| entry.should_not be_hidden }
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
#######################################
|
139
|
+
# javascript.js support
|
140
|
+
#
|
141
|
+
|
142
|
+
describe "whem CONFIG.combine_javascript = true" do
|
143
|
+
|
144
|
+
before do
|
145
|
+
@config.combine_javascript = true
|
146
|
+
run_task
|
147
|
+
end
|
148
|
+
|
149
|
+
it "creates a combined JS entry for each resource named in files" do
|
150
|
+
# spot check...
|
151
|
+
entry = entry_for 'javascript.js'
|
152
|
+
expected = entry_for('source/has_require.js', :entry_type => :javascript)
|
153
|
+
entry.source_entries.should include(expected)
|
154
|
+
|
155
|
+
expected = entry_for('source/no_require.js', :entry_type => :javascript)
|
156
|
+
entry.source_entries.should include(expected)
|
157
|
+
|
158
|
+
entry = entry_for 'bar.js'
|
159
|
+
expected = entry_for('source/sc_resource.js', :entry_type => :javascript)
|
160
|
+
entry.source_entries.should include(expected)
|
161
|
+
end
|
162
|
+
|
163
|
+
it "entries have a build_task = build:combine:javascript" do
|
164
|
+
%w(javascript.js bar.js).each do |filename|
|
165
|
+
entry_for(filename).build_task.should == 'build:combine'
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
it "hides source entries" do
|
170
|
+
%w(javascript.js bar.js).each do |filename|
|
171
|
+
entry_for(filename).source_entries.each do |entry|
|
172
|
+
entry.should be_hidden
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
describe "adds ENTRY.ordered_entries propery with entries following load order" do
|
178
|
+
|
179
|
+
before do
|
180
|
+
@project = fixture_project :ordered_entries
|
181
|
+
end
|
182
|
+
|
183
|
+
it "orders entries as lproj/strings -> core -> utils -> others alphabetically without requires" do
|
184
|
+
|
185
|
+
@target = @project.target_for :no_requires
|
186
|
+
@buildfile = @target.buildfile
|
187
|
+
@config = @target.config
|
188
|
+
@manifest = @target.manifest_for(:language => :en)
|
189
|
+
@target.prepare! # make sure its ready for the manifest...
|
190
|
+
|
191
|
+
run_task
|
192
|
+
entry = @manifest.entry_for('javascript.js')
|
193
|
+
|
194
|
+
# get the expected set of ordered entries...based on contents of
|
195
|
+
# project...
|
196
|
+
expected = %w(source/lproj/strings.js source/core.js source/utils.js source/1.js source/a.js source/a/a.js source/a/b.js source/B.js source/b/a.js source/c.js)
|
197
|
+
|
198
|
+
entry.ordered_entries.should_not be_nil
|
199
|
+
filenames = entry.ordered_entries.map { |e| e.filename }
|
200
|
+
filenames.should eql(expected)
|
201
|
+
end
|
202
|
+
|
203
|
+
it "will override default order respecting ENTRY.required" do
|
204
|
+
|
205
|
+
@target = @project.target_for :with_requires
|
206
|
+
@buildfile = @target.buildfile
|
207
|
+
@config = @target.config
|
208
|
+
@manifest = @target.manifest_for(:language => :en)
|
209
|
+
@target.prepare! # make sure its ready for the manifest...
|
210
|
+
|
211
|
+
run_task
|
212
|
+
entry = @manifest.entry_for('javascript.js')
|
213
|
+
|
214
|
+
# get the expected set of ordered entries...based on contents of
|
215
|
+
# project... note that we require 'd', which should match 'lproj/d'
|
216
|
+
expected = %w(source/c.js source/a.js source/lproj/d.js source/b.js)
|
217
|
+
|
218
|
+
entry.ordered_entries.should_not be_nil
|
219
|
+
filenames = entry.ordered_entries.map { |e| e.filename }
|
220
|
+
filenames.should eql(expected)
|
221
|
+
end
|
222
|
+
|
223
|
+
end
|
224
|
+
|
225
|
+
end
|
226
|
+
|
227
|
+
describe "when CONFIG.combine_javascript = false" do
|
228
|
+
|
229
|
+
before do
|
230
|
+
@config.combine_javascript = false
|
231
|
+
run_task
|
232
|
+
end
|
233
|
+
|
234
|
+
it "still creates combined JS entry" do
|
235
|
+
entry = entry_for('javascript.js')
|
236
|
+
entry.should_not be_nil
|
237
|
+
end
|
238
|
+
|
239
|
+
it "does not hide source JS entries" do
|
240
|
+
entry = entry_for('javascript.js')
|
241
|
+
entry.should_not be_nil
|
242
|
+
entry.source_entries.each { |entry| entry.should_not be_hidden }
|
243
|
+
end
|
244
|
+
end
|
245
|
+
|
246
|
+
end
|