diff options
author | murphy <murphy@rubychan.de> | 2006-10-20 07:06:40 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2006-10-20 07:06:40 +0000 |
commit | 95a9f131d9359258f0eda8371b7d0373c3ef0b21 (patch) | |
tree | 3bb4f31816f06767d263870f9f04922e668f6ad4 | |
parent | b29f1786692e0416a6dc71474859f60af471ed42 (diff) | |
download | coderay-95a9f131d9359258f0eda8371b7d0373c3ef0b21.tar.gz |
Added WordList tests. Renamed Basic to BasicTest.
-rwxr-xr-x | test/functional/basic.rb | 8 | ||||
-rwxr-xr-x | test/functional/suite.rb | 3 | ||||
-rw-r--r-- | test/functional/word_list.rb | 64 |
3 files changed, 70 insertions, 5 deletions
diff --git a/test/functional/basic.rb b/test/functional/basic.rb index a00e4ae..2da85e6 100755 --- a/test/functional/basic.rb +++ b/test/functional/basic.rb @@ -1,8 +1,7 @@ require "test/unit" - require "coderay" -class Basic < Test::Unit::TestCase +class BasicTest < Test::Unit::TestCase def test_version assert_nothing_raised do CodeRay::VERSION @@ -36,9 +35,10 @@ class Basic < Test::Unit::TestCase end SCANNERS_LIST = %w( - c delphi html nitro_xhtml plaintext rhtml ruby xml + c debug delphi html nitro_xhtml plaintext rhtml ruby xml ) def test_list_of_scanners assert_equal(SCANNERS_LIST, CodeRay::Scanners.list.sort) end -end
\ No newline at end of file + +end diff --git a/test/functional/suite.rb b/test/functional/suite.rb index 51f9a59..46316d8 100755 --- a/test/functional/suite.rb +++ b/test/functional/suite.rb @@ -5,4 +5,5 @@ MYDIR = File.dirname(__FILE__) LIBDIR = Pathname.new(MYDIR).join('..', '..', 'lib').cleanpath $LOAD_PATH.unshift MYDIR, LIBDIR -require 'basic'
\ No newline at end of file +require 'basic' +require 'word_list'
\ No newline at end of file diff --git a/test/functional/word_list.rb b/test/functional/word_list.rb new file mode 100644 index 0000000..c710d77 --- /dev/null +++ b/test/functional/word_list.rb @@ -0,0 +1,64 @@ +require "test/unit" +require "coderay" + +class WordListTest < Test::Unit::TestCase + + # define word arrays + RESERVED_WORDS = %w[ + asm break case continue default do else + ... + ] + + PREDEFINED_TYPES = %w[ + int long short char void + ... + ] + + PREDEFINED_CONSTANTS = %w[ + EOF NULL ... + ] + + # make a WordList + IDENT_KIND = WordList.new(:ident). + add(RESERVED_WORDS, :reserved). + add(PREDEFINED_TYPES, :pre_type). + add(PREDEFINED_CONSTANTS, :pre_constant) + + def test_word_list_example + assert_equal :pre_type, IDENT_KIND['void'] + # assert_equal :pre_constant, IDENT_KIND['...'] # not specified + end + + def test_word_list + list = WordList.new(:ident).add(['foobar'], :reserved) + assert_equal :reserved, list['foobar'] + assert_equal :ident, list['FooBar'] + end + + def test_word_list_cached + list = WordList.new(:ident, true).add(['foobar'], :reserved) + assert_equal :reserved, list['foobar'] + assert_equal :ident, list['FooBar'] + end + + def test_case_ignoring_word_list + list = CaseIgnoringWordList.new(:ident).add(['foobar'], :reserved) + assert_equal :reserved, list['foobar'] + assert_equal :reserved, list['FooBar'] + + list = CaseIgnoringWordList.new(:ident).add(['FooBar'], :reserved) + assert_equal :reserved, list['foobar'] + assert_equal :reserved, list['FooBar'] + end + + def test_case_ignoring_word_list_cached + list = CaseIgnoringWordList.new(:ident, true).add(['foobar'], :reserved) + assert_equal :reserved, list['foobar'] + assert_equal :reserved, list['FooBar'] + + list = CaseIgnoringWordList.new(:ident, true).add(['FooBar'], :reserved) + assert_equal :reserved, list['foobar'] + assert_equal :reserved, list['FooBar'] + end + +end
\ No newline at end of file |