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,81 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
describe SC::Builder::JavaScript do
|
3
|
+
|
4
|
+
include SC::SpecHelpers
|
5
|
+
include SC::BuilderSpecHelper
|
6
|
+
|
7
|
+
before do
|
8
|
+
std_before :javascript_test
|
9
|
+
|
10
|
+
# add fake image entry for sc_static tests..
|
11
|
+
@manifest.add_entry 'icons/image.png'
|
12
|
+
@target.config.timestamp_urls = false
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
after do
|
17
|
+
std_after
|
18
|
+
end
|
19
|
+
|
20
|
+
def run_builder(filename, localize=false)
|
21
|
+
super(filename) do |entry, dst_path|
|
22
|
+
entry[:localized] = true if localize
|
23
|
+
SC::Builder::JavaScript.build(entry, dst_path)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it "converts calls to sc_super() => arguments.callee.base.apply()" do
|
28
|
+
lines = run_builder 'sc_super.js'
|
29
|
+
lines.each do |line|
|
30
|
+
next if line.size == 1
|
31
|
+
line.should_not =~ /sc_super\(/
|
32
|
+
line.should =~ /arguments.callee.base.apply\(this,arguments\)/
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
it "converts static_url() and sc_static() => 'url('foo')' " do
|
37
|
+
lines = run_builder 'sc_static.js'
|
38
|
+
lines.each do |line|
|
39
|
+
next if line.size == 1
|
40
|
+
line.should_not =~ /(static_url|sc_static)/
|
41
|
+
line.should =~ /'.+'/ # important MUST have some url...
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
it "static_url() and sc_static() respect timestamp_urls" do
|
46
|
+
@target.config.timestamp_urls = false
|
47
|
+
lines = run_builder 'sc_static.js'
|
48
|
+
lines.each do |line|
|
49
|
+
next if line.size == 1
|
50
|
+
line.should_not =~ /'.+\?.+'/ # important MUST NOT have some url w/ timestamp...
|
51
|
+
end
|
52
|
+
|
53
|
+
@target.config.timestamp_urls = true
|
54
|
+
lines = run_builder 'sc_static.js'
|
55
|
+
lines.each do |line|
|
56
|
+
next if line.size == 1
|
57
|
+
line.should =~ /'.+\?.+'/ # important MUST have some url w/ timestamp...
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
it "removes server-side keys from localized strings.js files" do
|
62
|
+
lines = run_builder 'strings.js', true
|
63
|
+
@entry.should be_localized
|
64
|
+
lines.each do |line|
|
65
|
+
next if line.size == 1 # skip empty lines
|
66
|
+
line.should_not =~ /@@foo/ # make sure key is removed...
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should not remove server-side keys from strings.js files that are not found in an .lproj (i.e. not localized)" do
|
71
|
+
lines = run_builder 'strings.js', false # <-- NOT localized.
|
72
|
+
@entry.should_not be_localized
|
73
|
+
lines.each do |line|
|
74
|
+
next if line.size == 1 # skip empty lines
|
75
|
+
next if line =~ /\s*\/\// # skip comment lines
|
76
|
+
line.should =~ /@@foo/ # make sure key is NOT removed...
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
|
3
|
+
# If sass is not installed, just skip these.
|
4
|
+
has_sass = true
|
5
|
+
begin
|
6
|
+
require 'sass'
|
7
|
+
|
8
|
+
rescue Exception => e
|
9
|
+
puts "WARNING: Skipping SC::Builder::Sass tests because sass is not installed. Run 'sudo gem install haml' first and try again."
|
10
|
+
has_sass = false
|
11
|
+
end
|
12
|
+
|
13
|
+
if has_sass
|
14
|
+
describe SC::Builder::Sass do
|
15
|
+
|
16
|
+
include SC::SpecHelpers
|
17
|
+
include SC::BuilderSpecHelper
|
18
|
+
|
19
|
+
before do
|
20
|
+
std_before :sass_test
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
after do
|
25
|
+
std_after
|
26
|
+
end
|
27
|
+
|
28
|
+
def run_builder(filename)
|
29
|
+
super do |entry, dst_path|
|
30
|
+
SC::Builder::Sass.build(entry, dst_path)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should build a sass file" do
|
35
|
+
lines = run_builder('sample.sass')
|
36
|
+
lines = lines.join('').gsub("\n",'') # strip newlines to make compare easy
|
37
|
+
|
38
|
+
# just verify that output looks like the CSS we expect
|
39
|
+
lines.should =~ /\#main\s+p.+\{.+color.+width.+\}/
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
|
2
|
+
|
3
|
+
module SC::BuilderSpecHelper
|
4
|
+
|
5
|
+
def std_before(target_name)
|
6
|
+
@project = temp_project :builder_tests
|
7
|
+
@target = @project.target_for target_name
|
8
|
+
@manifest = @target.manifest_for :language => :en
|
9
|
+
@manifest.prepare!
|
10
|
+
end
|
11
|
+
|
12
|
+
def std_after
|
13
|
+
@project.cleanup
|
14
|
+
end
|
15
|
+
|
16
|
+
def run_builder(filename, &block)
|
17
|
+
@entry = @manifest.add_entry filename # basic entry...
|
18
|
+
@dst_path = @entry.build_path
|
19
|
+
File.exist?(@entry.source_path).should be_true # precondition
|
20
|
+
|
21
|
+
# Invoke builder
|
22
|
+
yield(@entry, @dst_path)
|
23
|
+
|
24
|
+
lines = File.readlines(@dst_path)
|
25
|
+
lines.size.should > 0 # make sure something built
|
26
|
+
return lines
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
describe SC::Builder::Strings do
|
3
|
+
|
4
|
+
include SC::SpecHelpers
|
5
|
+
include SC::BuilderSpecHelper
|
6
|
+
|
7
|
+
before do
|
8
|
+
std_before :strings_test
|
9
|
+
|
10
|
+
# add fake strings entry
|
11
|
+
@source_entry = @manifest.add_entry 'lproj/strings.js',
|
12
|
+
:build_task => 'build:copy'
|
13
|
+
|
14
|
+
@entry = @manifest.add_transform @source_entry,
|
15
|
+
:ext => 'yaml',
|
16
|
+
:entry_type => :yaml,
|
17
|
+
:build_task => 'build:strings'
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
after do
|
23
|
+
std_after
|
24
|
+
end
|
25
|
+
|
26
|
+
# Note, the string.js fixture file this test loads should stress the
|
27
|
+
# builder to make sure it can parse various cases.
|
28
|
+
it "generates a yaml file with contents of string.js parsed into a hash" do
|
29
|
+
dst_path = @entry.staging_path
|
30
|
+
SC::Builder::Strings.build(@entry, dst_path)
|
31
|
+
File.exist?(dst_path).should be_true
|
32
|
+
|
33
|
+
# get YAML
|
34
|
+
require 'yaml'
|
35
|
+
yaml = YAML.load(File.read(dst_path))
|
36
|
+
yaml.should_not be_nil
|
37
|
+
|
38
|
+
expected = {
|
39
|
+
'test1' => "test1",
|
40
|
+
'test2' => 'test2 "with quotes"',
|
41
|
+
'test3' => "test3",
|
42
|
+
"test4" => 'test4'
|
43
|
+
}
|
44
|
+
yaml.keys.size.should == expected.keys.size
|
45
|
+
expected.each do |key, value|
|
46
|
+
yaml[key].should == value
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
describe SC::Builder::Stylesheet do
|
3
|
+
|
4
|
+
include SC::SpecHelpers
|
5
|
+
include SC::BuilderSpecHelper
|
6
|
+
|
7
|
+
before do
|
8
|
+
std_before :stylesheet_test
|
9
|
+
|
10
|
+
# add fake image entry for sc_static tests..
|
11
|
+
@manifest.add_entry 'icons/image.png'
|
12
|
+
@target.config.timestamp_urls = false
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
after do
|
17
|
+
std_after
|
18
|
+
end
|
19
|
+
|
20
|
+
def run_builder(filename)
|
21
|
+
super do |entry, dst_path|
|
22
|
+
SC::Builder::Stylesheet.build(entry, dst_path)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# This test passes a test fixture file through the builder that contains
|
27
|
+
# examples of all the different ways these directives might appear in a
|
28
|
+
# file to try to trip up the regex. If you find additional examples that
|
29
|
+
# cause problems, add them to the fixture file so that this test breaks.
|
30
|
+
it "wraps require(), sc_require(), & sc_resource() in comments" do
|
31
|
+
lines = run_builder 'build_directives.css'
|
32
|
+
lines.each do |line|
|
33
|
+
next if line.size == 1
|
34
|
+
line.should =~ /\/\*.+(require|sc_require|sc_resource).+\*\//
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it "converts static_url() and sc_static() => 'url('foo')' " do
|
39
|
+
lines = run_builder 'sc_static.css'
|
40
|
+
lines.each do |line|
|
41
|
+
next if line.size == 1
|
42
|
+
line.should_not =~ /(static_url|sc_static)/
|
43
|
+
line.should =~ /url\('.+'\)/ # important MUST have some url...
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it "static_url() and sc_static() respects config.timestamp_urls" do
|
48
|
+
@target.config.timestamp_urls = false
|
49
|
+
lines = run_builder 'sc_static.css'
|
50
|
+
lines.each do |line|
|
51
|
+
next if line.size == 1
|
52
|
+
line.should_not =~ /url\('.+\?.+'\)/ # important MUST have some url...
|
53
|
+
end
|
54
|
+
|
55
|
+
@target.config.timestamp_urls = true
|
56
|
+
lines = run_builder 'sc_static.css'
|
57
|
+
lines.each do |line|
|
58
|
+
next if line.size == 1
|
59
|
+
line.should =~ /url\('.+\?.+'\)/ # important MUST have some url...
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
describe SC::Builder::Test do
|
3
|
+
|
4
|
+
include SC::SpecHelpers
|
5
|
+
include SC::BuilderSpecHelper
|
6
|
+
|
7
|
+
before do
|
8
|
+
std_before :test_test
|
9
|
+
|
10
|
+
# run std rules to run manifest. Then verify preconditions to make sure
|
11
|
+
# no other changes to the build system effect the ability of these tests
|
12
|
+
# to run properly.
|
13
|
+
@manifest.build!
|
14
|
+
@qunit_entry = @manifest.entry_for('tests/qunit_test.html')
|
15
|
+
@rhtml_entry = @manifest.entry_for('tests/rhtml_test.html')
|
16
|
+
@index_entry = @manifest.entry_for('tests/-index.json')
|
17
|
+
end
|
18
|
+
|
19
|
+
after do
|
20
|
+
std_after
|
21
|
+
end
|
22
|
+
|
23
|
+
it "VERIFY PRECONDITIONS" do
|
24
|
+
# Verify qunit entry -- should have qunit_test.js entry
|
25
|
+
@index_entry.should_not be_nil
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should generate json with entries for both qunit & rhtml entry" do
|
29
|
+
dst_path = @index_entry.build_path
|
30
|
+
SC::Builder::TestIndex.build(@index_entry, dst_path)
|
31
|
+
|
32
|
+
require 'json'
|
33
|
+
File.exist?(dst_path).should be_true
|
34
|
+
result = JSON.parse(File.read(dst_path))
|
35
|
+
result.size.should == 3 #qunit_test, rhtml_test, qunit_test2
|
36
|
+
result.each do |item|
|
37
|
+
next if item['filename'] =~ /qunit_test2/
|
38
|
+
entry = (item['filename'] =~ /qunit_test/) ? @qunit_entry : @rhtml_entry
|
39
|
+
item['filename'].should == entry.filename.ext('')
|
40
|
+
item['url'].should == entry.url
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,135 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
+
describe SC::Builder::Test do
|
3
|
+
|
4
|
+
include SC::SpecHelpers
|
5
|
+
include SC::BuilderSpecHelper
|
6
|
+
|
7
|
+
before do
|
8
|
+
std_before :test_test
|
9
|
+
|
10
|
+
# run std rules to run manifest. Then verify preconditions to make sure
|
11
|
+
# no other changes to the build system effect the ability of these tests
|
12
|
+
# to run properly.
|
13
|
+
@manifest.build!
|
14
|
+
@qunit_entry = @manifest.entry_for('tests/qunit_test.html')
|
15
|
+
@rhtml_entry = @manifest.entry_for('tests/rhtml_test.html')
|
16
|
+
@summary_entry = @manifest.entry_for('tests.html')
|
17
|
+
end
|
18
|
+
|
19
|
+
after do
|
20
|
+
std_after
|
21
|
+
end
|
22
|
+
|
23
|
+
it "VERIFY PRECONDITIONS" do
|
24
|
+
# Verify qunit entry -- should have qunit_test.js entry
|
25
|
+
@qunit_entry.should_not be_nil
|
26
|
+
entry_names = @qunit_entry.source_entries.map { |e| e.filename }.sort
|
27
|
+
entry_names.should == %w(tests/qunit_test.js)
|
28
|
+
|
29
|
+
# Verify bar entry - should have 1 entry
|
30
|
+
@rhtml_entry.should_not be_nil
|
31
|
+
entry_names = @rhtml_entry.source_entries.map { |e| e.filename }.sort
|
32
|
+
entry_names.should == %w(tests/rhtml_test.rhtml)
|
33
|
+
|
34
|
+
# Verify summary entry - should have both bar & qunit & qunit2
|
35
|
+
@summary_entry.should_not be_nil
|
36
|
+
entry_names = @summary_entry.source_entries.map { |e| e.filename }.sort
|
37
|
+
entry_names.should == %w(tests/qunit_test.js tests/qunit_test2.js tests/rhtml_test.rhtml)
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "adding test_required frameworks urls" do
|
41
|
+
|
42
|
+
before do
|
43
|
+
@builder = SC::Builder::Test.new(@qunit_entry)
|
44
|
+
end
|
45
|
+
|
46
|
+
it "add stylesheets for test" do
|
47
|
+
# figure expected urls...
|
48
|
+
t = @project.target_for(:qunit)
|
49
|
+
url = t.manifest_for(:language => :en).build!.entry_for('stylesheet.css').url
|
50
|
+
url = /#{Regexp.escape url}/
|
51
|
+
|
52
|
+
@target.config.combine_stylesheets = true
|
53
|
+
@target.config.load_test = true
|
54
|
+
result = @builder.stylesheets_for_client
|
55
|
+
result.should =~ url
|
56
|
+
|
57
|
+
# also works for @import
|
58
|
+
result = @builder.stylesheets_for_client(:include_method => :import)
|
59
|
+
result.should =~ url
|
60
|
+
end
|
61
|
+
|
62
|
+
it "adds javascript for test" do
|
63
|
+
# figure expected urls...
|
64
|
+
t = @project.target_for(:qunit)
|
65
|
+
url = t.manifest_for(:language => :en).build!.entry_for('javascript.js').url
|
66
|
+
url = /#{Regexp.escape url}/
|
67
|
+
|
68
|
+
@target.config.combine_javascript = true
|
69
|
+
@target.config.load_test = true
|
70
|
+
result = @builder.javascripts_for_client
|
71
|
+
result.should =~ url
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
describe "layout_path" do
|
77
|
+
|
78
|
+
before do
|
79
|
+
@builder = SC::Builder::Test.new(@qunit_entry)
|
80
|
+
end
|
81
|
+
|
82
|
+
it "initially resolves layout_path using test_layout config for target" do
|
83
|
+
# see the Buildfile for the fixture project to see this config.
|
84
|
+
@builder.layout_path.should == File.join(@project.project_root, %w(apps test_test lib test_layout.rhtml))
|
85
|
+
end
|
86
|
+
|
87
|
+
it "changes its resolved path if you alter the layout variable" do
|
88
|
+
# use helper method...
|
89
|
+
@builder.sc_resource(:layout => 'lib/alt_layout.rhtml')
|
90
|
+
@builder.layout_path.should == File.join(@project.project_root, %w(apps test_test lib alt_layout.rhtml))
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
describe "render a js entry" do
|
97
|
+
|
98
|
+
it "should render html including JS inside a script tag for final content" do
|
99
|
+
result = SC::Builder::Test.new(@qunit_entry).render
|
100
|
+
result.should =~ /layout/ # verify rendered layout
|
101
|
+
result.should =~ /\<script.*\>.*qunit_test.*\<\/script\>/m # verify js
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
105
|
+
|
106
|
+
describe "render a rhtml entry" do
|
107
|
+
|
108
|
+
it "should render html including final content and resource content" do
|
109
|
+
result = SC::Builder::Test.new(@rhtml_entry).render
|
110
|
+
result.should =~ /layout/ # verify rendered layout
|
111
|
+
result.should =~ /final_test/
|
112
|
+
result.should_not =~ /resources_test/ # resources div no longer included
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
|
117
|
+
describe "render a summary entry" do
|
118
|
+
|
119
|
+
it "should render composite with both sets of unit tests" do
|
120
|
+
result = SC::Builder::Test.new(@summary_entry).render
|
121
|
+
result.should =~ /layout/ # verify rendered layout
|
122
|
+
result.should =~ /\<script.*\>.*qunit_test.*\<\/script\>/m # verify js1
|
123
|
+
result.should =~ /\<script.*\>.*qunit_test2.*\<\/script\>/m # verify js2
|
124
|
+
result.should =~ /final_test/
|
125
|
+
result.should_not =~ /resources_test/ # resources div no longer included
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
129
|
+
|
130
|
+
it "should import the standard html API" do
|
131
|
+
modules = SC::Builder::Test.included_modules
|
132
|
+
modules.should include(SC::Helpers::StaticHelper)
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|