Mercurial > hg > soundsoftware-site
view vendor/gems/coderay-0.9.7/test/functional/basic.rb @ 210:0579821a129a
Update to Redmine trunk rev 4802
author | Chris Cannam |
---|---|
date | Tue, 08 Feb 2011 13:51:46 +0000 |
parents | |
children |
line wrap: on
line source
require 'test/unit' require 'coderay' class BasicTest < Test::Unit::TestCase def test_version assert_nothing_raised do assert_match(/\A\d\.\d\.\d\z/, CodeRay::VERSION) end end RUBY_TEST_CODE = 'puts "Hello, World!"' RUBY_TEST_TOKENS = [ ['puts', :ident], [' ', :space], [:open, :string], ['"', :delimiter], ['Hello, World!', :content], ['"', :delimiter], [:close, :string] ] def test_simple_scan assert_nothing_raised do assert_equal RUBY_TEST_TOKENS, CodeRay.scan(RUBY_TEST_CODE, :ruby).to_ary end end RUBY_TEST_HTML = 'puts <span class="s"><span class="dl">"</span>' + '<span class="k">Hello, World!</span><span class="dl">"</span></span>' def test_simple_highlight assert_nothing_raised do assert_equal RUBY_TEST_HTML, CodeRay.scan(RUBY_TEST_CODE, :ruby).html end end def test_duo assert_equal(RUBY_TEST_CODE, CodeRay::Duo[:plain, :plain].highlight(RUBY_TEST_CODE)) assert_equal(RUBY_TEST_CODE, CodeRay::Duo[:plain => :plain].highlight(RUBY_TEST_CODE)) end def test_duo_stream assert_equal(RUBY_TEST_CODE, CodeRay::Duo[:plain, :plain].highlight(RUBY_TEST_CODE, :stream => true)) end def test_comment_filter assert_equal <<-EXPECTED, CodeRay.scan(<<-INPUT, :ruby).comment_filter.text #!/usr/bin/env ruby code more code EXPECTED #!/usr/bin/env ruby =begin A multi-line comment. =end code # A single-line comment. more code # and another comment, in-line. INPUT end def test_lines_of_code assert_equal 2, CodeRay.scan(<<-INPUT, :ruby).lines_of_code #!/usr/bin/env ruby =begin A multi-line comment. =end code # A single-line comment. more code # and another comment, in-line. INPUT rHTML = <<-RHTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <title><%= controller.controller_name.titleize %>: <%= controller.action_name %></title> <%= stylesheet_link_tag 'scaffold' %> </head> <body> <p style="color: green"><%= flash[:notice] %></p> <div id="main"> <%= yield %> </div> </body> </html> RHTML assert_equal 0, CodeRay.scan(rHTML, :html).lines_of_code assert_equal 0, CodeRay.scan(rHTML, :php).lines_of_code assert_equal 0, CodeRay.scan(rHTML, :yaml).lines_of_code assert_equal 4, CodeRay.scan(rHTML, :rhtml).lines_of_code end def test_rubygems_not_loaded assert_equal nil, defined? Gem end if ENV['check_rubygems'] && RUBY_VERSION < '1.9' def test_list_of_encoders assert_kind_of(Array, CodeRay::Encoders.list) assert CodeRay::Encoders.list.include?('count') end def test_list_of_scanners assert_kind_of(Array, CodeRay::Scanners.list) assert CodeRay::Scanners.list.include?('plaintext') end def test_scan_a_frozen_string CodeRay.scan RUBY_VERSION, :ruby end end