radiantcms-couchrest_model 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +0 -16
- data/CONTRIBUTORS +0 -7
- data/README +84 -2
- data/app/controllers/admin/export_controller.rb +5 -0
- data/app/controllers/admin/pages_controller.rb +7 -11
- data/app/controllers/admin/preferences_controller.rb +1 -1
- data/app/controllers/admin/resource_controller.rb +1 -1
- data/app/helpers/admin/pages_helper.rb +3 -1
- data/app/helpers/admin/preferences_helper.rb +0 -1
- data/app/helpers/admin/references_helper.rb +2 -1
- data/app/helpers/application_helper.rb +2 -4
- data/app/models/env_dump_page.rb +17 -0
- data/app/models/file_not_found_page.rb +0 -4
- data/app/models/page.rb +20 -61
- data/app/models/radiant/config.rb +37 -225
- data/app/models/radiant/exporter.rb +11 -0
- data/app/models/standard_tags.rb +108 -116
- data/app/models/status.rb +1 -9
- data/app/models/text_filter.rb +1 -12
- data/app/views/admin/extensions/index.html.haml +2 -2
- data/app/views/admin/layouts/index.html.haml +9 -9
- data/app/views/admin/pages/_fields.html.haml +4 -11
- data/app/views/admin/pages/_meta_row.html.haml +1 -5
- data/app/views/admin/pages/_node.html.haml +8 -8
- data/app/views/admin/pages/_popups.html.haml +1 -14
- data/app/views/admin/pages/index.html.haml +4 -4
- data/app/views/admin/snippets/_form.html.haml +1 -1
- data/app/views/admin/snippets/index.html.haml +10 -10
- data/app/views/admin/users/_avatar.html.haml +1 -3
- data/app/views/admin/users/_form.html.haml +2 -2
- data/app/views/admin/users/_password_fields.html.haml +2 -2
- data/app/views/admin/users/index.html.haml +10 -10
- data/app/views/layouts/application.html.haml +1 -1
- data/config/environment.rb +3 -5
- data/config/locales/en.yml +11 -48
- data/config/locales/en_available_tags.yml +34 -122
- data/config/routes.rb +6 -3
- data/db/schema.rb +3 -9
- data/db/templates/empty.yml +2 -0
- data/db/templates/roasters.yml +1210 -0
- data/db/templates/simple-blog.yml +197 -0
- data/db/templates/styled-blog.yml +472 -0
- data/features/admin/pages_management.feature +9 -2
- data/features/admin/resource_pagination.feature +1 -1
- data/features/admin/snippets_management.feature +1 -2
- data/features/admin/user_permissions.feature +1 -0
- data/features/admin/user_preferences.feature +1 -1
- data/features/step_definitions/admin/content_negotiation_steps.rb +0 -4
- data/features/step_definitions/admin/pagination_steps.rb +4 -2
- data/features/support/paths.rb +0 -2
- data/files +7283 -0
- data/lib/generators/extension/extension_generator.rb +0 -6
- data/lib/generators/extension/templates/README +1 -4
- data/lib/generators/extension/templates/RSpecRakefile +19 -0
- data/lib/generators/extension/templates/Rakefile +17 -0
- data/lib/generators/extension/templates/extension.rb +3 -3
- data/lib/generators/instance/instance_generator.rb +2 -3
- data/lib/generators/instance/templates/instance_environment.rb +2 -3
- data/lib/radiant.rb +2 -2
- data/lib/radiant/admin_ui.rb +11 -27
- data/lib/radiant/extension.rb +2 -8
- data/lib/radiant/extension_loader.rb +0 -4
- data/lib/radiant/initializer.rb +2 -46
- data/lib/radiant/setup.rb +11 -21
- data/lib/task_support.rb +8 -14
- data/lib/tasks/framework.rake +10 -17
- data/lib/tasks/prototype.rake +3 -3
- data/lib/tasks/release.rake +0 -1
- data/public/javascripts/admin/application.js +1 -1
- data/public/javascripts/admin/popup.js +7 -7
- data/public/javascripts/admin/tabcontrol.js +0 -1
- data/public/javascripts/admin/utility.js +2 -3
- data/public/stylesheets/admin/main.css +1213 -1
- data/public/stylesheets/admin/overrides.css +1 -0
- data/public/stylesheets/sass/admin/main.sass +20 -24
- data/public/stylesheets/sass/admin/modules/_links.sass +3 -6
- data/public/stylesheets/sass/admin/modules/_opacity.sass +2 -2
- data/public/stylesheets/sass/admin/modules/_rounded.sass +3 -3
- data/public/stylesheets/sass/admin/modules/_shadow.sass +2 -5
- data/public/stylesheets/sass/admin/partials/_actions.sass +38 -53
- data/public/stylesheets/sass/admin/partials/_avatars.sass +2 -2
- data/public/stylesheets/sass/admin/partials/_base.sass +58 -6
- data/public/stylesheets/sass/admin/partials/_content.sass +182 -10
- data/public/stylesheets/sass/admin/partials/_dateinput.sass +5 -5
- data/public/stylesheets/sass/admin/partials/_deprecated.sass +1 -1
- data/public/stylesheets/sass/admin/partials/_forms.sass +25 -26
- data/public/stylesheets/sass/admin/partials/_header.sass +9 -9
- data/public/stylesheets/sass/admin/partials/_popup.sass +1 -1
- data/public/stylesheets/sass/admin/partials/_tabcontrol.sass +3 -4
- data/radiantcms-couchrest_model.gemspec +3673 -0
- data/rerun.txt +1 -0
- data/spec/controllers/admin/export_controller_spec.rb +16 -0
- data/spec/controllers/admin/pages_controller_spec.rb +6 -35
- data/spec/controllers/admin/preferences_controller_spec.rb +1 -1
- data/spec/datasets/config_dataset.rb +0 -1
- data/spec/datasets/home_page_dataset.rb +3 -1
- data/spec/datasets/pages_dataset.rb +1 -1
- data/spec/fixtures/radiant_config.yml +2 -2
- data/spec/generators/extension_generator_spec.rb +8 -28
- data/spec/generators/instance_generator_spec.rb +3 -10
- data/spec/helpers/admin/node_helper_spec.rb +0 -1
- data/spec/helpers/admin/references_helper_spec.rb +1 -10
- data/spec/helpers/application_helper_spec.rb +2 -7
- data/spec/lib/radiant/admin_ui_spec.rb +10 -11
- data/spec/lib/radiant/extension_spec.rb +3 -3
- data/spec/lib/task_support_spec.rb +0 -6
- data/spec/models/env_dump_page_spec.rb +18 -0
- data/spec/models/file_not_found_page_spec.rb +11 -15
- data/spec/models/page_spec.rb +166 -209
- data/spec/models/radiant/config_spec.rb +3 -38
- data/spec/models/radiant/exporter_spec.rb +25 -0
- data/spec/models/standard_tags_spec.rb +142 -132
- data/spec/models/status_spec.rb +0 -11
- data/spec/models/text_filter_spec.rb +2 -6
- data/test/fixtures/extensions/basic/basic_extension.rb +6 -1
- data/vendor/extensions/archive/README +29 -0
- data/vendor/extensions/archive/Rakefile +120 -0
- data/vendor/extensions/archive/app/models/archive_day_index_page.rb +28 -0
- data/vendor/extensions/archive/app/models/archive_finder.rb +60 -0
- data/vendor/extensions/archive/app/models/archive_month_index_page.rb +28 -0
- data/vendor/extensions/archive/app/models/archive_page.rb +36 -0
- data/vendor/extensions/archive/app/models/archive_year_index_page.rb +28 -0
- data/vendor/extensions/archive/archive_extension.rb +19 -0
- data/vendor/extensions/archive/lib/archive_index_tags_and_methods.rb +57 -0
- data/vendor/extensions/archive/lib/tasks/archive_extension_tasks.rake +28 -0
- data/vendor/extensions/archive/spec/datasets/archive_dataset.rb +51 -0
- data/vendor/extensions/archive/spec/models/archive_day_index_page_spec.rb +20 -0
- data/vendor/extensions/archive/spec/models/archive_month_index_page_spec.rb +20 -0
- data/vendor/extensions/archive/spec/models/archive_page_spec.rb +33 -0
- data/vendor/extensions/archive/spec/models/archive_year_index_page_spec.rb +20 -0
- data/vendor/extensions/archive/spec/spec.opts +6 -0
- data/vendor/extensions/archive/spec/spec_helper.rb +36 -0
- data/vendor/extensions/archive/test/fixtures/pages.yml +397 -0
- data/vendor/extensions/archive/test/functional/archive_extension_test.rb +16 -0
- data/vendor/extensions/archive/test/helpers/archive_index_test_helper.rb +37 -0
- data/vendor/extensions/archive/test/test_helper.rb +26 -0
- data/vendor/extensions/archive/test/unit/archive_day_index_page_test.rb +22 -0
- data/vendor/extensions/archive/test/unit/archive_month_index_page_test.rb +22 -0
- data/vendor/extensions/archive/test/unit/archive_page_test.rb +40 -0
- data/vendor/extensions/archive/test/unit/archive_year_index_page_test.rb +22 -0
- data/vendor/extensions/dutch_language_pack/README +3 -0
- data/vendor/extensions/dutch_language_pack/Rakefile +123 -0
- data/vendor/extensions/dutch_language_pack/config/locales/nl.yml +187 -0
- data/vendor/extensions/dutch_language_pack/config/locales/nl_available_tags.yml +553 -0
- data/vendor/extensions/dutch_language_pack/dutch_language_pack_extension.rb +9 -0
- data/vendor/extensions/dutch_language_pack/lib/tasks/i18n_nl_extension_tasks.rake +28 -0
- data/vendor/extensions/french_language_pack/README +3 -0
- data/vendor/extensions/french_language_pack/Rakefile +123 -0
- data/vendor/extensions/french_language_pack/config/locales/fr.yml +190 -0
- data/vendor/extensions/french_language_pack/config/locales/fr_available_tags.yml +553 -0
- data/vendor/extensions/french_language_pack/french_language_pack_extension.rb +9 -0
- data/vendor/extensions/french_language_pack/lib/tasks/i18n_fr_extension_tasks.rake +28 -0
- data/vendor/extensions/german_language_pack/README +4 -0
- data/vendor/extensions/german_language_pack/Rakefile +123 -0
- data/vendor/extensions/german_language_pack/config/locales/de.yml +186 -0
- data/vendor/extensions/german_language_pack/config/locales/de_available_tags.yml +624 -0
- data/vendor/extensions/german_language_pack/german_language_pack_extension.rb +9 -0
- data/vendor/extensions/german_language_pack/lib/tasks/i18n_de_extension_tasks.rake +28 -0
- data/vendor/extensions/italian_language_pack/README +3 -0
- data/vendor/extensions/italian_language_pack/Rakefile +123 -0
- data/vendor/extensions/italian_language_pack/config/locales/it.yml +184 -0
- data/vendor/extensions/italian_language_pack/config/locales/it_available_tags.yml +553 -0
- data/vendor/extensions/italian_language_pack/italian_language_pack_extension.rb +8 -0
- data/vendor/extensions/italian_language_pack/lib/tasks/i18n_it_extension_tasks.rake +28 -0
- data/vendor/extensions/japanese_language_pack/README +3 -0
- data/vendor/extensions/japanese_language_pack/Rakefile +123 -0
- data/vendor/extensions/japanese_language_pack/config/locales/ja.yml +184 -0
- data/vendor/extensions/japanese_language_pack/config/locales/ja_available_tags.yml +553 -0
- data/vendor/extensions/japanese_language_pack/japanese_language_pack_extension.rb +9 -0
- data/vendor/extensions/japanese_language_pack/lib/tasks/i18n_ja_extension_tasks.rake +28 -0
- data/vendor/extensions/markdown_filter/README +1 -0
- data/vendor/extensions/markdown_filter/Rakefile +120 -0
- data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +14 -0
- data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +18 -0
- data/vendor/extensions/markdown_filter/lib/tasks/markdown_filter_extension_tasks.rake +28 -0
- data/vendor/extensions/markdown_filter/markdown.html +123 -0
- data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +18 -0
- data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +22 -0
- data/vendor/extensions/markdown_filter/spec/spec.opts +6 -0
- data/vendor/extensions/markdown_filter/spec/spec_helper.rb +36 -0
- data/vendor/extensions/markdown_filter/test/test_helper.rb +19 -0
- data/vendor/extensions/markdown_filter/test/unit/markdown_filter_test.rb +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/AUTHORS +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/CONTRIBUTERS +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/COPYING +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/ChangeLog +3956 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/GPL +674 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/README +30 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/Rakefile +342 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/VERSION +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/benchmark.rb +34 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/generate_data.rb +112 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-jruby-1.4.0.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.6.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.8.7.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.1p243.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/historic-ruby-1.9.2dev.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdbasics.text +306 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/mdsyntax.text +888 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-jruby-1.4.0.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.6.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.8.7.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.1p243.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/static-ruby-1.9.2dev.dat +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/testing.sh +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/benchmark/timing.sh +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/bin/kramdown +78 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/data/kramdown/document.latex +43 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.less.css +510 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/default.template +71 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/documentation.page +72 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/index.page +63 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/installation.page +90 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/links.markdown +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.feed +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/news.page +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/quickref.page +564 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/syntax.page +1521 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/tests.page +51 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/doc/virtual +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown.rb +23 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/compatibility.rb +34 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter.rb +41 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/base.rb +111 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/html.rb +397 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/converter/latex.rb +555 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/document.rb +164 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/error.rb +27 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/options.rb +282 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser.rb +39 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/base.rb +95 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/html.rb +387 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown.rb +301 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/abbreviation.rb +65 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/attribute_list.rb +103 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/autolink.rb +47 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blank_line.rb +43 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/blockquote.rb +42 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codeblock.rb +58 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/codespan.rb +57 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/emphasis.rb +70 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/eob.rb +39 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/escaped_chars.rb +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/extension.rb +101 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/footnote.rb +73 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/header.rb +66 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/horizontal_rule.rb +39 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html.rb +173 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/html_entity.rb +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/line_break.rb +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/link.rb +153 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/list.rb +228 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/math.rb +53 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/paragraph.rb +44 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/smart_quotes.rb +214 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/table.rb +126 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/parser/kramdown/typographic_symbol.rb +52 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/lib/kramdown/version.rb +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/man/man1/kramdown.1 +222 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/setup.rb +1585 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/run_tests.rb +59 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/test_files.rb +100 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/spaces.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/01_blank_line/tabs.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/beginning.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/end.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/02_eob/middle.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.html +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/indented.text +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/one_para.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/03_paragraph/two_para.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.html +34 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header.text +32 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.html +31 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header.text +36 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.options +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_id_prefix.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.html +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/04_header/with_auto_ids.text +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.html +25 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/indented.text +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/nested.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/only_first_quoted.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/error.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/normal.text +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/whitespace.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_blank_line.text +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.html +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/error.text +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.html +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/normal.text +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/sepspaces.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/07_horizontal_rule/septabs.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.html +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/escaping.text +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/item_ial.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_hr.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.html +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/list_and_others.text +25 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.html +117 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/mixed.text +66 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.html +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/nested.text +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.html +39 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/other_first_element.text +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.html +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ol.text +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.html +61 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/simple_ul.text +43 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/single_item.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.html +78 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/08_list/special_cases.text +48 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.html +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/comment.text +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/deflists.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.html +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/content_model/tables.text +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/filtered_html.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.html +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/code.text +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.html +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/comment.text +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/emphasis.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/entity.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.options +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/header.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.html +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/table_simple.text +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/html_to_native/typography.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_1.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/invalid_html_2.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.html +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/markdown_attr.text +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.html +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/not_parsed.text +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.html +30 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_raw.text +29 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.html +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_as_span.text +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.html +21 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/parse_block_html.text +17 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/processing_instruction.text +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.html +62 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/09_html/simple.text +57 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/10_ald/simple.text +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/auto_id_and_ial.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.html +25 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/11_ial/simple.text +34 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/comment.text +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/ignored.text +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/nomarkdown.text +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.html +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options.text +27 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.html +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options2.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.html +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/12_extension/options3.text +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/definition_at_beginning.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.html +13 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/multiple_terms.text +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/no_def_list.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.html +10 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/para_wrapping.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/separated_by_eob.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/simple.text +7 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/styled_terms.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/too_much_space.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.html +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/13_definition_list/with_blocks.text +24 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/errors.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.html +65 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/footer.text +25 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.html +103 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/header.text +32 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/no_table.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.html +61 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/14_table/simple.text +16 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.html +19 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/block/15_math/normal.text +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.html +46 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/encoding.text +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/empty.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/image_in_a.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.html +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/imagelinks.text +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.html +40 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/inline.text +42 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/link_defs.text +22 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.html +32 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/01_link/reference.text +42 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.html +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/empty.text +3 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.html +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/errors.text +9 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.html +38 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/nesting.text +33 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.html +46 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/02_emphasis/normal.text +46 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/empty.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/errors.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.html +16 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/03_codespan/normal.text +16 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.html +14 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.latex +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/definitions.text +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.html +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.latex +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.options +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/footnote_nr.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.html +46 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.latex +32 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/04_footnote/markers.text +26 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/across_lines.text +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/invalid.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/link_with_mailto.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/markdown_attr.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.html +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/05_html/normal.text +28 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.html +8 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev.text +15 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.html +2 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/abbreviations/abbrev_defs.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.html +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/autolinks/url_links.text +12 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.html +41 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/escaped_chars/normal.text +41 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/comment.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/ignored.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/nomarkdown.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/extension/options.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.html +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/ial/simple.text +6 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.html +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/line_breaks/normal.text +11 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.html +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/math/normal.text +5 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.html +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/entities.text +4 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/greaterthan.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.html +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/lowerthan.text +1 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.html +18 -0
- data/vendor/extensions/markdown_filter/vendor/kramdown/test/testcases/span/text_substitutions/typography.text +18 -0
- data/vendor/extensions/russian_language_pack/README +3 -0
- data/vendor/extensions/russian_language_pack/Rakefile +123 -0
- data/vendor/extensions/russian_language_pack/config/locales/ru.yml +180 -0
- data/vendor/extensions/russian_language_pack/config/locales/ru_available_tags.yml +553 -0
- data/vendor/extensions/russian_language_pack/lib/tasks/i18n_ru_extension_tasks.rake +28 -0
- data/vendor/extensions/russian_language_pack/russian_language_pack_extension.rb +9 -0
- data/vendor/extensions/smarty_pants_filter/README +1 -0
- data/vendor/extensions/smarty_pants_filter/Rakefile +136 -0
- data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_filter.rb +7 -0
- data/vendor/extensions/smarty_pants_filter/lib/smarty_pants_tags.rb +18 -0
- data/vendor/extensions/smarty_pants_filter/lib/tasks/smarty_pants_filter_extension_tasks.rake +28 -0
- data/vendor/extensions/smarty_pants_filter/smarty_pants_filter_extension.rb +18 -0
- data/vendor/extensions/smarty_pants_filter/smartypants.html +47 -0
- data/vendor/extensions/smarty_pants_filter/spec/models/smarty_pants_filter_spec.rb +19 -0
- data/vendor/extensions/smarty_pants_filter/spec/spec.opts +6 -0
- data/vendor/extensions/smarty_pants_filter/spec/spec_helper.rb +36 -0
- data/vendor/extensions/smarty_pants_filter/test/test_helper.rb +19 -0
- data/vendor/extensions/smarty_pants_filter/test/unit/smarty_pants_filter_test.rb +14 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/README +114 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/Rakefile +84 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/install.rb +9 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/rubypants.rb +490 -0
- data/vendor/extensions/smarty_pants_filter/vendor/rubypants/test_rubypants.rb +162 -0
- data/vendor/extensions/textile_filter/README +1 -0
- data/vendor/extensions/textile_filter/Rakefile +120 -0
- data/vendor/extensions/textile_filter/lib/tasks/textile_filter_extension_tasks.rake +0 -0
- data/vendor/extensions/textile_filter/lib/textile_filter.rb +6 -0
- data/vendor/extensions/textile_filter/lib/textile_tags.rb +24 -0
- data/vendor/extensions/textile_filter/spec/models/textile_filter_spec.rb +19 -0
- data/vendor/extensions/textile_filter/spec/spec.opts +6 -0
- data/vendor/extensions/textile_filter/spec/spec_helper.rb +36 -0
- data/vendor/extensions/textile_filter/test/test_helper.rb +19 -0
- data/vendor/extensions/textile_filter/test/unit/textile_filter_test.rb +13 -0
- data/vendor/extensions/textile_filter/textile.html +115 -0
- data/vendor/extensions/textile_filter/textile_filter_extension.rb +10 -0
- data/vendor/plugins/haml/README.md +154 -95
- data/vendor/plugins/haml/Rakefile +91 -104
- data/vendor/plugins/haml/TODO +20 -26
- data/vendor/plugins/haml/VERSION +1 -1
- data/vendor/plugins/haml/VERSION_NAME +1 -1
- data/vendor/plugins/haml/bin/css2sass +1 -7
- data/vendor/plugins/haml/doc-src/FAQ.md +4 -16
- data/vendor/plugins/haml/doc-src/HAML_CHANGELOG.md +1 -536
- data/vendor/plugins/haml/doc-src/HAML_REFERENCE.md +16 -176
- data/vendor/plugins/haml/doc-src/SASS_CHANGELOG.md +0 -1159
- data/vendor/plugins/haml/doc-src/SASS_REFERENCE.md +632 -1162
- data/vendor/plugins/haml/extra/haml-mode.el +34 -36
- data/vendor/plugins/haml/extra/sass-mode.el +9 -10
- data/vendor/plugins/haml/haml.gemspec +33 -8
- data/vendor/plugins/haml/lib/haml.rb +2 -5
- data/vendor/plugins/haml/lib/haml/buffer.rb +4 -22
- data/vendor/plugins/haml/lib/haml/engine.rb +4 -13
- data/vendor/plugins/haml/lib/haml/exec.rb +64 -456
- data/vendor/plugins/haml/lib/haml/filters.rb +1 -19
- data/vendor/plugins/haml/lib/haml/helpers.rb +19 -40
- data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +12 -38
- data/vendor/plugins/haml/lib/haml/helpers/xss_mods.rb +2 -13
- data/vendor/plugins/haml/lib/haml/html.rb +49 -209
- data/vendor/plugins/haml/lib/haml/precompiler.rb +89 -130
- data/vendor/plugins/haml/lib/haml/railtie.rb +13 -16
- data/vendor/plugins/haml/lib/haml/template.rb +12 -13
- data/vendor/plugins/haml/lib/haml/template/plugin.rb +6 -18
- data/vendor/plugins/haml/lib/haml/util.rb +44 -483
- data/vendor/plugins/haml/lib/haml/version.rb +2 -25
- data/vendor/plugins/haml/lib/sass.rb +2 -7
- data/vendor/plugins/haml/lib/sass/css.rb +196 -86
- data/vendor/plugins/haml/lib/sass/engine.rb +99 -304
- data/vendor/plugins/haml/lib/sass/environment.rb +3 -67
- data/vendor/plugins/haml/lib/sass/error.rb +25 -166
- data/vendor/plugins/haml/lib/sass/files.rb +38 -43
- data/vendor/plugins/haml/lib/sass/plugin.rb +150 -198
- data/vendor/plugins/haml/lib/sass/plugin/merb.rb +20 -8
- data/vendor/plugins/haml/lib/sass/plugin/rack.rb +20 -2
- data/vendor/plugins/haml/lib/sass/plugin/rails.rb +9 -16
- data/vendor/plugins/haml/lib/sass/repl.rb +1 -1
- data/vendor/plugins/haml/lib/sass/script.rb +31 -32
- data/vendor/plugins/haml/lib/sass/script/bool.rb +1 -2
- data/vendor/plugins/haml/lib/sass/script/color.rb +26 -295
- data/vendor/plugins/haml/lib/sass/script/funcall.rb +6 -33
- data/vendor/plugins/haml/lib/sass/script/functions.rb +33 -637
- data/vendor/plugins/haml/lib/sass/script/lexer.rb +57 -200
- data/vendor/plugins/haml/lib/sass/script/literal.rb +10 -69
- data/vendor/plugins/haml/lib/sass/script/node.rb +1 -99
- data/vendor/plugins/haml/lib/sass/script/number.rb +24 -64
- data/vendor/plugins/haml/lib/sass/script/operation.rb +3 -53
- data/vendor/plugins/haml/lib/sass/script/parser.rb +50 -229
- data/vendor/plugins/haml/lib/sass/script/string.rb +2 -57
- data/vendor/plugins/haml/lib/sass/script/unary_operation.rb +2 -25
- data/vendor/plugins/haml/lib/sass/script/variable.rb +5 -22
- data/vendor/plugins/haml/lib/sass/tree/comment_node.rb +27 -71
- data/vendor/plugins/haml/lib/sass/tree/debug_node.rb +2 -8
- data/vendor/plugins/haml/lib/sass/tree/directive_node.rb +37 -44
- data/vendor/plugins/haml/lib/sass/tree/for_node.rb +0 -19
- data/vendor/plugins/haml/lib/sass/tree/if_node.rb +0 -26
- data/vendor/plugins/haml/lib/sass/tree/import_node.rb +27 -64
- data/vendor/plugins/haml/lib/sass/tree/mixin_def_node.rb +0 -31
- data/vendor/plugins/haml/lib/sass/tree/mixin_node.rb +7 -82
- data/vendor/plugins/haml/lib/sass/tree/node.rb +77 -291
- data/vendor/plugins/haml/lib/sass/tree/prop_node.rb +58 -157
- data/vendor/plugins/haml/lib/sass/tree/rule_node.rb +137 -178
- data/vendor/plugins/haml/lib/sass/tree/variable_node.rb +5 -10
- data/vendor/plugins/haml/lib/sass/tree/while_node.rb +0 -17
- data/vendor/plugins/haml/test/benchmark.rb +5 -5
- data/vendor/plugins/haml/test/haml/engine_test.rb +19 -530
- data/vendor/plugins/haml/test/haml/helper_test.rb +7 -124
- data/vendor/plugins/haml/test/haml/html2haml_test.rb +66 -250
- data/vendor/plugins/haml/test/haml/results/filters.xhtml +1 -1
- data/vendor/plugins/haml/test/haml/results/helpers.xhtml +23 -0
- data/vendor/plugins/haml/test/haml/results/just_stuff.xhtml +0 -2
- data/vendor/plugins/haml/test/haml/rhtml/_av_partial_1.rhtml +12 -0
- data/vendor/plugins/haml/test/haml/rhtml/_av_partial_2.rhtml +8 -0
- data/vendor/plugins/haml/test/haml/rhtml/action_view.rhtml +62 -0
- data/vendor/plugins/haml/test/haml/rhtml/standard.rhtml +54 -0
- data/vendor/plugins/haml/test/haml/template_test.rb +3 -33
- data/vendor/plugins/haml/test/haml/templates/helpers.haml +66 -0
- data/vendor/plugins/haml/test/haml/templates/just_stuff.haml +0 -2
- data/vendor/plugins/haml/test/haml/util_test.rb +0 -161
- data/vendor/plugins/haml/test/linked_rails.rb +1 -22
- data/vendor/plugins/haml/test/sass/css2sass_test.rb +18 -130
- data/vendor/plugins/haml/test/sass/engine_test.rb +138 -1426
- data/vendor/plugins/haml/test/sass/functions_test.rb +47 -429
- data/vendor/plugins/haml/test/sass/more_results/more_import.css +1 -1
- data/vendor/plugins/haml/test/sass/more_templates/more_import.sass +3 -3
- data/vendor/plugins/haml/test/sass/plugin_test.rb +56 -246
- data/vendor/plugins/haml/test/sass/results/compact.css +1 -1
- data/vendor/plugins/haml/test/sass/results/complex.css +6 -5
- data/vendor/plugins/haml/test/sass/results/compressed.css +1 -1
- data/vendor/plugins/haml/test/sass/results/expanded.css +1 -1
- data/vendor/plugins/haml/test/sass/results/import.css +1 -3
- data/vendor/plugins/haml/test/sass/results/mixins.css +12 -12
- data/vendor/plugins/haml/test/sass/results/nested.css +1 -1
- data/vendor/plugins/haml/test/sass/results/parent_ref.css +4 -4
- data/vendor/plugins/haml/test/sass/results/script.css +4 -4
- data/vendor/plugins/haml/test/sass/script_test.rb +78 -281
- data/vendor/plugins/haml/test/sass/templates/alt.sass +2 -2
- data/vendor/plugins/haml/test/sass/templates/basic.sass +1 -1
- data/vendor/plugins/haml/test/sass/templates/bork.sass +2 -0
- data/vendor/plugins/haml/test/sass/templates/complex.sass +2 -0
- data/vendor/plugins/haml/test/sass/templates/import.sass +4 -5
- data/vendor/plugins/haml/test/sass/templates/importee.sass +3 -3
- data/vendor/plugins/haml/test/sass/templates/line_numbers.sass +1 -1
- data/vendor/plugins/haml/test/sass/templates/mixins.sass +2 -2
- data/vendor/plugins/haml/test/sass/templates/parent_ref.sass +2 -2
- data/vendor/plugins/haml/test/sass/templates/script.sass +69 -69
- data/vendor/plugins/haml/test/sass/templates/units.sass +10 -10
- data/vendor/plugins/haml/test/test_helper.rb +4 -52
- data/vendor/plugins/haml/yard/default/fulldoc/html/css/common.sass +1 -5
- metadata +2926 -2487
- data/vendor/rack-cache/CHANGES +0 -128
- data/vendor/rack-cache/COPYING +0 -18
- data/vendor/rack-cache/README +0 -110
- data/vendor/rack-cache/Rakefile +0 -137
- data/vendor/rack-cache/TODO +0 -31
- data/vendor/rack-cache/doc/configuration.markdown +0 -86
- data/vendor/rack-cache/doc/faq.markdown +0 -141
- data/vendor/rack-cache/doc/index.markdown +0 -118
- data/vendor/rack-cache/doc/layout.html.erb +0 -34
- data/vendor/rack-cache/doc/license.markdown +0 -24
- data/vendor/rack-cache/doc/rack-cache.css +0 -362
- data/vendor/rack-cache/doc/server.ru +0 -34
- data/vendor/rack-cache/doc/storage.markdown +0 -162
- data/vendor/rack-cache/example/sinatra/app.rb +0 -25
- data/vendor/rack-cache/example/sinatra/views/index.erb +0 -44
- data/vendor/rack-cache/lib/rack/cache.rb +0 -45
- data/vendor/rack-cache/lib/rack/cache/cachecontrol.rb +0 -193
- data/vendor/rack-cache/lib/rack/cache/context.rb +0 -233
- data/vendor/rack-cache/lib/rack/cache/entitystore.rb +0 -253
- data/vendor/rack-cache/lib/rack/cache/key.rb +0 -52
- data/vendor/rack-cache/lib/rack/cache/metastore.rb +0 -328
- data/vendor/rack-cache/lib/rack/cache/options.rb +0 -150
- data/vendor/rack-cache/lib/rack/cache/request.rb +0 -33
- data/vendor/rack-cache/lib/rack/cache/response.rb +0 -267
- data/vendor/rack-cache/lib/rack/cache/storage.rb +0 -49
- data/vendor/rack-cache/rack-cache.gemspec +0 -69
- data/vendor/rack-cache/test/cache_test.rb +0 -38
- data/vendor/rack-cache/test/cachecontrol_test.rb +0 -139
- data/vendor/rack-cache/test/context_test.rb +0 -727
- data/vendor/rack-cache/test/entitystore_test.rb +0 -189
- data/vendor/rack-cache/test/key_test.rb +0 -50
- data/vendor/rack-cache/test/metastore_test.rb +0 -263
- data/vendor/rack-cache/test/options_test.rb +0 -78
- data/vendor/rack-cache/test/pony.jpg +0 -0
- data/vendor/rack-cache/test/request_test.rb +0 -19
- data/vendor/rack-cache/test/response_test.rb +0 -178
- data/vendor/rack-cache/test/spec_setup.rb +0 -202
- data/vendor/rack-cache/test/storage_test.rb +0 -94
@@ -5,32 +5,11 @@ if File.exists?(linked_rails) && !$:.include?(linked_rails + '/activesupport/lib
|
|
5
5
|
puts "[ using linked Rails ]"
|
6
6
|
$:.unshift linked_rails + '/activesupport/lib'
|
7
7
|
$:.unshift linked_rails + '/actionpack/lib'
|
8
|
-
$:.unshift linked_rails + '/railties/lib'
|
9
8
|
end
|
10
9
|
require 'rubygems'
|
11
10
|
require 'action_controller'
|
12
11
|
require 'action_view'
|
13
12
|
|
14
|
-
begin
|
15
|
-
# Necessary for Rails 3
|
16
|
-
require 'rails'
|
17
|
-
rescue LoadError
|
18
|
-
# Necessary for Rails 2.3.7
|
19
|
-
require 'initializer'
|
20
|
-
rescue LoadError
|
21
|
-
end
|
22
|
-
|
23
|
-
if defined?(Rails::Application) # Rails 3
|
24
|
-
class TestApp < Rails::Application
|
25
|
-
config.root = File.join(File.dirname(__FILE__), "../..")
|
26
|
-
end
|
27
|
-
Rails.application = TestApp
|
28
|
-
elsif defined?(RAILS_ROOT)
|
29
|
-
RAILS_ROOT.replace(File.join(File.dirname(__FILE__), "../.."))
|
30
|
-
else
|
31
|
-
RAILS_ROOT = File.join(File.dirname(__FILE__), "../..")
|
32
|
-
end
|
33
|
-
|
34
13
|
ActionController::Base.logger = Logger.new(nil)
|
35
14
|
|
36
15
|
# Load plugins from test/plugins.
|
@@ -38,5 +17,5 @@ ActionController::Base.logger = Logger.new(nil)
|
|
38
17
|
# since we don't want to load the entirety of Rails.
|
39
18
|
Dir[File.dirname(__FILE__) + '/plugins/*'].each do |plugin|
|
40
19
|
$: << plugin + '/lib'
|
41
|
-
|
20
|
+
Object.new.instance_eval(File.read(plugin + '/init.rb'))
|
42
21
|
end
|
@@ -24,10 +24,13 @@ SASS
|
|
24
24
|
assert_equal(<<SASS, css2sass(<<CSS))
|
25
25
|
li
|
26
26
|
display: none
|
27
|
+
|
27
28
|
a
|
28
29
|
text-decoration: none
|
30
|
+
|
29
31
|
span
|
30
32
|
color: yellow
|
33
|
+
|
31
34
|
&:hover
|
32
35
|
text-decoration: underline
|
33
36
|
SASS
|
@@ -54,9 +57,11 @@ CSS
|
|
54
57
|
div .warning
|
55
58
|
color: #d21a19
|
56
59
|
|
60
|
+
|
57
61
|
span .debug
|
58
62
|
cursor: crosshair
|
59
63
|
|
64
|
+
|
60
65
|
div .debug
|
61
66
|
cursor: default
|
62
67
|
SASS
|
@@ -99,34 +104,27 @@ span.turkey {
|
|
99
104
|
} /* just a line here */
|
100
105
|
CSS
|
101
106
|
sass = <<SASS
|
102
|
-
/* comment
|
103
|
-
|
104
107
|
elephant.rawr
|
105
108
|
rampages: excessively
|
106
109
|
|
107
|
-
/* actual multiline
|
108
|
-
*comment
|
109
110
|
|
110
111
|
span.turkey
|
111
112
|
isdinner: true
|
112
113
|
|
114
|
+
|
113
115
|
.turducken
|
114
|
-
/* Sounds funny
|
115
|
-
* doesn't it
|
116
116
|
chimera: not_really
|
117
117
|
|
118
|
+
|
118
119
|
#overhere
|
119
120
|
bored: sorta
|
120
|
-
/* it's for a good
|
121
|
-
* cause
|
122
121
|
better_than: thread_pools
|
123
122
|
|
123
|
+
|
124
124
|
#one_more
|
125
125
|
finally: srsly
|
126
|
-
|
127
|
-
/* just a line here
|
128
126
|
SASS
|
129
|
-
assert_equal(
|
127
|
+
assert_equal(css2sass(css), sass)
|
130
128
|
end
|
131
129
|
|
132
130
|
def test_fold_commas
|
@@ -147,10 +145,12 @@ CSS
|
|
147
145
|
.one
|
148
146
|
color: green
|
149
147
|
|
148
|
+
|
150
149
|
.two
|
151
150
|
color: green
|
152
151
|
color: red
|
153
152
|
|
153
|
+
|
154
154
|
.three
|
155
155
|
color: red
|
156
156
|
SASS
|
@@ -168,15 +168,20 @@ CSS
|
|
168
168
|
assert_equal(<<SASS, css2sass(<<CSS))
|
169
169
|
hello
|
170
170
|
parent: true
|
171
|
+
|
171
172
|
there
|
172
173
|
parent: false
|
174
|
+
|
173
175
|
who
|
174
176
|
hoo: false
|
177
|
+
|
175
178
|
why
|
176
179
|
y: true
|
180
|
+
|
177
181
|
when
|
178
182
|
wen: nao
|
179
183
|
|
184
|
+
|
180
185
|
down_here
|
181
186
|
yeah: true
|
182
187
|
SASS
|
@@ -209,6 +214,7 @@ CSS
|
|
209
214
|
#location-navigation-form .form-submit, #business-listing-form .form-submit, #detailTabs ul, #detailsEnhanced #addTags, #locationSearchList, #moreHoods
|
210
215
|
display: none
|
211
216
|
|
217
|
+
|
212
218
|
#navListLeft
|
213
219
|
display: none
|
214
220
|
SASS
|
@@ -229,6 +235,7 @@ CSS
|
|
229
235
|
assert_equal(<<SASS, css2sass(<<CSS))
|
230
236
|
\\:focus
|
231
237
|
a: b
|
238
|
+
|
232
239
|
\\:foo
|
233
240
|
bar: baz
|
234
241
|
SASS
|
@@ -237,125 +244,6 @@ SASS
|
|
237
244
|
CSS
|
238
245
|
end
|
239
246
|
|
240
|
-
# Regressions
|
241
|
-
|
242
|
-
def test_nesting_within_media
|
243
|
-
assert_equal(<<SASS, css2sass(<<CSS))
|
244
|
-
@media all
|
245
|
-
.next .vevent
|
246
|
-
padding-left: 0
|
247
|
-
padding-right: 0
|
248
|
-
SASS
|
249
|
-
@media all {
|
250
|
-
.next .vevent {
|
251
|
-
padding-left: 0;
|
252
|
-
padding-right: 0; } }
|
253
|
-
CSS
|
254
|
-
end
|
255
|
-
|
256
|
-
def test_multiline_selector_within_media_and_with_child_selector
|
257
|
-
assert_equal(<<SASS, css2sass(<<CSS))
|
258
|
-
@media all
|
259
|
-
foo bar, baz
|
260
|
-
padding-left: 0
|
261
|
-
padding-right: 0
|
262
|
-
SASS
|
263
|
-
@media all {
|
264
|
-
foo bar,
|
265
|
-
baz {
|
266
|
-
padding-left: 0;
|
267
|
-
padding-right: 0; } }
|
268
|
-
CSS
|
269
|
-
end
|
270
|
-
|
271
|
-
# Error reporting
|
272
|
-
|
273
|
-
def test_error_reporting
|
274
|
-
css2sass("foo")
|
275
|
-
assert(false, "Expected exception")
|
276
|
-
rescue Sass::SyntaxError => err
|
277
|
-
assert_equal(1, err.sass_line)
|
278
|
-
assert_equal('Invalid CSS after "foo": expected "{", was ""', err.message)
|
279
|
-
end
|
280
|
-
|
281
|
-
def test_error_reporting_in_line
|
282
|
-
css2sass("foo\nbar }\nbaz")
|
283
|
-
assert(false, "Expected exception")
|
284
|
-
rescue Sass::SyntaxError => err
|
285
|
-
assert_equal(2, err.sass_line)
|
286
|
-
assert_equal('Invalid CSS after "bar ": expected "{", was "}"', err.message)
|
287
|
-
end
|
288
|
-
|
289
|
-
def test_error_truncate_after
|
290
|
-
css2sass("#{"a" * 16}foo")
|
291
|
-
assert(false, "Expected exception")
|
292
|
-
rescue Sass::SyntaxError => err
|
293
|
-
assert_equal(1, err.sass_line)
|
294
|
-
assert_equal('Invalid CSS after "...aaaaaaaaaaaafoo": expected "{", was ""', err.message)
|
295
|
-
end
|
296
|
-
|
297
|
-
def test_error_truncate_was
|
298
|
-
css2sass("foo }foo#{"a" * 15}")
|
299
|
-
assert(false, "Expected exception")
|
300
|
-
rescue Sass::SyntaxError => err
|
301
|
-
assert_equal(1, err.sass_line)
|
302
|
-
assert_equal('Invalid CSS after "foo ": expected "{", was "}fooaaaaaaaaaaa..."', err.message)
|
303
|
-
end
|
304
|
-
|
305
|
-
def test_error_doesnt_truncate_after_when_elipsis_would_add_length
|
306
|
-
css2sass("#{"a" * 15}foo")
|
307
|
-
assert(false, "Expected exception")
|
308
|
-
rescue Sass::SyntaxError => err
|
309
|
-
assert_equal(1, err.sass_line)
|
310
|
-
assert_equal('Invalid CSS after "aaaaaaaaaaaaaaafoo": expected "{", was ""', err.message)
|
311
|
-
end
|
312
|
-
|
313
|
-
def test_error_doesnt_truncate_was_when_elipsis_would_add_length
|
314
|
-
css2sass("foo }foo#{"a" * 14}")
|
315
|
-
assert(false, "Expected exception")
|
316
|
-
rescue Sass::SyntaxError => err
|
317
|
-
assert_equal(1, err.sass_line)
|
318
|
-
assert_equal('Invalid CSS after "foo ": expected "{", was "}fooaaaaaaaaaaaaaa"', err.message)
|
319
|
-
end
|
320
|
-
|
321
|
-
def test_error_gets_rid_of_trailing_newline_for_after
|
322
|
-
css2sass("foo \n ")
|
323
|
-
assert(false, "Expected exception")
|
324
|
-
rescue Sass::SyntaxError => err
|
325
|
-
assert_equal(2, err.sass_line)
|
326
|
-
assert_equal('Invalid CSS after "foo": expected "{", was ""', err.message)
|
327
|
-
end
|
328
|
-
|
329
|
-
def test_error_gets_rid_of_trailing_newline_for_was
|
330
|
-
css2sass("foo \n }foo")
|
331
|
-
assert(false, "Expected exception")
|
332
|
-
rescue Sass::SyntaxError => err
|
333
|
-
assert_equal(2, err.sass_line)
|
334
|
-
assert_equal('Invalid CSS after "foo": expected "{", was "}foo"', err.message)
|
335
|
-
end
|
336
|
-
|
337
|
-
# Encodings
|
338
|
-
|
339
|
-
unless Haml::Util.ruby1_8?
|
340
|
-
def test_encoding_error
|
341
|
-
css2sass("foo\nbar\nb\xFEaz".force_encoding("utf-8"))
|
342
|
-
assert(false, "Expected exception")
|
343
|
-
rescue Sass::SyntaxError => e
|
344
|
-
assert_equal(3, e.sass_line)
|
345
|
-
assert_equal('Invalid UTF-8 character "\xFE"', e.message)
|
346
|
-
end
|
347
|
-
|
348
|
-
def test_ascii_incompatible_encoding_error
|
349
|
-
template = "foo\nbar\nb_z".encode("utf-16le")
|
350
|
-
template[9] = "\xFE".force_encoding("utf-16le")
|
351
|
-
css2sass(template)
|
352
|
-
assert(false, "Expected exception")
|
353
|
-
rescue Sass::SyntaxError => e
|
354
|
-
assert_equal(3, e.sass_line)
|
355
|
-
assert_equal('Invalid UTF-16LE character "\xFE"', e.message)
|
356
|
-
end
|
357
|
-
end
|
358
|
-
|
359
247
|
private
|
360
248
|
|
361
249
|
def css2sass(string, opts={})
|
@@ -1,29 +1,23 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# -*- coding: utf-8 -*-
|
3
2
|
require File.dirname(__FILE__) + '/../test_helper'
|
4
3
|
require 'sass/engine'
|
5
4
|
require 'stringio'
|
6
5
|
|
7
|
-
module Sass::Script::Functions::UserFunctions
|
8
|
-
def option(name)
|
9
|
-
Sass::Script::String.new(@options[name.value.to_sym].to_s)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
6
|
class SassEngineTest < Test::Unit::TestCase
|
14
7
|
# A map of erroneous Sass documents to the error messages they should produce.
|
15
8
|
# The error messages may be arrays;
|
16
9
|
# if so, the second element should be the line number that should be reported for the error.
|
17
10
|
# If this isn't provided, the tests will assume the line number should be the last line of the document.
|
18
11
|
EXCEPTION_MAP = {
|
19
|
-
"
|
20
|
-
"
|
21
|
-
"
|
22
|
-
"
|
23
|
-
"
|
24
|
-
"
|
12
|
+
"!a = 1 + " => 'Expected expression, was end of text.',
|
13
|
+
"!a = 1 + 2 +" => 'Expected expression, was end of text.',
|
14
|
+
"!a = 1 + 2 + %" => 'Expected expression, was mod token.',
|
15
|
+
"!a = foo(\"bar\"" => 'Expected rparen token, was end of text.',
|
16
|
+
"!a = 1 }" => 'Unexpected end_interpolation token.',
|
17
|
+
"!a = 1 }foo\"" => 'Unexpected end_interpolation token.',
|
25
18
|
":" => 'Invalid property: ":".',
|
26
19
|
": a" => 'Invalid property: ": a".',
|
20
|
+
":= a" => 'Invalid property: ":= a".',
|
27
21
|
"a\n :b" => <<MSG,
|
28
22
|
Invalid property: ":b" (no value).
|
29
23
|
If ":b" should be a selector, use "\\:b" instead.
|
@@ -31,34 +25,36 @@ MSG
|
|
31
25
|
"a\n b:" => 'Invalid property: "b:" (no value).',
|
32
26
|
"a\n :b: c" => 'Invalid property: ":b: c".',
|
33
27
|
"a\n :b:c d" => 'Invalid property: ":b:c d".',
|
34
|
-
"a\n :b
|
35
|
-
"a\n b
|
36
|
-
"
|
37
|
-
"a\n
|
38
|
-
"a:
|
28
|
+
"a\n :b=c d" => 'Invalid property: ":b=c d".',
|
29
|
+
"a\n :b c;" => 'Invalid property: ":b c;" (no ";" required at end-of-line).',
|
30
|
+
"a\n b: c;" => 'Invalid property: "b: c;" (no ";" required at end-of-line).',
|
31
|
+
"a\n b : c" => 'Invalid property: "b : c".',
|
32
|
+
"a\n b=c: d" => 'Invalid property: "b=c: d".',
|
39
33
|
":a b" => 'Properties aren\'t allowed at the root of a document.',
|
34
|
+
"a:" => 'Properties aren\'t allowed at the root of a document.',
|
35
|
+
":a" => <<MSG,
|
36
|
+
Properties aren't allowed at the root of a document.
|
37
|
+
If ":a" should be a selector, use "\\:a" instead.
|
38
|
+
MSG
|
40
39
|
"!" => 'Invalid variable: "!".',
|
41
|
-
"
|
40
|
+
"!a" => 'Invalid variable: "!a".',
|
42
41
|
"! a" => 'Invalid variable: "! a".',
|
43
|
-
"
|
44
|
-
"
|
45
|
-
"
|
46
|
-
"
|
47
|
-
"
|
48
|
-
"
|
49
|
-
"a\n b
|
50
|
-
"a\n b
|
51
|
-
"
|
52
|
-
"
|
42
|
+
"!a b" => 'Invalid variable: "!a b".',
|
43
|
+
"!a = 1b + 2c" => "Incompatible units: 'c' and 'b'.",
|
44
|
+
"!a = 1b < 2c" => "Incompatible units: 'c' and 'b'.",
|
45
|
+
"!a = 1b > 2c" => "Incompatible units: 'c' and 'b'.",
|
46
|
+
"!a = 1b <= 2c" => "Incompatible units: 'c' and 'b'.",
|
47
|
+
"!a = 1b >= 2c" => "Incompatible units: 'c' and 'b'.",
|
48
|
+
"a\n :b= 1b * 2c" => "2b*c isn't a valid CSS value.",
|
49
|
+
"a\n :b= 1b % 2c" => "Cannot modulo by a number with units: 2c.",
|
50
|
+
"!a = 2px + #ccc" => "Cannot add a number with units (2px) to a color (#cccccc).",
|
51
|
+
"!a = #ccc + 2px" => "Cannot add a number with units (2px) to a color (#cccccc).",
|
53
52
|
"& a\n :b c" => ["Base-level rules cannot contain the parent-selector-referencing character '&'.", 1],
|
54
53
|
"a\n :b\n c" => "Illegal nesting: Only properties may be nested beneath properties.",
|
55
54
|
"a,\n :b c" => ["Rules can\'t end in commas.", 1],
|
56
55
|
"a," => "Rules can\'t end in commas.",
|
57
|
-
"a,\n
|
58
|
-
"
|
59
|
-
"@import foo.sass" => "File to import not found or unreadable: foo.sass.",
|
60
|
-
"a,\n$b: 1" => ["Rules can\'t end in commas.", 1],
|
61
|
-
"$a: b\n :c d\n" => "Illegal nesting: Nothing may be nested beneath variable declarations.",
|
56
|
+
"a,\n!b = 1" => ["Rules can\'t end in commas.", 1],
|
57
|
+
"!a = b\n :c d\n" => "Illegal nesting: Nothing may be nested beneath variable declarations.",
|
62
58
|
"@import foo.sass" => <<MSG,
|
63
59
|
File to import not found or unreadable: foo.sass.
|
64
60
|
Load paths:
|
@@ -68,10 +64,8 @@ MSG
|
|
68
64
|
"@import templates/basic\n foo" => "Illegal nesting: Nothing may be nested beneath import directives.",
|
69
65
|
"foo\n @import templates/basic" => "Import directives may only be used at the root of a document.",
|
70
66
|
"foo\n @import #{File.dirname(__FILE__)}/templates/basic" => "Import directives may only be used at the root of a document.",
|
71
|
-
|
67
|
+
%Q{!foo = "bar" "baz" !} => %Q{Syntax error in '"bar" "baz" !' at character 20.},
|
72
68
|
"=foo\n :color red\n.bar\n +bang" => "Undefined mixin 'bang'.",
|
73
|
-
"=foo\n :color red\n.bar\n +bang_bop" => "Undefined mixin 'bang_bop'.",
|
74
|
-
"=foo\n :color red\n.bar\n +bang-bop" => "Undefined mixin 'bang-bop'.",
|
75
69
|
".bar\n =foo\n :color red\n" => ["Mixins may only be defined at the root of a document.", 2],
|
76
70
|
"=foo\n :color red\n.bar\n +foo\n :color red" => "Illegal nesting: Nothing may be nested beneath mixin directives.",
|
77
71
|
" a\n b: c" => ["Indenting at the beginning of the document is illegal.", 1],
|
@@ -84,35 +78,29 @@ MSG
|
|
84
78
|
"a\n b: c\na\n d: e" => ["The line was indented 2 levels deeper than the previous line.", 4],
|
85
79
|
"a\n b: c\n a\n d: e" => ["The line was indented 3 levels deeper than the previous line.", 4],
|
86
80
|
"a\n \tb: c" => ["Indentation can't use both tabs and spaces.", 2],
|
87
|
-
"=a(" => '
|
88
|
-
"=a(b)" => '
|
89
|
-
"=a(,)" =>
|
90
|
-
"=a(
|
91
|
-
"=a(
|
81
|
+
"=a(" => 'Expected rparen token, was end of text.',
|
82
|
+
"=a(b)" => 'Expected rparen token, was ident token.',
|
83
|
+
"=a(,)" => "Expected rparen token, was comma token.",
|
84
|
+
"=a(!)" => "Syntax error in '(!)' at character 4.",
|
85
|
+
"=a(!foo bar)" => "Expected rparen token, was ident token.",
|
92
86
|
"=foo\n bar: baz\n+foo" => ["Properties aren't allowed at the root of a document.", 2],
|
93
|
-
"a-\#{
|
94
|
-
"=a(
|
95
|
-
"=a(
|
96
|
-
"=a(
|
87
|
+
"a-\#{!b\n c: d" => ["Expected end_interpolation token, was end of text.", 1],
|
88
|
+
"=a(!b = 1, !c)" => "Required argument !c must come before any optional arguments.",
|
89
|
+
"=a(!b = 1)\n :a= !b\ndiv\n +a(1,2)" => "Mixin a takes 1 argument but 2 were passed.",
|
90
|
+
"=a(!b)\n :a= !b\ndiv\n +a" => "Mixin a is missing parameter !b.",
|
97
91
|
"@else\n a\n b: c" => ["@else must come after @if.", 1],
|
98
92
|
"@if false\n@else foo" => "Invalid else directive '@else foo': expected 'if <expr>'.",
|
99
93
|
"@if false\n@else if " => "Invalid else directive '@else if': expected 'if <expr>'.",
|
100
|
-
"a\n !b
|
101
|
-
"
|
102
|
-
"
|
103
|
-
|
104
|
-
|
105
|
-
'@for
|
106
|
-
'@for
|
107
|
-
'@for $a from 1 to "foo"' => '"foo" is not an integer.',
|
108
|
-
'@for $a from 1 to 1.232323' => '1.232 is not an integer.',
|
109
|
-
'@for $a from 1px to 3em' => "Incompatible units: 'em' and 'px'.",
|
94
|
+
"a\n !b = 12\nc\n d = !b" => 'Undefined variable: "!b".',
|
95
|
+
"=foo\n !b = 12\nc\n +foo\n d = !b" => 'Undefined variable: "!b".',
|
96
|
+
'@for !a from "foo" to 1' => '"foo" is not an integer.',
|
97
|
+
'@for !a from 1 to "2"' => '"2" is not an integer.',
|
98
|
+
'@for !a from 1 to "foo"' => '"foo" is not an integer.',
|
99
|
+
'@for !a from 1 to 1.232323' => '1.232 is not an integer.',
|
100
|
+
'@for !a from 1px to 3em' => "Incompatible units: 'em' and 'px'.",
|
110
101
|
'@if' => "Invalid if directive '@if': expected expression.",
|
111
102
|
'@while' => "Invalid while directive '@while': expected expression.",
|
112
103
|
'@debug' => "Invalid debug directive '@debug': expected expression.",
|
113
|
-
%Q{@debug "a message"\n "nested message"} => "Illegal nesting: Nothing may be nested beneath debug directives.",
|
114
|
-
'@warn' => "Invalid warn directive '@warn': expected expression.",
|
115
|
-
%Q{@warn "a message"\n "nested message"} => "Illegal nesting: Nothing may be nested beneath warn directives.",
|
116
104
|
"/* foo\n bar\n baz" => "Inconsistent indentation: previous line was indented by 4 spaces, but this line was indented by 2 spaces.",
|
117
105
|
|
118
106
|
# Regression tests
|
@@ -206,297 +194,21 @@ SASS
|
|
206
194
|
end
|
207
195
|
|
208
196
|
def test_imported_exception
|
209
|
-
[
|
197
|
+
[nil, 2].each do |i|
|
210
198
|
begin
|
211
199
|
Sass::Engine.new("@import bork#{i}", :load_paths => [File.dirname(__FILE__) + '/templates/']).render
|
212
200
|
rescue Sass::SyntaxError => err
|
213
201
|
assert_equal(2, err.sass_line)
|
214
|
-
assert_match(/
|
215
|
-
|
216
|
-
assert_hash_has(err.sass_backtrace.first,
|
217
|
-
:filename => err.sass_filename, :line => err.sass_line)
|
218
|
-
|
219
|
-
assert_nil(err.sass_backtrace[1][:filename])
|
220
|
-
assert_equal(1, err.sass_backtrace[1][:line])
|
221
|
-
|
222
|
-
assert_match(/(\/|^)bork#{i}\.sass:2$/, err.backtrace.first)
|
223
|
-
assert_equal("(sass):1", err.backtrace[1])
|
224
|
-
else
|
225
|
-
assert(false, "Exception not raised for imported template: bork#{i}")
|
226
|
-
end
|
227
|
-
end
|
228
|
-
end
|
229
|
-
|
230
|
-
def test_double_imported_exception
|
231
|
-
[1, 2, 3, 4].each do |i|
|
232
|
-
begin
|
233
|
-
Sass::Engine.new("@import nested_bork#{i}", :load_paths => [File.dirname(__FILE__) + '/templates/']).render
|
234
|
-
rescue Sass::SyntaxError => err
|
235
|
-
assert_equal(2, err.sass_line)
|
236
|
-
assert_match(/(\/|^)bork#{i}\.sass$/, err.sass_filename)
|
237
|
-
|
238
|
-
assert_hash_has(err.sass_backtrace.first,
|
239
|
-
:filename => err.sass_filename, :line => err.sass_line)
|
240
|
-
|
241
|
-
assert_match(/(\/|^)nested_bork#{i}\.sass$/, err.sass_backtrace[1][:filename])
|
242
|
-
assert_equal(2, err.sass_backtrace[1][:line])
|
243
|
-
|
244
|
-
assert_nil(err.sass_backtrace[2][:filename])
|
245
|
-
assert_equal(1, err.sass_backtrace[2][:line])
|
246
|
-
|
247
|
-
assert_match(/(\/|^)bork#{i}\.sass:2$/, err.backtrace.first)
|
248
|
-
assert_match(/(\/|^)nested_bork#{i}\.sass:2$/, err.backtrace[1])
|
249
|
-
assert_equal("(sass):1", err.backtrace[2])
|
202
|
+
assert_match(/bork#{i}\.sass$/, err.sass_filename)
|
250
203
|
else
|
251
204
|
assert(false, "Exception not raised for imported template: bork#{i}")
|
252
205
|
end
|
253
206
|
end
|
254
207
|
end
|
255
208
|
|
256
|
-
def test_mixin_exception
|
257
|
-
render(<<SASS)
|
258
|
-
=error-mixin($a)
|
259
|
-
color: $a * 1em * 1px
|
260
|
-
|
261
|
-
=outer-mixin($a)
|
262
|
-
+error-mixin($a)
|
263
|
-
|
264
|
-
.error
|
265
|
-
+outer-mixin(12)
|
266
|
-
SASS
|
267
|
-
assert(false, "Exception not raised")
|
268
|
-
rescue Sass::SyntaxError => err
|
269
|
-
assert_equal(2, err.sass_line)
|
270
|
-
assert_equal(filename_for_test, err.sass_filename)
|
271
|
-
assert_equal("error-mixin", err.sass_mixin)
|
272
|
-
|
273
|
-
assert_hash_has(err.sass_backtrace.first, :line => err.sass_line,
|
274
|
-
:filename => err.sass_filename, :mixin => err.sass_mixin)
|
275
|
-
assert_hash_has(err.sass_backtrace[1], :line => 5,
|
276
|
-
:filename => filename_for_test, :mixin => "outer-mixin")
|
277
|
-
assert_hash_has(err.sass_backtrace[2], :line => 8,
|
278
|
-
:filename => filename_for_test, :mixin => nil)
|
279
|
-
|
280
|
-
assert_equal("#{filename_for_test}:2:in `error-mixin'", err.backtrace.first)
|
281
|
-
assert_equal("#{filename_for_test}:5:in `outer-mixin'", err.backtrace[1])
|
282
|
-
assert_equal("#{filename_for_test}:8", err.backtrace[2])
|
283
|
-
end
|
284
|
-
|
285
|
-
def test_mixin_callsite_exception
|
286
|
-
render(<<SASS)
|
287
|
-
=one-arg-mixin($a)
|
288
|
-
color: $a
|
289
|
-
|
290
|
-
=outer-mixin($a)
|
291
|
-
+one-arg-mixin($a, 12)
|
292
|
-
|
293
|
-
.error
|
294
|
-
+outer-mixin(12)
|
295
|
-
SASS
|
296
|
-
assert(false, "Exception not raised")
|
297
|
-
rescue Sass::SyntaxError => err
|
298
|
-
assert_hash_has(err.sass_backtrace.first, :line => 5,
|
299
|
-
:filename => filename_for_test, :mixin => "one-arg-mixin")
|
300
|
-
assert_hash_has(err.sass_backtrace[1], :line => 5,
|
301
|
-
:filename => filename_for_test, :mixin => "outer-mixin")
|
302
|
-
assert_hash_has(err.sass_backtrace[2], :line => 8,
|
303
|
-
:filename => filename_for_test, :mixin => nil)
|
304
|
-
end
|
305
|
-
|
306
|
-
def test_mixin_exception_cssize
|
307
|
-
render(<<SASS)
|
308
|
-
=parent-ref-mixin
|
309
|
-
& foo
|
310
|
-
a: b
|
311
|
-
|
312
|
-
=outer-mixin
|
313
|
-
+parent-ref-mixin
|
314
|
-
|
315
|
-
+outer-mixin
|
316
|
-
SASS
|
317
|
-
assert(false, "Exception not raised")
|
318
|
-
rescue Sass::SyntaxError => err
|
319
|
-
assert_hash_has(err.sass_backtrace.first, :line => 2,
|
320
|
-
:filename => filename_for_test, :mixin => "parent-ref-mixin")
|
321
|
-
assert_hash_has(err.sass_backtrace[1], :line => 6,
|
322
|
-
:filename => filename_for_test, :mixin => "outer-mixin")
|
323
|
-
assert_hash_has(err.sass_backtrace[2], :line => 8,
|
324
|
-
:filename => filename_for_test, :mixin => nil)
|
325
|
-
end
|
326
|
-
|
327
|
-
def test_mixin_and_import_exception
|
328
|
-
Sass::Engine.new("@import nested_mixin_bork", :load_paths => [File.dirname(__FILE__) + '/templates/']).render
|
329
|
-
assert(false, "Exception not raised")
|
330
|
-
rescue Sass::SyntaxError => err
|
331
|
-
assert_match(/(\/|^)nested_mixin_bork\.sass$/, err.sass_backtrace.first[:filename])
|
332
|
-
assert_hash_has(err.sass_backtrace.first, :mixin => "error-mixin", :line => 4)
|
333
|
-
|
334
|
-
assert_match(/(\/|^)mixin_bork\.sass$/, err.sass_backtrace[1][:filename])
|
335
|
-
assert_hash_has(err.sass_backtrace[1], :mixin => "outer-mixin", :line => 2)
|
336
|
-
|
337
|
-
assert_match(/(\/|^)mixin_bork\.sass$/, err.sass_backtrace[2][:filename])
|
338
|
-
assert_hash_has(err.sass_backtrace[2], :mixin => nil, :line => 5)
|
339
|
-
|
340
|
-
assert_match(/(\/|^)nested_mixin_bork\.sass$/, err.sass_backtrace[3][:filename])
|
341
|
-
assert_hash_has(err.sass_backtrace[3], :mixin => nil, :line => 6)
|
342
|
-
|
343
|
-
assert_hash_has(err.sass_backtrace[4], :filename => nil, :mixin => nil, :line => 1)
|
344
|
-
end
|
345
|
-
|
346
|
-
def test_basic_mixin_loop_exception
|
347
|
-
render <<SASS
|
348
|
-
@mixin foo
|
349
|
-
@include foo
|
350
|
-
@include foo
|
351
|
-
SASS
|
352
|
-
assert(false, "Exception not raised")
|
353
|
-
rescue Sass::SyntaxError => err
|
354
|
-
assert_equal("An @include loop has been found: foo includes itself", err.message)
|
355
|
-
assert_hash_has(err.sass_backtrace[0], :mixin => "foo", :line => 2)
|
356
|
-
end
|
357
|
-
|
358
|
-
def test_double_mixin_loop_exception
|
359
|
-
render <<SASS
|
360
|
-
@mixin foo
|
361
|
-
@include bar
|
362
|
-
@mixin bar
|
363
|
-
@include foo
|
364
|
-
@include foo
|
365
|
-
SASS
|
366
|
-
assert(false, "Exception not raised")
|
367
|
-
rescue Sass::SyntaxError => err
|
368
|
-
assert_equal(<<MESSAGE.rstrip, err.message)
|
369
|
-
An @include loop has been found:
|
370
|
-
foo includes bar
|
371
|
-
bar includes foo
|
372
|
-
MESSAGE
|
373
|
-
assert_hash_has(err.sass_backtrace[0], :mixin => "bar", :line => 4)
|
374
|
-
assert_hash_has(err.sass_backtrace[1], :mixin => "foo", :line => 2)
|
375
|
-
end
|
376
|
-
|
377
|
-
def test_deep_mixin_loop_exception
|
378
|
-
render <<SASS
|
379
|
-
@mixin foo
|
380
|
-
@include bar
|
381
|
-
|
382
|
-
@mixin bar
|
383
|
-
@include baz
|
384
|
-
|
385
|
-
@mixin baz
|
386
|
-
@include foo
|
387
|
-
|
388
|
-
@include foo
|
389
|
-
SASS
|
390
|
-
assert(false, "Exception not raised")
|
391
|
-
rescue Sass::SyntaxError => err
|
392
|
-
assert_equal(<<MESSAGE.rstrip, err.message)
|
393
|
-
An @include loop has been found:
|
394
|
-
foo includes bar
|
395
|
-
bar includes baz
|
396
|
-
baz includes foo
|
397
|
-
MESSAGE
|
398
|
-
assert_hash_has(err.sass_backtrace[0], :mixin => "baz", :line => 8)
|
399
|
-
assert_hash_has(err.sass_backtrace[1], :mixin => "bar", :line => 5)
|
400
|
-
assert_hash_has(err.sass_backtrace[2], :mixin => "foo", :line => 2)
|
401
|
-
end
|
402
|
-
|
403
|
-
def test_exception_css_with_offset
|
404
|
-
opts = {:full_exception => true, :line => 362}
|
405
|
-
render(("a\n b: c\n" * 10) + "d\n e:\n" + ("f\n g: h\n" * 10), opts)
|
406
|
-
rescue Sass::SyntaxError => e
|
407
|
-
assert_equal(<<CSS, Sass::SyntaxError.exception_to_css(e, opts).split("\n")[0..15].join("\n"))
|
408
|
-
/*
|
409
|
-
Syntax error: Invalid property: "e:" (no value).
|
410
|
-
on line 383 of test_exception_css_with_offset_inline.sass
|
411
|
-
|
412
|
-
378: a
|
413
|
-
379: b: c
|
414
|
-
380: a
|
415
|
-
381: b: c
|
416
|
-
382: d
|
417
|
-
383: e:
|
418
|
-
384: f
|
419
|
-
385: g: h
|
420
|
-
386: f
|
421
|
-
387: g: h
|
422
|
-
388: f
|
423
|
-
CSS
|
424
|
-
else
|
425
|
-
assert(false, "Exception not raised for test_exception_css_with_offset")
|
426
|
-
end
|
427
|
-
|
428
|
-
def test_exception_css_with_mixins
|
429
|
-
opts = {:full_exception => true}
|
430
|
-
render(<<SASS, opts)
|
431
|
-
=error-mixin($a)
|
432
|
-
color: $a * 1em * 1px
|
433
|
-
|
434
|
-
=outer-mixin($a)
|
435
|
-
+error-mixin($a)
|
436
|
-
|
437
|
-
.error
|
438
|
-
+outer-mixin(12)
|
439
|
-
SASS
|
440
|
-
rescue Sass::SyntaxError => e
|
441
|
-
assert_equal(<<CSS, Sass::SyntaxError.exception_to_css(e, opts).split("\n")[0..13].join("\n"))
|
442
|
-
/*
|
443
|
-
Syntax error: 12em*px isn't a valid CSS value.
|
444
|
-
on line 2 of test_exception_css_with_mixins_inline.sass, in `error-mixin'
|
445
|
-
from line 5 of test_exception_css_with_mixins_inline.sass, in `outer-mixin'
|
446
|
-
from line 8 of test_exception_css_with_mixins_inline.sass
|
447
|
-
|
448
|
-
1: =error-mixin($a)
|
449
|
-
2: color: $a * 1em * 1px
|
450
|
-
3:
|
451
|
-
4: =outer-mixin($a)
|
452
|
-
5: +error-mixin($a)
|
453
|
-
6:
|
454
|
-
7: .error
|
455
|
-
CSS
|
456
|
-
else
|
457
|
-
assert(false, "Exception not raised")
|
458
|
-
end
|
459
|
-
|
460
|
-
def test_cssize_exception_css
|
461
|
-
opts = {:full_exception => true}
|
462
|
-
render(<<SASS, opts)
|
463
|
-
.filler
|
464
|
-
stuff: "stuff!"
|
465
|
-
|
466
|
-
a: b
|
467
|
-
|
468
|
-
.more.filler
|
469
|
-
a: b
|
470
|
-
SASS
|
471
|
-
rescue Sass::SyntaxError => e
|
472
|
-
assert_equal(<<CSS, Sass::SyntaxError.exception_to_css(e, opts).split("\n")[0..11].join("\n"))
|
473
|
-
/*
|
474
|
-
Syntax error: Properties aren't allowed at the root of a document.
|
475
|
-
on line 4 of test_cssize_exception_css_inline.sass
|
476
|
-
|
477
|
-
1: .filler
|
478
|
-
2: stuff: "stuff!"
|
479
|
-
3:
|
480
|
-
4: a: b
|
481
|
-
5:
|
482
|
-
6: .more.filler
|
483
|
-
7: a: b
|
484
|
-
CSS
|
485
|
-
else
|
486
|
-
assert(false, "Exception not raised")
|
487
|
-
end
|
488
|
-
|
489
209
|
def test_css_import
|
490
|
-
assert_equal("@import url(./fonts.css);\n", render("@import
|
491
|
-
|
492
|
-
|
493
|
-
def test_http_import
|
494
|
-
assert_equal("@import url(http://fonts.googleapis.com/css?family=Droid+Sans);\n",
|
495
|
-
render("@import \"http://fonts.googleapis.com/css?family=Droid+Sans\""))
|
496
|
-
end
|
497
|
-
|
498
|
-
def test_url_import
|
499
|
-
assert_equal("@import url(fonts.sass);\n", render("@import url(fonts.sass)"))
|
210
|
+
assert_equal("@import url(./fonts.css) screen;\n", render("@import url(./fonts.css) screen"))
|
211
|
+
assert_equal("@import \"./fonts.css\" screen;\n", render("@import \"./fonts.css\" screen"))
|
500
212
|
end
|
501
213
|
|
502
214
|
def test_sass_import
|
@@ -507,7 +219,7 @@ CSS
|
|
507
219
|
|
508
220
|
def test_nonexistent_extensionless_import
|
509
221
|
assert_warning(<<WARN) do
|
510
|
-
WARNING:
|
222
|
+
WARNING: nonexistent.sass not found. Using nonexistent.css instead.
|
511
223
|
This behavior is deprecated and will be removed in a future version.
|
512
224
|
If you really need nonexistent.css, import it explicitly.
|
513
225
|
WARN
|
@@ -529,24 +241,18 @@ WARN
|
|
529
241
|
end
|
530
242
|
|
531
243
|
def test_default_function
|
532
|
-
assert_equal(
|
533
|
-
foo {
|
534
|
-
bar: url("foo.png"); }
|
535
|
-
CSS
|
536
|
-
foo
|
537
|
-
bar: url("foo.png")
|
538
|
-
SASS
|
539
|
-
assert_equal("foo {\n bar: url(); }\n", render("foo\n bar: url()\n"));
|
244
|
+
assert_equal("foo {\n bar: url(foo.png); }\n", render(%Q{foo\n bar = url("foo.png")\n}));
|
245
|
+
assert_equal("foo {\n bar: url(); }\n", render("foo\n bar = url()\n"));
|
540
246
|
end
|
541
247
|
|
542
248
|
def test_string_minus
|
543
|
-
assert_equal("foo {\n bar: baz-boom-bat; }\n", render(%Q{foo\n bar
|
544
|
-
assert_equal("foo {\n bar: -baz-boom; }\n", render(%Q{foo\n bar
|
249
|
+
assert_equal("foo {\n bar: baz-boom-bat; }\n", render(%Q{foo\n bar = "baz"-"boom"-"bat"}))
|
250
|
+
assert_equal("foo {\n bar: -baz-boom; }\n", render(%Q{foo\n bar = -"baz"-"boom"}))
|
545
251
|
end
|
546
252
|
|
547
253
|
def test_string_div
|
548
|
-
assert_equal("foo {\n bar: baz/boom/bat; }\n", render(%Q{foo\n bar
|
549
|
-
assert_equal("foo {\n bar: /baz/boom; }\n", render(%Q{foo\n bar
|
254
|
+
assert_equal("foo {\n bar: baz/boom/bat; }\n", render(%Q{foo\n bar = "baz"/"boom"/"bat"}))
|
255
|
+
assert_equal("foo {\n bar: /baz/boom; }\n", render(%Q{foo\n bar = /"baz"/"boom"}))
|
550
256
|
end
|
551
257
|
|
552
258
|
def test_basic_multiline_selector
|
@@ -660,40 +366,6 @@ END
|
|
660
366
|
assert_equal("@a{b:c;#d{e:f}g:h}\n", render(to_render, :style => :compressed))
|
661
367
|
end
|
662
368
|
|
663
|
-
def test_property_hacks
|
664
|
-
assert_equal(<<CSS, render(<<SASS))
|
665
|
-
foo {
|
666
|
-
_name: val;
|
667
|
-
*name: val;
|
668
|
-
#name: val;
|
669
|
-
.name: val;
|
670
|
-
name/**/: val;
|
671
|
-
name/*\\**/: val;
|
672
|
-
name: val; }
|
673
|
-
CSS
|
674
|
-
foo
|
675
|
-
_name: val
|
676
|
-
*name: val
|
677
|
-
#name: val
|
678
|
-
.name: val
|
679
|
-
name/**/: val
|
680
|
-
name/*\\**/: val
|
681
|
-
name: val
|
682
|
-
SASS
|
683
|
-
end
|
684
|
-
|
685
|
-
def test_properties_with_space_after_colon
|
686
|
-
assert_equal <<CSS, render(<<SASS)
|
687
|
-
foo {
|
688
|
-
bar: baz;
|
689
|
-
bizz: bap; }
|
690
|
-
CSS
|
691
|
-
foo
|
692
|
-
bar : baz
|
693
|
-
bizz : bap
|
694
|
-
SASS
|
695
|
-
end
|
696
|
-
|
697
369
|
def test_line_annotations
|
698
370
|
assert_equal(<<CSS, render(<<SASS, :line_comments => true, :style => :compact))
|
699
371
|
/* line 2, test_line_annotations_inline.sass */
|
@@ -742,85 +414,6 @@ SASS
|
|
742
414
|
renders_correctly "line_numbers", :line_comments => true, :load_paths => [File.dirname(__FILE__) + "/templates"]
|
743
415
|
end
|
744
416
|
|
745
|
-
def test_debug_info
|
746
|
-
esc_file_name = Sass::SCSS::RX.escape_ident(Haml::Util.scope("test_debug_info_inline.sass"))
|
747
|
-
|
748
|
-
assert_equal(<<CSS, render(<<SASS, :debug_info => true, :style => :compact))
|
749
|
-
@media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\000032}}
|
750
|
-
foo bar { foo: bar; }
|
751
|
-
@media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\000035}}
|
752
|
-
foo baz { blip: blop; }
|
753
|
-
|
754
|
-
@media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\000039}}
|
755
|
-
floodle { flop: blop; }
|
756
|
-
|
757
|
-
@media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\0000318}}
|
758
|
-
bup { mix: on; }
|
759
|
-
@media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\0000315}}
|
760
|
-
bup mixin { moop: mup; }
|
761
|
-
|
762
|
-
@media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\0000322}}
|
763
|
-
bip hop, skip hop { a: b; }
|
764
|
-
CSS
|
765
|
-
foo
|
766
|
-
bar
|
767
|
-
foo: bar
|
768
|
-
|
769
|
-
baz
|
770
|
-
blip: blop
|
771
|
-
|
772
|
-
|
773
|
-
floodle
|
774
|
-
|
775
|
-
flop: blop
|
776
|
-
|
777
|
-
=mxn
|
778
|
-
mix: on
|
779
|
-
mixin
|
780
|
-
moop: mup
|
781
|
-
|
782
|
-
bup
|
783
|
-
+mxn
|
784
|
-
|
785
|
-
bip, skip
|
786
|
-
hop
|
787
|
-
a: b
|
788
|
-
SASS
|
789
|
-
end
|
790
|
-
|
791
|
-
def test_debug_info_without_filename
|
792
|
-
assert_equal(<<CSS, Sass::Engine.new(<<SASS, :debug_info => true).render)
|
793
|
-
@media -sass-debug-info{filename{font-family:}line{font-family:\\000031}}
|
794
|
-
foo {
|
795
|
-
a: b; }
|
796
|
-
CSS
|
797
|
-
foo
|
798
|
-
a: b
|
799
|
-
SASS
|
800
|
-
end
|
801
|
-
|
802
|
-
def test_debug_info_with_compressed
|
803
|
-
assert_equal(<<CSS, render(<<SASS, :debug_info => true, :style => :compressed))
|
804
|
-
foo{a:b}
|
805
|
-
CSS
|
806
|
-
foo
|
807
|
-
a: b
|
808
|
-
SASS
|
809
|
-
end
|
810
|
-
|
811
|
-
def test_debug_info_with_line_annotations
|
812
|
-
esc_file_name = Sass::SCSS::RX.escape_ident(Haml::Util.scope("test_debug_info_with_line_annotations_inline.sass"))
|
813
|
-
|
814
|
-
assert_equal(<<CSS, render(<<SASS, :debug_info => true, :line_comments => true))
|
815
|
-
@media -sass-debug-info{filename{font-family:file\\:\\/\\/#{esc_file_name}}line{font-family:\\000031}}
|
816
|
-
foo {
|
817
|
-
a: b; }
|
818
|
-
CSS
|
819
|
-
foo
|
820
|
-
a: b
|
821
|
-
SASS
|
822
|
-
end
|
823
|
-
|
824
417
|
def test_empty_first_line
|
825
418
|
assert_equal("#a {\n b: c; }\n", render("#a\n\n b: c"))
|
826
419
|
end
|
@@ -834,124 +427,15 @@ SASS
|
|
834
427
|
assert_equal("foo {\n a: b;\n c: d;\n e: f; }\n", render("foo\r a: b\r\n c: d\n\r e: f"))
|
835
428
|
end
|
836
429
|
|
837
|
-
def
|
838
|
-
assert_equal(
|
839
|
-
foo {
|
840
|
-
a: b;
|
841
|
-
a-c: d;
|
842
|
-
a-c-e: f; }
|
843
|
-
CSS
|
844
|
-
foo
|
845
|
-
a: b
|
846
|
-
c: d
|
847
|
-
e: f
|
848
|
-
SASS
|
849
|
-
|
850
|
-
assert_equal(<<CSS, render(<<SASS))
|
851
|
-
foo {
|
852
|
-
a: b;
|
853
|
-
a-c-e: f; }
|
854
|
-
CSS
|
855
|
-
foo
|
856
|
-
a: b
|
857
|
-
c:
|
858
|
-
e: f
|
859
|
-
SASS
|
860
|
-
end
|
861
|
-
|
862
|
-
def test_equals_warning_for_properties
|
863
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
864
|
-
DEPRECATION WARNING:
|
865
|
-
On line 3, character 3 of 'test_equals_warning_for_properties_inline.sass'
|
866
|
-
Setting properties with = has been deprecated and will be removed in version 3.2.
|
867
|
-
Use "a: $var" instead.
|
868
|
-
|
869
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
870
|
-
WARN
|
871
|
-
foo {
|
872
|
-
a: 2px 3px; }
|
873
|
-
CSS
|
874
|
-
$var: 2px 3px
|
875
|
-
foo
|
876
|
-
a = $var
|
877
|
-
SASS
|
878
|
-
end
|
879
|
-
|
880
|
-
def test_equals_warning_for_dynamic_properties
|
881
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
882
|
-
DEPRECATION WARNING:
|
883
|
-
On line 4, character 3 of 'test_equals_warning_for_dynamic_properties_inline.sass'
|
884
|
-
Setting properties with = has been deprecated and will be removed in version 3.2.
|
885
|
-
Use "a-\#{$i}: $var" instead.
|
886
|
-
|
887
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
888
|
-
WARN
|
889
|
-
foo {
|
890
|
-
a-12: 2px 3px; }
|
891
|
-
CSS
|
892
|
-
$var: 2px 3px
|
893
|
-
$i: 12
|
894
|
-
foo
|
895
|
-
a-\#{$i} = $var
|
896
|
-
SASS
|
897
|
-
end
|
898
|
-
|
899
|
-
def test_equals_warning_for_property_with_string
|
900
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
901
|
-
DEPRECATION WARNING:
|
902
|
-
On line 2, character 3 of 'test_equals_warning_for_property_with_string_inline.sass'
|
903
|
-
Setting properties with = has been deprecated and will be removed in version 3.2.
|
904
|
-
Use "a: foo" instead.
|
905
|
-
|
906
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
907
|
-
WARN
|
908
|
-
foo {
|
909
|
-
a: foo; }
|
910
|
-
CSS
|
911
|
-
foo
|
912
|
-
a = "foo"
|
913
|
-
SASS
|
914
|
-
end
|
915
|
-
|
916
|
-
def test_equals_warning_for_property_with_division
|
917
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
918
|
-
DEPRECATION WARNING:
|
919
|
-
On line 2, character 3 of 'test_equals_warning_for_property_with_division_inline.sass'
|
920
|
-
Setting properties with = has been deprecated and will be removed in version 3.2.
|
921
|
-
Use "a: (1px / 2px)" instead.
|
922
|
-
|
923
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
924
|
-
WARN
|
925
|
-
foo {
|
926
|
-
a: 0.5; }
|
927
|
-
CSS
|
928
|
-
foo
|
929
|
-
a = 1px/2px
|
930
|
-
SASS
|
931
|
-
end
|
932
|
-
|
933
|
-
def test_guarded_assign
|
934
|
-
assert_equal("foo {\n a: b; }\n", render(%Q{$foo: b\n$foo: c !default\nfoo\n a: $foo}))
|
935
|
-
assert_equal("foo {\n a: b; }\n", render(%Q{$foo: b !default\nfoo\n a: $foo}))
|
430
|
+
def test_or_eq
|
431
|
+
assert_equal("foo {\n a: b; }\n", render(%Q{!foo = "b"\n!foo ||= "c"\nfoo\n a = !foo}))
|
432
|
+
assert_equal("foo {\n a: b; }\n", render(%Q{!foo ||= "b"\nfoo\n a = !foo}))
|
936
433
|
end
|
937
434
|
|
938
435
|
def test_mixins
|
939
436
|
renders_correctly "mixins", { :style => :expanded }
|
940
437
|
end
|
941
438
|
|
942
|
-
def test_directive_style_mixins
|
943
|
-
assert_equal <<CSS, render(<<SASS)
|
944
|
-
bar {
|
945
|
-
prop: baz; }
|
946
|
-
CSS
|
947
|
-
@mixin foo($arg)
|
948
|
-
prop: $arg
|
949
|
-
|
950
|
-
bar
|
951
|
-
@include foo(baz)
|
952
|
-
SASS
|
953
|
-
end
|
954
|
-
|
955
439
|
def test_mixins_dont_interfere_with_sibling_combinator
|
956
440
|
assert_equal("foo + bar {\n a: b; }\nfoo + baz {\n c: d; }\n",
|
957
441
|
render("foo\n +\n bar\n a: b\n baz\n c: d"))
|
@@ -959,33 +443,33 @@ SASS
|
|
959
443
|
|
960
444
|
def test_mixin_args
|
961
445
|
assert_equal("blat {\n baz: hi; }\n", render(<<SASS))
|
962
|
-
=foo(
|
963
|
-
baz
|
446
|
+
=foo(!bar)
|
447
|
+
baz = !bar
|
964
448
|
blat
|
965
|
-
+foo(hi)
|
449
|
+
+foo(\"hi\")
|
966
450
|
SASS
|
967
451
|
assert_equal("blat {\n baz: 3; }\n", render(<<SASS))
|
968
|
-
=foo(
|
969
|
-
baz
|
452
|
+
=foo(!a, !b)
|
453
|
+
baz = !a + !b
|
970
454
|
blat
|
971
455
|
+foo(1, 2)
|
972
456
|
SASS
|
973
457
|
assert_equal("blat {\n baz: 4;\n baz: 3;\n baz: 5;\n bang: 3; }\n", render(<<SASS))
|
974
|
-
=foo(
|
975
|
-
baz
|
976
|
-
|
458
|
+
=foo(!c = (6 + 4) / 2)
|
459
|
+
baz = !c
|
460
|
+
!c = 3
|
977
461
|
blat
|
978
|
-
+foo(
|
979
|
-
+foo((
|
462
|
+
+foo(!c + 1)
|
463
|
+
+foo((!c + 3)/2)
|
980
464
|
+foo
|
981
|
-
bang
|
465
|
+
bang = !c
|
982
466
|
SASS
|
983
467
|
end
|
984
468
|
|
985
469
|
def test_default_values_for_mixin_arguments
|
986
470
|
assert_equal("white {\n color: white; }\n\nblack {\n color: black; }\n", render(<<SASS))
|
987
|
-
=foo(
|
988
|
-
:color
|
471
|
+
=foo(!a = #FFF)
|
472
|
+
:color= !a
|
989
473
|
white
|
990
474
|
+foo
|
991
475
|
black
|
@@ -1007,11 +491,11 @@ three {
|
|
1007
491
|
padding: 2px;
|
1008
492
|
margin: 3px; }
|
1009
493
|
CSS
|
1010
|
-
|
1011
|
-
=foo(
|
1012
|
-
:color
|
1013
|
-
:padding
|
1014
|
-
:margin
|
494
|
+
!a = 5px
|
495
|
+
=foo(!a, !b = 1px, !c = 3px + !b)
|
496
|
+
:color= !a
|
497
|
+
:padding= !b
|
498
|
+
:margin= !c
|
1015
499
|
one
|
1016
500
|
+foo(#fff)
|
1017
501
|
two
|
@@ -1021,87 +505,23 @@ three
|
|
1021
505
|
SASS
|
1022
506
|
end
|
1023
507
|
|
1024
|
-
def test_hyphen_underscore_insensitive_mixins
|
1025
|
-
assert_equal(<<CSS, render(<<SASS))
|
1026
|
-
a {
|
1027
|
-
b: 12;
|
1028
|
-
c: foo; }
|
1029
|
-
CSS
|
1030
|
-
=mixin-hyphen
|
1031
|
-
b: 12
|
1032
|
-
|
1033
|
-
=mixin_under
|
1034
|
-
c: foo
|
1035
|
-
|
1036
|
-
a
|
1037
|
-
+mixin_hyphen
|
1038
|
-
+mixin-under
|
1039
|
-
SASS
|
1040
|
-
end
|
1041
|
-
|
1042
|
-
def test_equals_warning_for_mixin_args
|
1043
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
1044
|
-
DEPRECATION WARNING:
|
1045
|
-
On line 1, character 10 of 'test_equals_warning_for_mixin_args_inline.sass'
|
1046
|
-
Setting mixin argument defaults with = has been deprecated and will be removed in version 3.2.
|
1047
|
-
Use "$arg: 1px" instead.
|
1048
|
-
|
1049
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
1050
|
-
WARN
|
1051
|
-
bar {
|
1052
|
-
a: 1px; }
|
1053
|
-
CSS
|
1054
|
-
=foo($arg = 1px)
|
1055
|
-
a: $arg
|
1056
|
-
|
1057
|
-
bar
|
1058
|
-
+foo
|
1059
|
-
SASS
|
1060
|
-
end
|
1061
|
-
|
1062
|
-
def test_css_identifier_mixin
|
1063
|
-
assert_equal(<<CSS, render(<<SASS))
|
1064
|
-
a {
|
1065
|
-
foo: 12; }
|
1066
|
-
CSS
|
1067
|
-
=\\{foo\\(12\\)($a)
|
1068
|
-
foo: $a
|
1069
|
-
|
1070
|
-
a
|
1071
|
-
+\\{foo\\(12\\)(12)
|
1072
|
-
SASS
|
1073
|
-
end
|
1074
|
-
|
1075
508
|
def test_interpolation
|
1076
509
|
assert_equal("a-1 {\n b-2-3: c-3; }\n", render(<<SASS))
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
a-\#{
|
1081
|
-
b-\#{
|
1082
|
-
SASS
|
1083
|
-
end
|
1084
|
-
|
1085
|
-
def test_complex_property_interpolation
|
1086
|
-
assert_equal(<<CSS, render(<<SASS))
|
1087
|
-
a-1 {
|
1088
|
-
b-2 3-fizzap18: c-3; }
|
1089
|
-
CSS
|
1090
|
-
$a: 1
|
1091
|
-
$b: 2
|
1092
|
-
$c: 3
|
1093
|
-
a-\#{$a}
|
1094
|
-
b-\#{$b $c}-\#{fizzap + ($c + 15)}: c-\#{$a + $b}
|
510
|
+
!a = 1
|
511
|
+
!b = 2
|
512
|
+
!c = 3
|
513
|
+
a-\#{!a}
|
514
|
+
b-\#{!b}-\#{!c}: c-\#{!a + !b}
|
1095
515
|
SASS
|
1096
516
|
end
|
1097
517
|
|
1098
518
|
def test_if_directive
|
1099
519
|
assert_equal("a {\n b: 1; }\n", render(<<SASS))
|
1100
|
-
|
520
|
+
!var = true
|
1101
521
|
a
|
1102
|
-
@if
|
522
|
+
@if !var
|
1103
523
|
b: 1
|
1104
|
-
@if not
|
524
|
+
@if not !var
|
1105
525
|
b: 2
|
1106
526
|
SASS
|
1107
527
|
end
|
@@ -1109,16 +529,16 @@ SASS
|
|
1109
529
|
def test_for
|
1110
530
|
assert_equal(<<CSS, render(<<SASS))
|
1111
531
|
a-0 {
|
1112
|
-
|
532
|
+
2i: 0; }
|
1113
533
|
|
1114
534
|
a-1 {
|
1115
|
-
|
535
|
+
2i: 2; }
|
1116
536
|
|
1117
537
|
a-2 {
|
1118
|
-
|
538
|
+
2i: 4; }
|
1119
539
|
|
1120
540
|
a-3 {
|
1121
|
-
|
541
|
+
2i: 6; }
|
1122
542
|
|
1123
543
|
b-1 {
|
1124
544
|
j-1: 0; }
|
@@ -1132,38 +552,14 @@ b-3 {
|
|
1132
552
|
b-4 {
|
1133
553
|
j-1: 3; }
|
1134
554
|
CSS
|
1135
|
-
|
1136
|
-
@for
|
1137
|
-
a-\#{
|
1138
|
-
|
1139
|
-
|
1140
|
-
@for $j from 1 through 4
|
1141
|
-
b-\#{$j}
|
1142
|
-
j-1: $j - 1
|
1143
|
-
SASS
|
1144
|
-
end
|
1145
|
-
|
1146
|
-
def test_for_with_bang_var
|
1147
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
1148
|
-
DEPRECATION WARNING:
|
1149
|
-
On line 1, character 6 of 'test_for_with_bang_var_inline.sass'
|
1150
|
-
Variables with ! have been deprecated and will be removed in version 3.2.
|
1151
|
-
Use "$bar" instead.
|
1152
|
-
|
1153
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
1154
|
-
WARN
|
1155
|
-
a-0 {
|
1156
|
-
b: c; }
|
1157
|
-
|
1158
|
-
a-1 {
|
1159
|
-
b: c; }
|
555
|
+
!a = 3
|
556
|
+
@for !i from 0 to !a + 1
|
557
|
+
a-\#{!i}
|
558
|
+
2i = 2 * !i
|
1160
559
|
|
1161
|
-
|
1162
|
-
b
|
1163
|
-
|
1164
|
-
@for !bar from 0 to 3
|
1165
|
-
a-\#{$bar}
|
1166
|
-
b: c
|
560
|
+
@for !j from 1 through 4
|
561
|
+
b-\#{!j}
|
562
|
+
j-1 = !j - 1
|
1167
563
|
SASS
|
1168
564
|
end
|
1169
565
|
|
@@ -1184,11 +580,11 @@ a-2 {
|
|
1184
580
|
a-1 {
|
1185
581
|
blooble: gloop; }
|
1186
582
|
CSS
|
1187
|
-
|
1188
|
-
@while
|
1189
|
-
a-\#{
|
583
|
+
!a = 5
|
584
|
+
@while !a != 0
|
585
|
+
a-\#{!a}
|
1190
586
|
blooble: gloop
|
1191
|
-
|
587
|
+
!a = !a - 1
|
1192
588
|
SASS
|
1193
589
|
end
|
1194
590
|
|
@@ -1238,83 +634,11 @@ a {
|
|
1238
634
|
b: 1;
|
1239
635
|
c: 2; }
|
1240
636
|
CSS
|
1241
|
-
|
637
|
+
!a = 1
|
1242
638
|
a
|
1243
|
-
b
|
1244
|
-
|
1245
|
-
c
|
1246
|
-
SASS
|
1247
|
-
end
|
1248
|
-
|
1249
|
-
def test_bang_variables
|
1250
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
1251
|
-
DEPRECATION WARNING:
|
1252
|
-
On line 1, character 1 of 'test_bang_variables_inline.sass'
|
1253
|
-
Variables with ! have been deprecated and will be removed in version 3.2.
|
1254
|
-
Use "$bang-var" instead.
|
1255
|
-
|
1256
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
1257
|
-
WARN
|
1258
|
-
foo {
|
1259
|
-
a: 1px; }
|
1260
|
-
CSS
|
1261
|
-
!bang-var: 1px
|
1262
|
-
foo
|
1263
|
-
a: $bang-var
|
1264
|
-
SASS
|
1265
|
-
|
1266
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
1267
|
-
DEPRECATION WARNING:
|
1268
|
-
On line 3, character 6 of 'test_bang_variables_inline.sass'
|
1269
|
-
Variables with ! have been deprecated and will be removed in version 3.2.
|
1270
|
-
Use "$dollar-var" instead.
|
1271
|
-
|
1272
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
1273
|
-
WARN
|
1274
|
-
foo {
|
1275
|
-
a: 1px; }
|
1276
|
-
CSS
|
1277
|
-
$dollar-var: 1px
|
1278
|
-
foo
|
1279
|
-
a: !dollar-var
|
1280
|
-
SASS
|
1281
|
-
end
|
1282
|
-
|
1283
|
-
def test_equals_warning_for_variables
|
1284
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
1285
|
-
DEPRECATION WARNING:
|
1286
|
-
On line 2, character 1 of 'test_equals_warning_for_variables_inline.sass'
|
1287
|
-
Setting variables with = has been deprecated and will be removed in version 3.2.
|
1288
|
-
Use "$equals-var: 2px 3px" instead.
|
1289
|
-
|
1290
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
1291
|
-
WARN
|
1292
|
-
foo {
|
1293
|
-
a: 2px 3px; }
|
1294
|
-
CSS
|
1295
|
-
|
1296
|
-
$equals-var = 2px 3px
|
1297
|
-
foo
|
1298
|
-
a: $equals-var
|
1299
|
-
SASS
|
1300
|
-
end
|
1301
|
-
|
1302
|
-
def test_equals_warning_for_guarded_variables
|
1303
|
-
assert_warning(<<WARN) {assert_equal(<<CSS, render(<<SASS))}
|
1304
|
-
DEPRECATION WARNING:
|
1305
|
-
On line 2, character 1 of 'test_equals_warning_for_guarded_variables_inline.sass'
|
1306
|
-
Setting variable defaults with ||= has been deprecated and will be removed in version 3.2.
|
1307
|
-
Use "$equals-var: 2px 3px !default" instead.
|
1308
|
-
|
1309
|
-
You can use `sass-convert --in-place --from sass2 file.sass' to convert files automatically.
|
1310
|
-
WARN
|
1311
|
-
foo {
|
1312
|
-
a: 2px 3px; }
|
1313
|
-
CSS
|
1314
|
-
|
1315
|
-
$equals-var ||= 2px 3px
|
1316
|
-
foo
|
1317
|
-
a: $equals-var
|
639
|
+
b = !a
|
640
|
+
!a = 2
|
641
|
+
c = !a
|
1318
642
|
SASS
|
1319
643
|
end
|
1320
644
|
|
@@ -1328,69 +652,23 @@ a {
|
|
1328
652
|
b {
|
1329
653
|
d: 17; }
|
1330
654
|
CSS
|
1331
|
-
|
655
|
+
!i = 12
|
1332
656
|
a
|
1333
|
-
@for
|
1334
|
-
b-\#{
|
1335
|
-
d
|
657
|
+
@for !i from 1 through 2
|
658
|
+
b-\#{!i}: c
|
659
|
+
d = !i
|
1336
660
|
|
1337
661
|
=foo
|
1338
|
-
|
662
|
+
!i = 17
|
1339
663
|
|
1340
664
|
b
|
1341
665
|
+foo
|
1342
|
-
d
|
1343
|
-
SASS
|
1344
|
-
end
|
1345
|
-
|
1346
|
-
def test_hyphen_underscore_insensitive_variables
|
1347
|
-
assert_equal(<<CSS, render(<<SASS))
|
1348
|
-
a {
|
1349
|
-
b: c; }
|
1350
|
-
|
1351
|
-
d {
|
1352
|
-
e: 13;
|
1353
|
-
f: foobar; }
|
1354
|
-
CSS
|
1355
|
-
$var-hyphen: 12
|
1356
|
-
$var_under: foo
|
1357
|
-
|
1358
|
-
a
|
1359
|
-
$var_hyphen: 1 + $var_hyphen
|
1360
|
-
$var-under: $var-under + bar
|
1361
|
-
b: c
|
1362
|
-
|
1363
|
-
d
|
1364
|
-
e: $var-hyphen
|
1365
|
-
f: $var_under
|
1366
|
-
SASS
|
1367
|
-
end
|
1368
|
-
|
1369
|
-
def test_css_identifier_variable
|
1370
|
-
assert_equal(<<CSS, render(<<SASS))
|
1371
|
-
a {
|
1372
|
-
b: 12; }
|
1373
|
-
CSS
|
1374
|
-
$\\{foo\\(12\\): 12
|
1375
|
-
|
1376
|
-
a
|
1377
|
-
b: $\\{foo\\(12\\)
|
1378
|
-
SASS
|
1379
|
-
end
|
1380
|
-
|
1381
|
-
def test_important
|
1382
|
-
assert_equal(<<CSS, render(<<SASS))
|
1383
|
-
a {
|
1384
|
-
b: 12px !important; }
|
1385
|
-
CSS
|
1386
|
-
$foo: 12px
|
1387
|
-
a
|
1388
|
-
b: $foo !important
|
666
|
+
d = !i
|
1389
667
|
SASS
|
1390
668
|
end
|
1391
669
|
|
1392
670
|
def test_argument_error
|
1393
|
-
assert_raise(Sass::SyntaxError) { render("a\n b
|
671
|
+
assert_raise(Sass::SyntaxError) { render("a\n b = hsl(1)") }
|
1394
672
|
end
|
1395
673
|
|
1396
674
|
def test_comments_at_the_top_of_a_document
|
@@ -1419,30 +697,6 @@ foo {
|
|
1419
697
|
CSS
|
1420
698
|
end
|
1421
699
|
|
1422
|
-
def test_loud_comments_with_starred_lines
|
1423
|
-
assert_equal(<<CSS, render(<<SASS))
|
1424
|
-
/* This is a comment that
|
1425
|
-
* continues to the second line.
|
1426
|
-
* And even to the third! */
|
1427
|
-
CSS
|
1428
|
-
/* This is a comment that
|
1429
|
-
* continues to the second line.
|
1430
|
-
* And even to the third!
|
1431
|
-
SASS
|
1432
|
-
end
|
1433
|
-
|
1434
|
-
def test_loud_comments_with_no_space_after_starred_lines
|
1435
|
-
assert_equal(<<CSS, render(<<SASS))
|
1436
|
-
/*bip bop
|
1437
|
-
*beep boop
|
1438
|
-
*bap blimp */
|
1439
|
-
CSS
|
1440
|
-
/*bip bop
|
1441
|
-
*beep boop
|
1442
|
-
*bap blimp
|
1443
|
-
SASS
|
1444
|
-
end
|
1445
|
-
|
1446
700
|
def test_comment_indentation_at_beginning_of_doc
|
1447
701
|
assert_equal <<CSS, render(<<SASS)
|
1448
702
|
/* foo
|
@@ -1473,35 +727,9 @@ foo
|
|
1473
727
|
SASS
|
1474
728
|
end
|
1475
729
|
|
1476
|
-
def test_loud_comment_with_close
|
1477
|
-
assert_equal <<CSS, render(<<SASS)
|
1478
|
-
foo {
|
1479
|
-
/* foo
|
1480
|
-
* bar */ }
|
1481
|
-
CSS
|
1482
|
-
foo
|
1483
|
-
/* foo
|
1484
|
-
bar */
|
1485
|
-
SASS
|
1486
|
-
end
|
1487
|
-
|
1488
|
-
def test_loud_comment_with_separate_line_close
|
1489
|
-
assert_equal <<CSS, render(<<SASS)
|
1490
|
-
foo {
|
1491
|
-
/* foo
|
1492
|
-
* bar
|
1493
|
-
*/ }
|
1494
|
-
CSS
|
1495
|
-
foo
|
1496
|
-
/* foo
|
1497
|
-
* bar
|
1498
|
-
*/
|
1499
|
-
SASS
|
1500
|
-
end
|
1501
|
-
|
1502
730
|
def test_attribute_selector_with_spaces
|
1503
731
|
assert_equal(<<CSS, render(<<SASS))
|
1504
|
-
a b[foo=bar] {
|
732
|
+
a b[foo = bar] {
|
1505
733
|
c: d; }
|
1506
734
|
CSS
|
1507
735
|
a
|
@@ -1546,7 +774,25 @@ SASS
|
|
1546
774
|
def test_empty_selector_warning
|
1547
775
|
assert_warning(<<END) {render("foo bar")}
|
1548
776
|
WARNING on line 1 of test_empty_selector_warning_inline.sass:
|
1549
|
-
|
777
|
+
Selector "foo bar" doesn't have any properties and will not be rendered.
|
778
|
+
END
|
779
|
+
|
780
|
+
assert_warning(<<END) {render(<<SASS)}
|
781
|
+
WARNING on line 3 of test_empty_selector_warning_inline.sass:
|
782
|
+
Selector
|
783
|
+
foo, bar, baz,
|
784
|
+
bang, bip, bop
|
785
|
+
doesn't have any properties and will not be rendered.
|
786
|
+
END
|
787
|
+
|
788
|
+
|
789
|
+
foo, bar, baz,
|
790
|
+
bang, bip, bop
|
791
|
+
SASS
|
792
|
+
|
793
|
+
assert_warning(<<END) {render("foo bar", :filename => nil)}
|
794
|
+
WARNING on line 1:
|
795
|
+
Selector "foo bar" doesn't have any properties and will not be rendered.
|
1550
796
|
END
|
1551
797
|
end
|
1552
798
|
|
@@ -1581,356 +827,6 @@ foo
|
|
1581
827
|
SASS
|
1582
828
|
end
|
1583
829
|
|
1584
|
-
def test_interpolation_in_raw_functions
|
1585
|
-
assert_equal(<<CSS, render(<<SASS))
|
1586
|
-
foo {
|
1587
|
-
filter: progid:Microsoft.foo.bar.Baz(flip=foobar, bang=#00ff00cc); }
|
1588
|
-
CSS
|
1589
|
-
foo
|
1590
|
-
filter: progid:Microsoft.foo.bar.Baz(flip=\#{foo + bar}, bang=#00ff00cc)
|
1591
|
-
SASS
|
1592
|
-
end
|
1593
|
-
|
1594
|
-
# SassScript string behavior
|
1595
|
-
|
1596
|
-
def test_plus_preserves_quotedness
|
1597
|
-
assert_equal(<<CSS, render(<<SASS))
|
1598
|
-
foo {
|
1599
|
-
a: "foo1";
|
1600
|
-
b: "1foo";
|
1601
|
-
c: foo1;
|
1602
|
-
d: 1foo;
|
1603
|
-
e: "foobar";
|
1604
|
-
f: foobar; }
|
1605
|
-
CSS
|
1606
|
-
foo
|
1607
|
-
a: "foo" + 1
|
1608
|
-
b: 1 + "foo"
|
1609
|
-
c: foo + 1
|
1610
|
-
d: 1 + foo
|
1611
|
-
e: "foo" + bar
|
1612
|
-
f: foo + "bar"
|
1613
|
-
SASS
|
1614
|
-
end
|
1615
|
-
|
1616
|
-
def test_colon_properties_preserve_quotedness
|
1617
|
-
assert_equal(<<CSS, render(<<SASS))
|
1618
|
-
foo {
|
1619
|
-
a: "foo";
|
1620
|
-
b: bar;
|
1621
|
-
c: "foo" bar;
|
1622
|
-
d: foo, "bar"; }
|
1623
|
-
CSS
|
1624
|
-
foo
|
1625
|
-
a: "foo"
|
1626
|
-
b: bar
|
1627
|
-
c: "foo" bar
|
1628
|
-
d: foo, "bar"
|
1629
|
-
SASS
|
1630
|
-
end
|
1631
|
-
|
1632
|
-
def test_colon_variables_preserve_quotedness
|
1633
|
-
assert_equal(<<CSS, render(<<SASS))
|
1634
|
-
foo {
|
1635
|
-
a: "foo";
|
1636
|
-
b: bar; }
|
1637
|
-
CSS
|
1638
|
-
$a: "foo"
|
1639
|
-
$b: bar
|
1640
|
-
|
1641
|
-
foo
|
1642
|
-
a: $a
|
1643
|
-
b: $b
|
1644
|
-
SASS
|
1645
|
-
end
|
1646
|
-
|
1647
|
-
def test_colon_args_preserve_quotedness
|
1648
|
-
assert_equal(<<CSS, render(<<SASS))
|
1649
|
-
foo {
|
1650
|
-
a: "foo";
|
1651
|
-
b: bar;
|
1652
|
-
c: "foo" bar;
|
1653
|
-
d: foo, "bar"; }
|
1654
|
-
CSS
|
1655
|
-
=foo($a: "foo", $b: bar, $c: "foo" bar, $d: (foo, "bar"))
|
1656
|
-
foo
|
1657
|
-
a: $a
|
1658
|
-
b: $b
|
1659
|
-
c: $c
|
1660
|
-
d: $d
|
1661
|
-
|
1662
|
-
+foo
|
1663
|
-
SASS
|
1664
|
-
end
|
1665
|
-
|
1666
|
-
def test_interpolation_unquotes_strings
|
1667
|
-
assert_equal(<<CSS, render(<<SASS))
|
1668
|
-
.foo-bar {
|
1669
|
-
a: b; }
|
1670
|
-
CSS
|
1671
|
-
.foo-\#{"bar"}
|
1672
|
-
a: b
|
1673
|
-
SASS
|
1674
|
-
|
1675
|
-
assert_equal(<<CSS, render(<<SASS))
|
1676
|
-
.foo {
|
1677
|
-
a: b c; }
|
1678
|
-
CSS
|
1679
|
-
.foo
|
1680
|
-
a: b \#{"c"}
|
1681
|
-
SASS
|
1682
|
-
end
|
1683
|
-
|
1684
|
-
def test_interpolation_unquotes_strings_in_vars
|
1685
|
-
assert_equal(<<CSS, render(<<SASS))
|
1686
|
-
.foo-bar {
|
1687
|
-
a: b; }
|
1688
|
-
CSS
|
1689
|
-
$var: "bar"
|
1690
|
-
|
1691
|
-
.foo-\#{$var}
|
1692
|
-
a: b
|
1693
|
-
SASS
|
1694
|
-
end
|
1695
|
-
|
1696
|
-
def test_interpolation_doesnt_deep_unquote_strings
|
1697
|
-
assert_equal(<<CSS, render(<<SASS))
|
1698
|
-
.foo- "bar" "baz" {
|
1699
|
-
a: b; }
|
1700
|
-
CSS
|
1701
|
-
.foo-\#{"bar" "baz"}
|
1702
|
-
a: b
|
1703
|
-
SASS
|
1704
|
-
end
|
1705
|
-
|
1706
|
-
# Deprecated equals behavior
|
1707
|
-
|
1708
|
-
def test_equals_properties_unquote_strings
|
1709
|
-
silence_warnings do
|
1710
|
-
assert_equal(<<CSS, render(<<SASS))
|
1711
|
-
foo {
|
1712
|
-
a: foo;
|
1713
|
-
b: bar;
|
1714
|
-
c: foo bar;
|
1715
|
-
d: foo, bar baz;
|
1716
|
-
e: foo bar, bar; }
|
1717
|
-
CSS
|
1718
|
-
foo
|
1719
|
-
a= "foo"
|
1720
|
-
b= bar
|
1721
|
-
c= "foo" bar
|
1722
|
-
d= foo, "bar baz"
|
1723
|
-
e= "foo bar", bar
|
1724
|
-
SASS
|
1725
|
-
end
|
1726
|
-
end
|
1727
|
-
|
1728
|
-
def test_equals_properties_unquote_value
|
1729
|
-
silence_warnings do
|
1730
|
-
assert_equal(<<CSS, render(<<SASS))
|
1731
|
-
foo {
|
1732
|
-
a: foo; }
|
1733
|
-
CSS
|
1734
|
-
$var: "foo"
|
1735
|
-
|
1736
|
-
foo
|
1737
|
-
a= $var
|
1738
|
-
SASS
|
1739
|
-
end
|
1740
|
-
end
|
1741
|
-
|
1742
|
-
def test_equals_properties_deep_unquote_vars
|
1743
|
-
silence_warnings do
|
1744
|
-
assert_equal(<<CSS, render(<<SASS))
|
1745
|
-
foo {
|
1746
|
-
a: foo bar;
|
1747
|
-
b: bar foo; }
|
1748
|
-
CSS
|
1749
|
-
$var: "foo"
|
1750
|
-
|
1751
|
-
foo
|
1752
|
-
a= $var "bar"
|
1753
|
-
b= "bar" $var
|
1754
|
-
SASS
|
1755
|
-
end
|
1756
|
-
end
|
1757
|
-
|
1758
|
-
def test_equals_vars_unquote_strings
|
1759
|
-
silence_warnings do
|
1760
|
-
assert_equal(<<CSS, render(<<SASS))
|
1761
|
-
foo {
|
1762
|
-
a: foo;
|
1763
|
-
b: bar;
|
1764
|
-
c: foo bar;
|
1765
|
-
d: foo, bar; }
|
1766
|
-
CSS
|
1767
|
-
$a = "foo"
|
1768
|
-
$b = bar
|
1769
|
-
$c = "foo" bar
|
1770
|
-
$d = foo, "bar"
|
1771
|
-
|
1772
|
-
foo
|
1773
|
-
a: $a
|
1774
|
-
b: $b
|
1775
|
-
c: $c
|
1776
|
-
d: $d
|
1777
|
-
SASS
|
1778
|
-
end
|
1779
|
-
end
|
1780
|
-
|
1781
|
-
def test_equals_vars_unquote_value
|
1782
|
-
silence_warnings do
|
1783
|
-
assert_equal(<<CSS, render(<<SASS))
|
1784
|
-
foo {
|
1785
|
-
a: foo; }
|
1786
|
-
CSS
|
1787
|
-
$var1: "foo"
|
1788
|
-
$var2 = $var1
|
1789
|
-
|
1790
|
-
foo
|
1791
|
-
a: $var2
|
1792
|
-
SASS
|
1793
|
-
end
|
1794
|
-
end
|
1795
|
-
|
1796
|
-
def test_equals_vars_deep_unquote_vars
|
1797
|
-
silence_warnings do
|
1798
|
-
assert_equal(<<CSS, render(<<SASS))
|
1799
|
-
foo {
|
1800
|
-
a: foo bar;
|
1801
|
-
b: bar foo; }
|
1802
|
-
CSS
|
1803
|
-
$var: "foo"
|
1804
|
-
$a = $var "bar"
|
1805
|
-
$b = "bar" $var
|
1806
|
-
|
1807
|
-
foo
|
1808
|
-
a: $a
|
1809
|
-
b: $b
|
1810
|
-
SASS
|
1811
|
-
end
|
1812
|
-
end
|
1813
|
-
|
1814
|
-
def test_equals_args_unquote_strings
|
1815
|
-
silence_warnings do
|
1816
|
-
assert_equal(<<CSS, render(<<SASS))
|
1817
|
-
foo {
|
1818
|
-
a: foo;
|
1819
|
-
b: bar;
|
1820
|
-
c: foo bar;
|
1821
|
-
d: foo, bar; }
|
1822
|
-
CSS
|
1823
|
-
=foo($a = "foo", $b = bar, $c = "foo" bar, $d = (foo, "bar"))
|
1824
|
-
foo
|
1825
|
-
a: $a
|
1826
|
-
b: $b
|
1827
|
-
c: $c
|
1828
|
-
d: $d
|
1829
|
-
|
1830
|
-
+foo
|
1831
|
-
SASS
|
1832
|
-
end
|
1833
|
-
end
|
1834
|
-
|
1835
|
-
def test_equals_args_unquote_value
|
1836
|
-
silence_warnings do
|
1837
|
-
assert_equal(<<CSS, render(<<SASS))
|
1838
|
-
foo {
|
1839
|
-
a: foo; }
|
1840
|
-
CSS
|
1841
|
-
$var1: "foo"
|
1842
|
-
|
1843
|
-
=foo($var2 = $var1)
|
1844
|
-
foo
|
1845
|
-
a: $var2
|
1846
|
-
|
1847
|
-
+foo
|
1848
|
-
SASS
|
1849
|
-
end
|
1850
|
-
end
|
1851
|
-
|
1852
|
-
def test_equals_args_deep_unquote_vars
|
1853
|
-
silence_warnings do
|
1854
|
-
assert_equal(<<CSS, render(<<SASS))
|
1855
|
-
foo {
|
1856
|
-
a: foo bar;
|
1857
|
-
b: bar foo; }
|
1858
|
-
CSS
|
1859
|
-
$var: "foo"
|
1860
|
-
=foo($a = $var "bar", $b = "bar" $var)
|
1861
|
-
foo
|
1862
|
-
a: $a
|
1863
|
-
b: $b
|
1864
|
-
|
1865
|
-
+foo
|
1866
|
-
SASS
|
1867
|
-
end
|
1868
|
-
end
|
1869
|
-
|
1870
|
-
def test_equals_properties_force_division
|
1871
|
-
silence_warnings do
|
1872
|
-
assert_equal(<<CSS, render(<<SASS))
|
1873
|
-
foo {
|
1874
|
-
a: 0.5; }
|
1875
|
-
CSS
|
1876
|
-
foo
|
1877
|
-
a = 1px/2px
|
1878
|
-
SASS
|
1879
|
-
end
|
1880
|
-
end
|
1881
|
-
|
1882
|
-
def test_warn_directive
|
1883
|
-
expected_warning = <<EXPECTATION
|
1884
|
-
WARNING: this is a warning
|
1885
|
-
on line 4 of test_warn_directive_inline.sass
|
1886
|
-
|
1887
|
-
WARNING: this is a mixin warning
|
1888
|
-
on line 2 of test_warn_directive_inline.sass, in `foo'
|
1889
|
-
from line 7 of test_warn_directive_inline.sass
|
1890
|
-
EXPECTATION
|
1891
|
-
assert_warning expected_warning do
|
1892
|
-
assert_equal <<CSS, render(<<SASS)
|
1893
|
-
bar {
|
1894
|
-
c: d; }
|
1895
|
-
CSS
|
1896
|
-
=foo
|
1897
|
-
@warn "this is a mixin warning"
|
1898
|
-
|
1899
|
-
@warn "this is a warning"
|
1900
|
-
bar
|
1901
|
-
c: d
|
1902
|
-
+foo
|
1903
|
-
SASS
|
1904
|
-
end
|
1905
|
-
end
|
1906
|
-
|
1907
|
-
def test_warn_directive_when_quiet
|
1908
|
-
assert_warning "" do
|
1909
|
-
assert_equal <<CSS, render(<<SASS, :quiet => true)
|
1910
|
-
CSS
|
1911
|
-
@warn "this is a warning"
|
1912
|
-
SASS
|
1913
|
-
end
|
1914
|
-
end
|
1915
|
-
|
1916
|
-
def test_warn_with_imports
|
1917
|
-
expected_warning = <<WARN
|
1918
|
-
WARNING: In the main file
|
1919
|
-
on line 1 of #{File.dirname(__FILE__)}/templates/warn.sass
|
1920
|
-
|
1921
|
-
WARNING: Imported
|
1922
|
-
on line 1 of #{File.dirname(__FILE__)}/templates/warn_imported.sass
|
1923
|
-
from line 2 of #{File.dirname(__FILE__)}/templates/warn.sass
|
1924
|
-
|
1925
|
-
WARNING: In an imported mixin
|
1926
|
-
on line 4 of #{File.dirname(__FILE__)}/templates/warn_imported.sass, in `emits-a-warning'
|
1927
|
-
from line 3 of #{File.dirname(__FILE__)}/templates/warn.sass
|
1928
|
-
WARN
|
1929
|
-
assert_warning expected_warning do
|
1930
|
-
renders_correctly "warn", :style => :compact, :load_paths => [File.dirname(__FILE__) + "/templates"]
|
1931
|
-
end
|
1932
|
-
end
|
1933
|
-
|
1934
830
|
# Regression tests
|
1935
831
|
|
1936
832
|
def test_parens_in_mixins
|
@@ -1939,9 +835,9 @@ WARN
|
|
1939
835
|
color: #01ff7f;
|
1940
836
|
background-color: #000102; }
|
1941
837
|
CSS
|
1942
|
-
=foo(
|
1943
|
-
color
|
1944
|
-
background-color
|
838
|
+
=foo(!c1, !c2 = rgb(0, 1, 2))
|
839
|
+
color = !c1
|
840
|
+
background-color = !c2
|
1945
841
|
|
1946
842
|
.foo
|
1947
843
|
+foo(rgb(1,255,127))
|
@@ -1966,7 +862,7 @@ SOURCE
|
|
1966
862
|
RESULT
|
1967
863
|
.box
|
1968
864
|
:border
|
1969
|
-
|
865
|
+
/*:color black
|
1970
866
|
:style solid
|
1971
867
|
SOURCE
|
1972
868
|
|
@@ -2046,191 +942,8 @@ a
|
|
2046
942
|
SASS
|
2047
943
|
end
|
2048
944
|
|
2049
|
-
def test_options_available_in_environment
|
2050
|
-
assert_equal(<<CSS, render(<<SASS))
|
2051
|
-
a {
|
2052
|
-
b: nested; }
|
2053
|
-
CSS
|
2054
|
-
a
|
2055
|
-
b: option("style")
|
2056
|
-
SASS
|
2057
|
-
end
|
2058
|
-
|
2059
|
-
def test_mixin_no_arg_error
|
2060
|
-
assert_raise_message(Sass::SyntaxError, 'Invalid CSS after "($bar,": expected variable (e.g. $foo), was ")"') do
|
2061
|
-
render(<<SASS)
|
2062
|
-
=foo($bar,)
|
2063
|
-
bip: bap
|
2064
|
-
SASS
|
2065
|
-
end
|
2066
|
-
end
|
2067
|
-
|
2068
|
-
def test_import_with_commas_in_url
|
2069
|
-
assert_equal <<CSS, render(<<SASS)
|
2070
|
-
@import url(foo.css?bar,baz);
|
2071
|
-
CSS
|
2072
|
-
@import url(foo.css?bar,baz)
|
2073
|
-
SASS
|
2074
|
-
end
|
2075
|
-
|
2076
|
-
def test_function_output_with_comma
|
2077
|
-
assert_equal <<CSS, render(<<SASS)
|
2078
|
-
foo {
|
2079
|
-
a: b(c), d(e); }
|
2080
|
-
CSS
|
2081
|
-
foo
|
2082
|
-
a: b(c), d(e)
|
2083
|
-
SASS
|
2084
|
-
end
|
2085
|
-
|
2086
|
-
def test_interpolation_with_comma
|
2087
|
-
assert_equal <<CSS, render(<<SASS)
|
2088
|
-
foo {
|
2089
|
-
a: foo, bar; }
|
2090
|
-
CSS
|
2091
|
-
$foo: foo
|
2092
|
-
foo
|
2093
|
-
a: \#{$foo}, bar
|
2094
|
-
SASS
|
2095
|
-
end
|
2096
|
-
|
2097
|
-
def test_string_interpolation_with_comma
|
2098
|
-
assert_equal <<CSS, render(<<SASS)
|
2099
|
-
foo {
|
2100
|
-
a: "bip foo bap", bar; }
|
2101
|
-
CSS
|
2102
|
-
$foo: foo
|
2103
|
-
foo
|
2104
|
-
a: "bip \#{$foo} bap", bar
|
2105
|
-
SASS
|
2106
|
-
end
|
2107
|
-
|
2108
|
-
# Encodings
|
2109
|
-
|
2110
|
-
unless Haml::Util.ruby1_8?
|
2111
|
-
def test_encoding_error
|
2112
|
-
render("foo\nbar\nb\xFEaz".force_encoding("utf-8"))
|
2113
|
-
assert(false, "Expected exception")
|
2114
|
-
rescue Sass::SyntaxError => e
|
2115
|
-
assert_equal(3, e.sass_line)
|
2116
|
-
assert_equal('Invalid UTF-8 character "\xFE"', e.message)
|
2117
|
-
end
|
2118
|
-
|
2119
|
-
def test_ascii_incompatible_encoding_error
|
2120
|
-
template = "foo\nbar\nb_z".encode("utf-16le")
|
2121
|
-
template[9] = "\xFE".force_encoding("utf-16le")
|
2122
|
-
render(template)
|
2123
|
-
assert(false, "Expected exception")
|
2124
|
-
rescue Sass::SyntaxError => e
|
2125
|
-
assert_equal(3, e.sass_line)
|
2126
|
-
assert_equal('Invalid UTF-16LE character "\xFE"', e.message)
|
2127
|
-
end
|
2128
|
-
|
2129
|
-
def test_same_charset_as_encoding
|
2130
|
-
assert_renders_encoded(<<CSS, <<SASS)
|
2131
|
-
@charset "UTF-8";
|
2132
|
-
fóó {
|
2133
|
-
a: b; }
|
2134
|
-
CSS
|
2135
|
-
@charset "utf-8"
|
2136
|
-
fóó
|
2137
|
-
a: b
|
2138
|
-
SASS
|
2139
|
-
end
|
2140
|
-
|
2141
|
-
def test_different_charset_than_encoding
|
2142
|
-
assert_renders_encoded(<<CSS.force_encoding("IBM866"), <<SASS)
|
2143
|
-
@charset "IBM866";
|
2144
|
-
fóó {
|
2145
|
-
a: b; }
|
2146
|
-
CSS
|
2147
|
-
@charset "ibm866"
|
2148
|
-
fóó
|
2149
|
-
a: b
|
2150
|
-
SASS
|
2151
|
-
end
|
2152
|
-
|
2153
|
-
def test_different_encoding_than_system
|
2154
|
-
assert_renders_encoded(<<CSS.encode("IBM866"), <<SASS.encode("IBM866"))
|
2155
|
-
@charset "IBM866";
|
2156
|
-
тАЬ {
|
2157
|
-
a: b; }
|
2158
|
-
CSS
|
2159
|
-
тАЬ
|
2160
|
-
a: b
|
2161
|
-
SASS
|
2162
|
-
end
|
2163
|
-
|
2164
|
-
def test_multibyte_charset
|
2165
|
-
assert_renders_encoded(<<CSS.encode("UTF-16LE"), <<SASS.encode("UTF-16LE").force_encoding("UTF-8"))
|
2166
|
-
@charset "UTF-16LE";
|
2167
|
-
fóó {
|
2168
|
-
a: b; }
|
2169
|
-
CSS
|
2170
|
-
@charset "utf-16le"
|
2171
|
-
fóó
|
2172
|
-
a: b
|
2173
|
-
SASS
|
2174
|
-
end
|
2175
|
-
|
2176
|
-
def test_multibyte_charset_without_endian_specifier
|
2177
|
-
assert_renders_encoded(<<CSS.encode("UTF-32BE"), <<SASS.encode("UTF-32BE").force_encoding("UTF-8"))
|
2178
|
-
@charset "UTF-32BE";
|
2179
|
-
fóó {
|
2180
|
-
a: b; }
|
2181
|
-
CSS
|
2182
|
-
@charset "utf-32"
|
2183
|
-
fóó
|
2184
|
-
a: b
|
2185
|
-
SASS
|
2186
|
-
end
|
2187
|
-
|
2188
|
-
def test_utf8_bom
|
2189
|
-
assert_renders_encoded(<<CSS, <<SASS.force_encoding("BINARY"))
|
2190
|
-
@charset "UTF-8";
|
2191
|
-
fóó {
|
2192
|
-
a: b; }
|
2193
|
-
CSS
|
2194
|
-
\uFEFFfóó
|
2195
|
-
a: b
|
2196
|
-
SASS
|
2197
|
-
end
|
2198
|
-
|
2199
|
-
def test_utf16le_bom
|
2200
|
-
assert_renders_encoded(<<CSS.encode("UTF-16LE"), <<SASS.encode("UTF-16LE").force_encoding("BINARY"))
|
2201
|
-
@charset "UTF-16LE";
|
2202
|
-
fóó {
|
2203
|
-
a: b; }
|
2204
|
-
CSS
|
2205
|
-
\uFEFFfóó
|
2206
|
-
a: b
|
2207
|
-
SASS
|
2208
|
-
end
|
2209
|
-
|
2210
|
-
def test_utf32be_bom
|
2211
|
-
assert_renders_encoded(<<CSS.encode("UTF-32BE"), <<SASS.encode("UTF-32BE").force_encoding("BINARY"))
|
2212
|
-
@charset "UTF-32BE";
|
2213
|
-
fóó {
|
2214
|
-
a: b; }
|
2215
|
-
CSS
|
2216
|
-
\uFEFFfóó
|
2217
|
-
a: b
|
2218
|
-
SASS
|
2219
|
-
end
|
2220
|
-
end
|
2221
|
-
|
2222
945
|
private
|
2223
|
-
|
2224
|
-
def assert_hash_has(hash, expected)
|
2225
|
-
expected.each {|k, v| assert_equal(v, hash[k])}
|
2226
|
-
end
|
2227
|
-
|
2228
|
-
def assert_renders_encoded(css, sass)
|
2229
|
-
result = render(sass)
|
2230
|
-
assert_equal css.encoding, result.encoding
|
2231
|
-
assert_equal css, result
|
2232
|
-
end
|
2233
|
-
|
946
|
+
|
2234
947
|
def render(sass, options = {})
|
2235
948
|
munge_filename options
|
2236
949
|
Sass::Engine.new(sass, options).render
|
@@ -2260,4 +973,3 @@ SASS
|
|
2260
973
|
Sass::Files.send(:sassc_filename, sassc_path, Sass::Engine::DEFAULT_OPTIONS)
|
2261
974
|
end
|
2262
975
|
end
|
2263
|
-
|