haml 3.2.0.alpha.10 → 3.2.0.alpha.13
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of haml might be problematic. Click here for more details.
- data/.yardopts +19 -7
- data/CHANGELOG.md +1224 -0
- data/FAQ.md +157 -0
- data/README.md +99 -62
- data/REFERENCE.md +1404 -0
- data/Rakefile +52 -341
- data/init.rb +1 -18
- data/lib/haml.rb +6 -30
- data/lib/haml/buffer.rb +37 -16
- data/lib/haml/compiler.rb +52 -13
- data/lib/haml/engine.rb +61 -44
- data/lib/haml/exec.rb +21 -4
- data/lib/haml/filters.rb +136 -166
- data/lib/haml/helpers.rb +37 -10
- data/lib/haml/helpers/action_view_extensions.rb +2 -1
- data/lib/haml/helpers/action_view_mods.rb +67 -181
- data/lib/haml/helpers/rails_323_textarea_fix.rb +39 -0
- data/lib/haml/helpers/xss_mods.rb +9 -11
- data/lib/haml/html.rb +22 -9
- data/lib/haml/html/erb.rb +1 -1
- data/lib/haml/parser.rb +22 -15
- data/lib/haml/railtie.rb +2 -13
- data/lib/haml/template.rb +18 -85
- data/lib/haml/template/options.rb +1 -1
- data/lib/haml/template/plugin.rb +15 -101
- data/lib/haml/util.rb +120 -603
- data/lib/haml/version.rb +1 -107
- data/test/{haml/engine_test.rb → engine_test.rb} +137 -143
- data/test/{haml/erb → erb}/_av_partial_1.erb +1 -1
- data/test/{haml/erb → erb}/_av_partial_2.erb +1 -1
- data/test/{haml/erb → erb}/action_view.erb +1 -1
- data/test/{haml/erb → erb}/standard.erb +0 -0
- data/test/filters_test.rb +141 -0
- data/test/gemfiles/Gemfile.rails-3.0.x +4 -6
- data/test/gemfiles/Gemfile.rails-3.1.x +5 -6
- data/test/gemfiles/Gemfile.rails-3.2.x +6 -0
- data/test/haml-spec/LICENSE +14 -0
- data/test/{haml/spec → haml-spec}/README.md +26 -17
- data/test/haml-spec/lua_haml_spec.lua +38 -0
- data/test/haml-spec/perl_haml_test.pl +81 -0
- data/test/haml-spec/ruby_haml_test.rb +23 -0
- data/test/{haml/spec → haml-spec}/tests.json +132 -54
- data/test/{haml/helper_test.rb → helper_test.rb} +50 -36
- data/test/{haml/html2haml → html2haml}/erb_tests.rb +0 -0
- data/test/{haml/html2haml_test.rb → html2haml_test.rb} +11 -5
- data/test/{haml/markaby → markaby}/standard.mab +0 -0
- data/test/{haml/mocks → mocks}/article.rb +0 -0
- data/test/{haml/results → results}/content_for_layout.xhtml +0 -0
- data/test/{haml/results → results}/eval_suppressed.xhtml +0 -0
- data/test/{haml/results → results}/helpers.xhtml +0 -0
- data/test/{haml/results → results}/helpful.xhtml +0 -0
- data/test/{haml/results → results}/just_stuff.xhtml +0 -0
- data/test/{haml/results → results}/list.xhtml +0 -0
- data/test/{haml/results → results}/nuke_inner_whitespace.xhtml +0 -0
- data/test/{haml/results → results}/nuke_outer_whitespace.xhtml +0 -0
- data/test/{haml/results → results}/original_engine.xhtml +0 -0
- data/test/{haml/results → results}/partial_layout.xhtml +0 -0
- data/test/{haml/results → results}/partials.xhtml +0 -0
- data/test/{haml/results → results}/render_layout.xhtml +0 -0
- data/test/{haml/results → results}/silent_script.xhtml +1 -1
- data/test/{haml/results → results}/standard.xhtml +0 -0
- data/test/{haml/results → results}/tag_parsing.xhtml +0 -0
- data/test/{haml/results → results}/very_basic.xhtml +0 -0
- data/test/{haml/results → results}/whitespace_handling.xhtml +46 -50
- data/test/{haml/template_test.rb → template_test.rb} +20 -81
- data/test/{haml/templates → templates}/_av_partial_1.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_1_ugly.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_2.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_2_ugly.haml +1 -1
- data/test/{haml/templates → templates}/_layout.erb +0 -0
- data/test/{haml/templates → templates}/_layout_for_partial.haml +0 -0
- data/test/{haml/templates → templates}/_partial.haml +0 -0
- data/test/{haml/templates → templates}/_text_area.haml +0 -0
- data/test/{haml/templates → templates}/action_view.haml +1 -1
- data/test/{haml/templates → templates}/action_view_ugly.haml +1 -1
- data/test/{haml/templates → templates}/breakage.haml +0 -0
- data/test/{haml/templates → templates}/content_for_layout.haml +0 -0
- data/test/{haml/templates → templates}/eval_suppressed.haml +0 -0
- data/test/{haml/templates → templates}/helpers.haml +0 -0
- data/test/{haml/templates → templates}/helpful.haml +0 -0
- data/test/{haml/templates → templates}/just_stuff.haml +0 -0
- data/test/{haml/templates → templates}/list.haml +0 -0
- data/test/{haml/templates → templates}/nuke_inner_whitespace.haml +0 -0
- data/test/{haml/templates → templates}/nuke_outer_whitespace.haml +0 -0
- data/test/{haml/templates → templates}/original_engine.haml +0 -0
- data/test/templates/partial_layout.haml +3 -0
- data/test/{haml/templates → templates}/partialize.haml +0 -0
- data/test/{haml/templates → templates}/partials.haml +0 -0
- data/test/{haml/templates → templates}/render_layout.haml +0 -0
- data/test/{haml/templates → templates}/silent_script.haml +2 -2
- data/test/{haml/templates → templates}/standard.haml +0 -0
- data/test/{haml/templates → templates}/standard_ugly.haml +0 -0
- data/test/{haml/templates → templates}/tag_parsing.haml +0 -0
- data/test/{haml/templates → templates}/very_basic.haml +0 -0
- data/test/{haml/templates → templates}/whitespace_handling.haml +0 -0
- data/test/test_helper.rb +42 -34
- data/test/util_test.rb +80 -0
- metadata +259 -427
- data/CONTRIBUTING +0 -3
- data/REVISION +0 -1
- data/VERSION +0 -1
- data/VERSION_NAME +0 -1
- data/extra/update_watch.rb +0 -13
- data/lib/haml/root.rb +0 -7
- data/lib/haml/shared.rb +0 -78
- data/lib/haml/template/patch.rb +0 -58
- data/lib/sass.rb +0 -8
- data/lib/sass/plugin.rb +0 -10
- data/lib/sass/rails2_shim.rb +0 -9
- data/lib/sass/rails3_shim.rb +0 -16
- data/test/benchmark.rb +0 -91
- data/test/gemfiles/Gemfile.rails-2.0.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.1.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.2.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.3.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
- data/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
- data/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -98
- data/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
- data/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
- data/test/haml/results/filters.xhtml +0 -62
- data/test/haml/spec/lua_haml_spec.lua +0 -30
- data/test/haml/spec/ruby_haml_test.rb +0 -19
- data/test/haml/spec_test.rb +0 -44
- data/test/haml/templates/filters.haml +0 -66
- data/test/haml/templates/partial_layout.haml +0 -10
- data/test/haml/util_test.rb +0 -300
- data/test/linked_rails.rb +0 -42
- data/vendor/sass/CONTRIBUTING +0 -3
- data/vendor/sass/MIT-LICENSE +0 -20
- data/vendor/sass/README.md +0 -201
- data/vendor/sass/Rakefile +0 -339
- data/vendor/sass/TODO +0 -39
- data/vendor/sass/VERSION +0 -1
- data/vendor/sass/VERSION_NAME +0 -1
- data/vendor/sass/bin/sass +0 -8
- data/vendor/sass/bin/sass-convert +0 -7
- data/vendor/sass/bin/scss +0 -8
- data/vendor/sass/doc-src/FAQ.md +0 -35
- data/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
- data/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -2327
- data/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1965
- data/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
- data/vendor/sass/ext/extconf.rb +0 -10
- data/vendor/sass/extra/update_watch.rb +0 -13
- data/vendor/sass/init.rb +0 -18
- data/vendor/sass/lib/sass.rb +0 -73
- data/vendor/sass/lib/sass/cache_stores.rb +0 -15
- data/vendor/sass/lib/sass/cache_stores/base.rb +0 -86
- data/vendor/sass/lib/sass/cache_stores/chain.rb +0 -33
- data/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -60
- data/vendor/sass/lib/sass/cache_stores/memory.rb +0 -47
- data/vendor/sass/lib/sass/cache_stores/null.rb +0 -25
- data/vendor/sass/lib/sass/callbacks.rb +0 -66
- data/vendor/sass/lib/sass/css.rb +0 -295
- data/vendor/sass/lib/sass/engine.rb +0 -878
- data/vendor/sass/lib/sass/environment.rb +0 -166
- data/vendor/sass/lib/sass/error.rb +0 -201
- data/vendor/sass/lib/sass/exec.rb +0 -672
- data/vendor/sass/lib/sass/importers.rb +0 -22
- data/vendor/sass/lib/sass/importers/base.rb +0 -139
- data/vendor/sass/lib/sass/importers/filesystem.rb +0 -149
- data/vendor/sass/lib/sass/less.rb +0 -382
- data/vendor/sass/lib/sass/logger.rb +0 -15
- data/vendor/sass/lib/sass/logger/base.rb +0 -32
- data/vendor/sass/lib/sass/logger/log_level.rb +0 -49
- data/vendor/sass/lib/sass/plugin.rb +0 -132
- data/vendor/sass/lib/sass/plugin/compiler.rb +0 -383
- data/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
- data/vendor/sass/lib/sass/plugin/generic.rb +0 -15
- data/vendor/sass/lib/sass/plugin/merb.rb +0 -48
- data/vendor/sass/lib/sass/plugin/rack.rb +0 -60
- data/vendor/sass/lib/sass/plugin/rails.rb +0 -47
- data/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -173
- data/vendor/sass/lib/sass/railtie.rb +0 -9
- data/vendor/sass/lib/sass/repl.rb +0 -58
- data/vendor/sass/lib/sass/root.rb +0 -7
- data/vendor/sass/lib/sass/script.rb +0 -40
- data/vendor/sass/lib/sass/script/bool.rb +0 -18
- data/vendor/sass/lib/sass/script/color.rb +0 -480
- data/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
- data/vendor/sass/lib/sass/script/css_parser.rb +0 -31
- data/vendor/sass/lib/sass/script/funcall.rb +0 -175
- data/vendor/sass/lib/sass/script/functions.rb +0 -1386
- data/vendor/sass/lib/sass/script/interpolation.rb +0 -79
- data/vendor/sass/lib/sass/script/lexer.rb +0 -339
- data/vendor/sass/lib/sass/script/list.rb +0 -83
- data/vendor/sass/lib/sass/script/literal.rb +0 -250
- data/vendor/sass/lib/sass/script/node.rb +0 -99
- data/vendor/sass/lib/sass/script/number.rb +0 -452
- data/vendor/sass/lib/sass/script/operation.rb +0 -99
- data/vendor/sass/lib/sass/script/parser.rb +0 -474
- data/vendor/sass/lib/sass/script/string.rb +0 -51
- data/vendor/sass/lib/sass/script/string_interpolation.rb +0 -103
- data/vendor/sass/lib/sass/script/unary_operation.rb +0 -64
- data/vendor/sass/lib/sass/script/variable.rb +0 -59
- data/vendor/sass/lib/sass/scss.rb +0 -17
- data/vendor/sass/lib/sass/scss/css_parser.rb +0 -46
- data/vendor/sass/lib/sass/scss/parser.rb +0 -960
- data/vendor/sass/lib/sass/scss/rx.rb +0 -128
- data/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
- data/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
- data/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
- data/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
- data/vendor/sass/lib/sass/selector.rb +0 -361
- data/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
- data/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -81
- data/vendor/sass/lib/sass/selector/sequence.rb +0 -233
- data/vendor/sass/lib/sass/selector/simple.rb +0 -113
- data/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -134
- data/vendor/sass/lib/sass/shared.rb +0 -78
- data/vendor/sass/lib/sass/tree/charset_node.rb +0 -22
- data/vendor/sass/lib/sass/tree/comment_node.rb +0 -90
- data/vendor/sass/lib/sass/tree/debug_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/directive_node.rb +0 -23
- data/vendor/sass/lib/sass/tree/each_node.rb +0 -24
- data/vendor/sass/lib/sass/tree/extend_node.rb +0 -29
- data/vendor/sass/lib/sass/tree/for_node.rb +0 -36
- data/vendor/sass/lib/sass/tree/function_node.rb +0 -27
- data/vendor/sass/lib/sass/tree/if_node.rb +0 -52
- data/vendor/sass/lib/sass/tree/import_node.rb +0 -68
- data/vendor/sass/lib/sass/tree/media_node.rb +0 -32
- data/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -27
- data/vendor/sass/lib/sass/tree/mixin_node.rb +0 -32
- data/vendor/sass/lib/sass/tree/node.rb +0 -201
- data/vendor/sass/lib/sass/tree/prop_node.rb +0 -148
- data/vendor/sass/lib/sass/tree/return_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/root_node.rb +0 -28
- data/vendor/sass/lib/sass/tree/rule_node.rb +0 -136
- data/vendor/sass/lib/sass/tree/variable_node.rb +0 -30
- data/vendor/sass/lib/sass/tree/visitors/base.rb +0 -75
- data/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +0 -133
- data/vendor/sass/lib/sass/tree/visitors/convert.rb +0 -260
- data/vendor/sass/lib/sass/tree/visitors/cssize.rb +0 -175
- data/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
- data/vendor/sass/lib/sass/tree/visitors/perform.rb +0 -332
- data/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
- data/vendor/sass/lib/sass/tree/visitors/to_css.rb +0 -210
- data/vendor/sass/lib/sass/tree/warn_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/while_node.rb +0 -18
- data/vendor/sass/lib/sass/util.rb +0 -721
- data/vendor/sass/lib/sass/util/subset_map.rb +0 -101
- data/vendor/sass/lib/sass/version.rb +0 -112
- data/vendor/sass/rails/init.rb +0 -1
- data/vendor/sass/sass.gemspec +0 -33
- data/vendor/sass/test/Gemfile +0 -4
- data/vendor/sass/test/Gemfile.lock +0 -19
- data/vendor/sass/test/sass/cache_test.rb +0 -89
- data/vendor/sass/test/sass/callbacks_test.rb +0 -61
- data/vendor/sass/test/sass/conversion_test.rb +0 -1199
- data/vendor/sass/test/sass/css2sass_test.rb +0 -373
- data/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
- data/vendor/sass/test/sass/engine_test.rb +0 -2567
- data/vendor/sass/test/sass/extend_test.rb +0 -1348
- data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
- data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
- data/vendor/sass/test/sass/functions_test.rb +0 -1038
- data/vendor/sass/test/sass/importer_test.rb +0 -192
- data/vendor/sass/test/sass/less_conversion_test.rb +0 -653
- data/vendor/sass/test/sass/logger_test.rb +0 -58
- data/vendor/sass/test/sass/mock_importer.rb +0 -49
- data/vendor/sass/test/sass/more_results/more1.css +0 -9
- data/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
- data/vendor/sass/test/sass/more_results/more_import.css +0 -29
- data/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
- data/vendor/sass/test/sass/more_templates/more1.sass +0 -23
- data/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
- data/vendor/sass/test/sass/plugin_test.rb +0 -472
- data/vendor/sass/test/sass/results/alt.css +0 -4
- data/vendor/sass/test/sass/results/basic.css +0 -9
- data/vendor/sass/test/sass/results/compact.css +0 -5
- data/vendor/sass/test/sass/results/complex.css +0 -86
- data/vendor/sass/test/sass/results/compressed.css +0 -1
- data/vendor/sass/test/sass/results/expanded.css +0 -19
- data/vendor/sass/test/sass/results/if.css +0 -3
- data/vendor/sass/test/sass/results/import.css +0 -31
- data/vendor/sass/test/sass/results/import_charset.css +0 -4
- data/vendor/sass/test/sass/results/import_charset_1_8.css +0 -4
- data/vendor/sass/test/sass/results/import_charset_ibm866.css +0 -4
- data/vendor/sass/test/sass/results/line_numbers.css +0 -49
- data/vendor/sass/test/sass/results/mixins.css +0 -95
- data/vendor/sass/test/sass/results/multiline.css +0 -24
- data/vendor/sass/test/sass/results/nested.css +0 -22
- data/vendor/sass/test/sass/results/options.css +0 -1
- data/vendor/sass/test/sass/results/parent_ref.css +0 -13
- data/vendor/sass/test/sass/results/script.css +0 -16
- data/vendor/sass/test/sass/results/scss_import.css +0 -31
- data/vendor/sass/test/sass/results/scss_importee.css +0 -2
- data/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
- data/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
- data/vendor/sass/test/sass/results/units.css +0 -11
- data/vendor/sass/test/sass/results/warn.css +0 -0
- data/vendor/sass/test/sass/results/warn_imported.css +0 -0
- data/vendor/sass/test/sass/script_conversion_test.rb +0 -285
- data/vendor/sass/test/sass/script_test.rb +0 -514
- data/vendor/sass/test/sass/scss/css_test.rb +0 -922
- data/vendor/sass/test/sass/scss/rx_test.rb +0 -156
- data/vendor/sass/test/sass/scss/scss_test.rb +0 -1273
- data/vendor/sass/test/sass/scss/test_helper.rb +0 -37
- data/vendor/sass/test/sass/templates/_imported_charset_ibm866.sass +0 -4
- data/vendor/sass/test/sass/templates/_imported_charset_utf8.sass +0 -4
- data/vendor/sass/test/sass/templates/_partial.sass +0 -2
- data/vendor/sass/test/sass/templates/alt.sass +0 -16
- data/vendor/sass/test/sass/templates/basic.sass +0 -23
- data/vendor/sass/test/sass/templates/bork1.sass +0 -2
- data/vendor/sass/test/sass/templates/bork2.sass +0 -2
- data/vendor/sass/test/sass/templates/bork3.sass +0 -2
- data/vendor/sass/test/sass/templates/bork4.sass +0 -2
- data/vendor/sass/test/sass/templates/bork5.sass +0 -3
- data/vendor/sass/test/sass/templates/compact.sass +0 -17
- data/vendor/sass/test/sass/templates/complex.sass +0 -305
- data/vendor/sass/test/sass/templates/compressed.sass +0 -15
- data/vendor/sass/test/sass/templates/expanded.sass +0 -17
- data/vendor/sass/test/sass/templates/if.sass +0 -11
- data/vendor/sass/test/sass/templates/import.sass +0 -12
- data/vendor/sass/test/sass/templates/import_charset.sass +0 -7
- data/vendor/sass/test/sass/templates/import_charset_1_8.sass +0 -4
- data/vendor/sass/test/sass/templates/import_charset_ibm866.sass +0 -9
- data/vendor/sass/test/sass/templates/importee.less +0 -2
- data/vendor/sass/test/sass/templates/importee.sass +0 -19
- data/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
- data/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
- data/vendor/sass/test/sass/templates/mixins.sass +0 -76
- data/vendor/sass/test/sass/templates/multiline.sass +0 -20
- data/vendor/sass/test/sass/templates/nested.sass +0 -25
- data/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_import.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
- data/vendor/sass/test/sass/templates/options.sass +0 -2
- data/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
- data/vendor/sass/test/sass/templates/script.sass +0 -101
- data/vendor/sass/test/sass/templates/scss_import.scss +0 -11
- data/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
- data/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
- data/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
- data/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
- data/vendor/sass/test/sass/templates/units.sass +0 -11
- data/vendor/sass/test/sass/templates/warn.sass +0 -3
- data/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
- data/vendor/sass/test/sass/test_helper.rb +0 -8
- data/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
- data/vendor/sass/test/sass/util_test.rb +0 -266
- data/vendor/sass/test/test_helper.rb +0 -69
- data/vendor/sass/vendor/fssm/Gemfile +0 -3
- data/vendor/sass/vendor/fssm/LICENSE +0 -20
- data/vendor/sass/vendor/fssm/README.markdown +0 -83
- data/vendor/sass/vendor/fssm/Rakefile +0 -11
- data/vendor/sass/vendor/fssm/example.rb +0 -12
- data/vendor/sass/vendor/fssm/fssm.gemspec +0 -24
- data/vendor/sass/vendor/fssm/lib/fssm.rb +0 -37
- data/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
- data/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
- data/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
- data/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
- data/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/path.rb +0 -94
- data/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +0 -75
- data/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +0 -24
- data/vendor/sass/vendor/fssm/lib/fssm/support.rb +0 -92
- data/vendor/sass/vendor/fssm/lib/fssm/tree.rb +0 -176
- data/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
- data/vendor/sass/vendor/fssm/profile/prof-cache.rb +0 -40
- data/vendor/sass/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
- data/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
- data/vendor/sass/vendor/fssm/profile/prof-pathname.rb +0 -68
- data/vendor/sass/vendor/fssm/profile/prof-plain-pathname.html +0 -988
- data/vendor/sass/vendor/fssm/profile/prof.html +0 -2379
- data/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
- data/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
- data/vendor/sass/vendor/fssm/spec/path_spec.rb +0 -96
- data/vendor/sass/vendor/fssm/spec/root/duck/quack.txt +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.css +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.rb +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.yml +0 -0
- data/vendor/sass/vendor/fssm/spec/root/moo/cow.txt +0 -0
- data/vendor/sass/vendor/fssm/spec/spec_helper.rb +0 -14
- data/vendor/sass/yard/callbacks.rb +0 -29
- data/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
- data/vendor/sass/yard/default/layout/html/footer.erb +0 -12
- data/vendor/sass/yard/inherited_hash.rb +0 -41
File without changes
|
@@ -0,0 +1,141 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class FiltersTest < MiniTest::Unit::TestCase
|
4
|
+
test "should be registered as filters when including Haml::Filters::Base" do
|
5
|
+
begin
|
6
|
+
refute Haml::Filters.defined.has_key? "bar"
|
7
|
+
Module.new {def self.name; "Foo::Bar"; end; include Haml::Filters::Base}
|
8
|
+
assert Haml::Filters.defined.has_key? "bar"
|
9
|
+
ensure
|
10
|
+
Haml::Filters.defined.delete "bar"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
test "should raise error when attempting to register a defined Tilt filter" do
|
15
|
+
begin
|
16
|
+
assert_raises RuntimeError do
|
17
|
+
2.times do
|
18
|
+
Haml::Filters.register_tilt_filter "Foo"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
ensure
|
22
|
+
Haml::Filters.defined.delete "foo"
|
23
|
+
Haml::Filters.send :remove_const, :Foo
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
test "should respect escaped newlines and interpolation" do
|
28
|
+
html = "\\n\n"
|
29
|
+
haml = ":plain\n \\n\#{""}"
|
30
|
+
assert_equal(html, render(haml))
|
31
|
+
end
|
32
|
+
|
33
|
+
test "should process an filter with no content" do
|
34
|
+
assert_equal("\n", render(':plain'))
|
35
|
+
end
|
36
|
+
|
37
|
+
test "should be compatible with ugly mode" do
|
38
|
+
expectation = "foo\n"
|
39
|
+
assert_equal(expectation, render(":plain\n foo", :ugly => true))
|
40
|
+
end
|
41
|
+
|
42
|
+
test "should pass options to Tilt filters that precompile" do
|
43
|
+
haml = ":erb\n <%= 'foo' %>"
|
44
|
+
refute_match('TEST_VAR', Haml::Engine.new(haml).precompiled)
|
45
|
+
Haml::Filters::Erb.options = {:outvar => 'TEST_VAR'}
|
46
|
+
assert_match('TEST_VAR', Haml::Engine.new(haml).precompiled)
|
47
|
+
end
|
48
|
+
|
49
|
+
test "should pass options to Tilt filters that don't precompile" do
|
50
|
+
begin
|
51
|
+
filter = Class.new(Tilt::Template) do
|
52
|
+
def self.name
|
53
|
+
"Foo"
|
54
|
+
end
|
55
|
+
|
56
|
+
def prepare
|
57
|
+
@engine = {:data => data, :options => options}
|
58
|
+
end
|
59
|
+
|
60
|
+
def evaluate(scope, locals, &block)
|
61
|
+
@output = @engine[:options].to_a.join
|
62
|
+
end
|
63
|
+
end
|
64
|
+
Haml::Filters.register_tilt_filter "Foo", :template_class => filter
|
65
|
+
Haml::Filters::Foo.options[:foo] = "bar"
|
66
|
+
haml = ":foo"
|
67
|
+
assert_equal "foobar\n", render(haml)
|
68
|
+
ensure
|
69
|
+
Haml::Filters.defined.delete "foo"
|
70
|
+
Haml::Filters.send :remove_const, :Foo
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
class ErbFilterTest < MiniTest::Unit::TestCase
|
77
|
+
test "multiline expressions should work" do
|
78
|
+
html = "foobarbaz\n"
|
79
|
+
haml = %Q{:erb\n <%= "foo" +\n "bar" +\n "baz" %>}
|
80
|
+
assert_equal(html, render(haml))
|
81
|
+
end
|
82
|
+
|
83
|
+
|
84
|
+
test "should evaluate in the same context as Haml" do
|
85
|
+
haml = ":erb\n <%= foo %>"
|
86
|
+
html = "bar\n"
|
87
|
+
scope = Object.new.instance_eval {foo = "bar"; nil if foo; binding}
|
88
|
+
assert_equal(html, render(haml, :scope => scope))
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
class JavascriptFilterTest < MiniTest::Unit::TestCase
|
93
|
+
test "should interpolate" do
|
94
|
+
scope = Object.new.instance_eval {foo = "bar"; nil if foo; binding}
|
95
|
+
haml = ":javascript\n \#{foo}"
|
96
|
+
html = render(haml, :scope => scope)
|
97
|
+
assert_match(/bar/, html)
|
98
|
+
end
|
99
|
+
|
100
|
+
test "should never HTML-escape ampersands" do
|
101
|
+
html = "<script type='text/javascript'>\n //<![CDATA[\n & < > &\n //]]>\n</script>\n"
|
102
|
+
haml = %Q{:javascript\n & < > \#{"&"}}
|
103
|
+
assert_equal(html, render(haml, :escape_html => true))
|
104
|
+
end
|
105
|
+
|
106
|
+
test "should not include type in HTML 5 output" do
|
107
|
+
html = "<script>\n //<![CDATA[\n foo bar\n //]]>\n</script>\n"
|
108
|
+
haml = ":javascript\n foo bar"
|
109
|
+
assert_equal(html, render(haml, :format => :html5))
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
class CSSFilterTest < MiniTest::Unit::TestCase
|
114
|
+
test "should wrap output in CDATA and a CSS tag" do
|
115
|
+
html = "<style type='text/css'>\n /*<![CDATA[*/\n foo\n /*]]>*/\n</style>\n"
|
116
|
+
haml = ":css\n foo"
|
117
|
+
assert_equal(html, render(haml))
|
118
|
+
end
|
119
|
+
|
120
|
+
test "should not include type in HTML 5 output" do
|
121
|
+
html = "<style>\n /*<![CDATA[*/\n foo bar\n /*]]>*/\n</style>\n"
|
122
|
+
haml = ":css\n foo bar"
|
123
|
+
assert_equal(html, render(haml, :format => :html5))
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
class CDATAFilterTest < MiniTest::Unit::TestCase
|
128
|
+
test "should wrap output in CDATA tag" do
|
129
|
+
html = "<![CDATA[\n foo\n]]>\n"
|
130
|
+
haml = ":cdata\n foo"
|
131
|
+
assert_equal(html, render(haml))
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
class EscapedFilterTest < MiniTest::Unit::TestCase
|
136
|
+
test "should escape ampersands" do
|
137
|
+
html = "&\n"
|
138
|
+
haml = ":escaped\n &"
|
139
|
+
assert_equal(html, render(haml))
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
2
|
+
Version 2, December 2004
|
3
|
+
|
4
|
+
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
5
|
+
|
6
|
+
Everyone is permitted to copy and distribute verbatim or modified
|
7
|
+
copies of this license document, and changing it is allowed as long
|
8
|
+
as the name is changed.
|
9
|
+
|
10
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
11
|
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
12
|
+
|
13
|
+
0. You just DO WHAT THE FUCK YOU WANT TO.
|
14
|
+
|
@@ -5,10 +5,12 @@ Haml Spec provides a basic suite of tests for Haml interpreters.
|
|
5
5
|
It is intented for developers who are creating or maintaining an implementation
|
6
6
|
of the [Haml](http://haml-lang.com) markup language.
|
7
7
|
|
8
|
-
At the moment, there are test runners for the [original
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
At the moment, there are test runners for the [original
|
9
|
+
Haml](http://github.com/nex3/haml) in Ruby, [Lua
|
10
|
+
Haml](http://github.com/norman/lua-haml) and the
|
11
|
+
[Text::Haml](http://github.com/vti/text-haml) Perl port. Support for other
|
12
|
+
versions of Haml will be added if their developers/maintainers are interested in
|
13
|
+
using it.
|
12
14
|
|
13
15
|
## The Tests ##
|
14
16
|
|
@@ -20,9 +22,11 @@ filters such as :markdown or :textile.
|
|
20
22
|
|
21
23
|
The one major exception to this are the tests for interpolation, which you may
|
22
24
|
need to modify with a regular expression to run under PHP or Perl, which
|
23
|
-
require a
|
25
|
+
require a sigil before variable names. These tests are included despite being
|
24
26
|
less than 100% portable because interpolation is an important part of Haml and
|
25
|
-
can be tricky to implement.
|
27
|
+
can be tricky to implement. These tests are flagged as "optional" so that you
|
28
|
+
can avoid running them if your implementation of Haml will not support this
|
29
|
+
feature.
|
26
30
|
|
27
31
|
## Running the Tests ##
|
28
32
|
|
@@ -40,16 +44,19 @@ using Ruby 1.8.x, you'll also need to install `json`:
|
|
40
44
|
|
41
45
|
Then, running the Ruby test suite is easy:
|
42
46
|
|
43
|
-
ruby ruby_haml_test.rb
|
47
|
+
ruby -rminitest/autorun ruby_haml_test.rb
|
48
|
+
|
49
|
+
At the moment, running the tests with Ruby 1.8.7 fails because of issues with
|
50
|
+
the JSON library. Please use 1.9.2 until this is resolved.
|
44
51
|
|
45
52
|
### Lua ###
|
46
53
|
|
47
|
-
The Lua test depends on
|
54
|
+
The Lua test depends on
|
55
|
+
[Penlight](http://stevedonovan.github.com/Penlight/),
|
56
|
+
[Telescope](http://github.com/norman/telescope),
|
48
57
|
[jason4lua](http://json.luaforge.net/), and
|
49
|
-
[Lua Haml](http://github.com/norman/lua-haml). Install and
|
50
|
-
|
51
|
-
|
52
|
-
## Contributing ##
|
58
|
+
[Lua Haml](http://github.com/norman/lua-haml). Install and run `tsc
|
59
|
+
lua_haml_spec.lua`.
|
53
60
|
|
54
61
|
### Getting it ###
|
55
62
|
|
@@ -65,11 +72,12 @@ be very happy to add them.
|
|
65
72
|
### Test JSON format ###
|
66
73
|
|
67
74
|
"test name" : {
|
68
|
-
"haml"
|
69
|
-
"html"
|
70
|
-
"result"
|
71
|
-
"locals"
|
72
|
-
"config"
|
75
|
+
"haml" : "haml input",
|
76
|
+
"html" : "expected html output",
|
77
|
+
"result" : "expected test result",
|
78
|
+
"locals" : "local vars",
|
79
|
+
"config" : "config params",
|
80
|
+
"optional" : true|false
|
73
81
|
}
|
74
82
|
|
75
83
|
* test name: This should be a *very* brief description of what's being tested. It can
|
@@ -86,6 +94,7 @@ be very happy to add them.
|
|
86
94
|
names, you may need to process them to make them match your implementation.
|
87
95
|
If your implementation has options that do not exist in Ruby's Haml, then you
|
88
96
|
should add tests for this in your implementation's test rather than here.
|
97
|
+
* optional: whether or not the test is optional
|
89
98
|
|
90
99
|
## License ##
|
91
100
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
local dir = require 'pl.dir'
|
2
|
+
local haml = require 'haml'
|
3
|
+
local json = require 'json'
|
4
|
+
local path = require 'pl.path'
|
5
|
+
local telescope = require 'telescope'
|
6
|
+
local assert = assert
|
7
|
+
local describe = telescope.describe
|
8
|
+
local getinfo = debug.getinfo
|
9
|
+
local it = telescope.it
|
10
|
+
local open = io.open
|
11
|
+
local pairs = pairs
|
12
|
+
|
13
|
+
module('hamlspec')
|
14
|
+
|
15
|
+
local function get_tests(filename)
|
16
|
+
local me = path.abspath(getinfo(1).source:match("@(.*)$"))
|
17
|
+
return path.join(path.dirname(me), filename)
|
18
|
+
end
|
19
|
+
|
20
|
+
local json_file = get_tests("tests.json")
|
21
|
+
local file = assert(open(json_file))
|
22
|
+
local input = file:read '*a'
|
23
|
+
file:close()
|
24
|
+
|
25
|
+
local contexts = json.decode(input)
|
26
|
+
|
27
|
+
describe("LuaHaml", function()
|
28
|
+
for context, expectations in pairs(contexts) do
|
29
|
+
describe("When handling " .. context, function()
|
30
|
+
for name, exp in pairs(expectations) do
|
31
|
+
it(("should correctly render %s"):format(name), function()
|
32
|
+
local engine = haml.new(exp.config)
|
33
|
+
assert_equal(engine:render(exp.haml, exp.locals), exp.html)
|
34
|
+
end)
|
35
|
+
end
|
36
|
+
end)
|
37
|
+
end
|
38
|
+
end)
|
@@ -0,0 +1,81 @@
|
|
1
|
+
#!/usr/bin/env perl
|
2
|
+
|
3
|
+
use strict;
|
4
|
+
use warnings;
|
5
|
+
|
6
|
+
use Test::More 'no_plan';
|
7
|
+
use Text::Haml;
|
8
|
+
use FindBin;
|
9
|
+
use JSON 'from_json';
|
10
|
+
|
11
|
+
our $VERSION = 0.990101;
|
12
|
+
|
13
|
+
my $tests;
|
14
|
+
|
15
|
+
open FILE, "< $FindBin::Bin/tests.json" or die $!;
|
16
|
+
$tests = from_json(join("\n", <FILE>));
|
17
|
+
close FILE;
|
18
|
+
|
19
|
+
while (my ($section_name, $section) = each %$tests) {
|
20
|
+
diag $section_name;
|
21
|
+
|
22
|
+
while (my ($test_name, $test) = each %$section) {
|
23
|
+
is( Text::Haml->new(%{$test->{config}}, vars_as_subs => 1)
|
24
|
+
->render($test->{haml}, %{$test->{locals}}),
|
25
|
+
$test->{html}, $test_name
|
26
|
+
);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
__END__
|
30
|
+
|
31
|
+
=head1 NAME
|
32
|
+
|
33
|
+
perl_haml_test.pl - Text::Haml spec tests runner
|
34
|
+
|
35
|
+
=head1 SYNOPSIS
|
36
|
+
|
37
|
+
$ perl perl_haml_test.pl
|
38
|
+
|
39
|
+
# conditional comments
|
40
|
+
ok 1 - a conditional comment
|
41
|
+
# tags with nested content
|
42
|
+
ok 2 - a tag with CSS
|
43
|
+
|
44
|
+
...
|
45
|
+
|
46
|
+
ok 81 - an inline comment
|
47
|
+
ok 82 - a nested comment
|
48
|
+
1..82
|
49
|
+
|
50
|
+
=head1 DESCRIPTION
|
51
|
+
|
52
|
+
This file is a part of Haml spec tests envorinment. It tests Perl
|
53
|
+
implementation using <Text::Haml>.
|
54
|
+
|
55
|
+
=head1 DEPENDENCIES
|
56
|
+
|
57
|
+
=over
|
58
|
+
|
59
|
+
* Text::Haml (available via CPAN or http://github.com/vti/text-haml)
|
60
|
+
* JSON (available on CPAN)
|
61
|
+
* Test::More (included in Perl core)
|
62
|
+
* FindBin (included in Perl core)
|
63
|
+
|
64
|
+
=back
|
65
|
+
|
66
|
+
=head1 SEE ALSO
|
67
|
+
|
68
|
+
L<Text::Haml>
|
69
|
+
|
70
|
+
=head1 AUTHOR
|
71
|
+
|
72
|
+
Viacheslav Tykhanovskyi, C<vti@cpan.org>.
|
73
|
+
|
74
|
+
=head1 COPYRIGHT AND LICENSE
|
75
|
+
|
76
|
+
Copyright (C) 2009, Viacheslav Tykhanovskyi
|
77
|
+
|
78
|
+
This program is free software, you can redistribute it and/or modify it under
|
79
|
+
the terms of the Artistic License version 2.0.
|
80
|
+
|
81
|
+
=cut
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "test/unit"
|
3
|
+
require "json"
|
4
|
+
require "haml"
|
5
|
+
|
6
|
+
class HamlTest < Test::Unit::TestCase
|
7
|
+
contexts = JSON.parse(File.read(File.dirname(__FILE__) + "/tests.json"))
|
8
|
+
contexts.each do |context|
|
9
|
+
context[1].each do |name, test|
|
10
|
+
define_method("test_spec: #{name} (#{context[0]})") do
|
11
|
+
html = test["html"]
|
12
|
+
haml = test["haml"]
|
13
|
+
locals = Hash[(test["locals"] || {}).map {|x, y| [x.to_sym, y]}]
|
14
|
+
options = Hash[(test["config"] || {}).map {|x, y| [x.to_sym, y]}]
|
15
|
+
options[:format] = options[:format].to_sym if options.key?(:format)
|
16
|
+
engine = Haml::Engine.new(haml, options)
|
17
|
+
result = engine.render(Object.new, locals)
|
18
|
+
|
19
|
+
assert_equal html, result.strip
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|