Test all lexer values

This commit is contained in:
Joshua Peek
2011-05-29 20:26:49 -05:00
parent 90e2f1c1bd
commit 5bf23ad35b
3 changed files with 130 additions and 8 deletions

View File

@@ -154,7 +154,8 @@ module Linguist
@aliases = [default_alias_name] + (attributes[:aliases] || [])
# Lookup Lexer object
@lexer = Lexer.find_by_alias(attributes[:lexer] || default_alias_name)
@lexer = Lexer.find_by_alias(attributes[:lexer] || default_alias_name) ||
raise(ArgumentError, "#{@name} is missing lexer")
# Set legacy search term
@search_term = attributes[:search_term] || default_alias_name

View File

@@ -36,6 +36,7 @@ AppleScript:
:ext:
- .scpt
Arc:
:lexer: text
:ext:
- .arc
Assembly:
@@ -156,6 +157,7 @@ Dylan:
:ext:
- .dylan
Eiffel:
:lexer: text
:ext:
- .e
Emacs Lisp:
@@ -235,6 +237,7 @@ HTML+PHP:
:ext:
- .phtml
HaXe:
:lexer: hx
:ext:
- .hx
- .hxml
@@ -308,6 +311,7 @@ Mako:
:ext:
- .mao
Markdown:
:lexer: text
:ext:
- .md
- .mkd
@@ -318,6 +322,7 @@ Matlab:
:ext:
- .matlab
Max/MSP:
:lexer: text
:ext:
- .mxt
Mirah:
@@ -378,7 +383,7 @@ PHP:
- .php4
- .php5
Parrot Internal Representation:
:lexer: pir
:lexer: text
:search_term: pir
:aliases:
- pir
@@ -397,6 +402,7 @@ Perl:
- .perl
- .psgi
Pure Data:
:lexer: text
:ext:
- .pd
Python:
@@ -415,6 +421,7 @@ R:
- .r
- .R
Racket:
:lexer: text
:ext:
- .rkt
- .rktl
@@ -469,6 +476,7 @@ Scheme:
- .sps
- .scm
Self:
:lexer: text
:ext:
- .self
Shell:
@@ -489,6 +497,7 @@ Smarty:
:ext:
- .tpl
SuperCollider:
:lexer: text
:ext:
- .sc
Tcl:
@@ -509,16 +518,19 @@ Text:
:ext:
- .txt
Textile:
:lexer: text
:ext:
- .textile
Vala:
:ext:
- .vala
VHDL:
:lexer: text
:ext:
- .vhdl
- .vhd
Verilog:
:lexer: text
:ext:
- .v
VimL:
@@ -530,6 +542,7 @@ VimL:
- .vim
- .vimrc
Visual Basic:
:lexer: text
:ext:
- .bas
- .vbs

View File

@@ -176,12 +176,120 @@ class TestLanguage < Test::Unit::TestCase
end
def test_lexer
assert_equal Lexer['Perl'], Language['Perl'].lexer
assert_equal Lexer['Python'], Language['Python'].lexer
assert_equal Lexer['Ruby'], Language['Ruby'].lexer
assert_equal Lexer['C++'], Language['C++'].lexer
assert_equal Lexer['Bash'], Language['Gentoo Ebuild'].lexer
assert_equal Lexer['Scheme'], Language['Nu'].lexer
assert_equal Lexer['aspx-vb'], Language['ASP'].lexer
assert_equal Lexer['ActionScript 3'], Language['ActionScript'].lexer
assert_equal Lexer['Ada'], Language['Ada'].lexer
assert_equal Lexer['AppleScript'], Language['AppleScript'].lexer
assert_equal Lexer['Text only'] , Language['Arc'].lexer
assert_equal Lexer['NASM'], Language['Assembly'].lexer
assert_equal Lexer['Batchfile'], Language['Batchfile'].lexer
assert_equal Lexer['Befunge'], Language['Befunge'].lexer
assert_equal Lexer['Boo'], Language['Boo'].lexer
assert_equal Lexer['Brainfuck'], Language['Brainfuck'].lexer
assert_equal Lexer['BlitzMax'], Language['BlitzMax'].lexer
assert_equal Lexer['C'], Language['C'].lexer
assert_equal Lexer['C#'], Language['C#'].lexer
assert_equal Lexer['C++'], Language['C++'].lexer
assert_equal Lexer['CSS'], Language['CSS'].lexer
assert_equal Lexer['Java'], Language['ChucK'].lexer
assert_equal Lexer['Clojure'], Language['Clojure'].lexer
assert_equal Lexer['CoffeeScript'], Language['CoffeeScript'].lexer
assert_equal Lexer['ColdFusion HTML'], Language['ColdFusion'].lexer
assert_equal Lexer['Common Lisp'], Language['Common Lisp'].lexer
assert_equal Lexer['Gherkin'], Language['Cucumber'].lexer
assert_equal Lexer['Cython'], Language['Cython'].lexer
assert_equal Lexer['D'], Language['D'].lexer
assert_equal Lexer['Darcs Patch'], Language['Darcs Patch'].lexer
assert_equal Lexer['Delphi'], Language['Delphi'].lexer
assert_equal Lexer['Diff'], Language['Diff'].lexer
assert_equal Lexer['D-ObjDump'], Language['d-objdump'].lexer
assert_equal Lexer['Dylan'], Language['Dylan'].lexer
assert_equal Lexer['Text only'], Language['Eiffel'].lexer
assert_equal Lexer['Scheme'], Language['Emacs Lisp'].lexer
assert_equal Lexer['Erlang'], Language['Erlang'].lexer
assert_equal Lexer['OCaml'], Language['F#'].lexer
assert_equal Lexer['Factor'], Language['Factor'].lexer
assert_equal Lexer['Fortran'], Language['FORTRAN'].lexer
assert_equal Lexer['GAS'], Language['GAS'].lexer
assert_equal Lexer['Genshi'], Language['Genshi'].lexer
assert_equal Lexer['Bash'], Language['Gentoo Ebuild'].lexer
assert_equal Lexer['Bash'], Language['Gentoo Eclass'].lexer
assert_equal Lexer['Gettext Catalog'], Language['Gettext Catalog'].lexer
assert_equal Lexer['Go'], Language['Go'].lexer
assert_equal Lexer['Groff'], Language['Groff'].lexer
assert_equal Lexer['HTML'], Language['HTML'].lexer
assert_equal Lexer['HTML+Django/Jinja'], Language['HTML+Django'].lexer
assert_equal Lexer['RHTML'], Language['HTML+ERB'].lexer
assert_equal Lexer['HTML+PHP'], Language['HTML+PHP'].lexer
assert_equal Lexer['haXe'], Language['HaXe'].lexer
assert_equal Lexer['Haml'], Language['Haml'].lexer
assert_equal Lexer['Haskell'], Language['Haskell'].lexer
assert_equal Lexer['INI'], Language['INI'].lexer
assert_equal Lexer['IRC logs'], Language['IRC log'].lexer
assert_equal Lexer['Io'], Language['Io'].lexer
assert_equal Lexer['Java'], Language['Java'].lexer
assert_equal Lexer['Java'], Language['Groovy'].lexer
assert_equal Lexer['JavaScript'], Language['JavaScript'].lexer
assert_equal Lexer['JavaScript'], Language['JSON'].lexer
assert_equal Lexer['Literate Haskell'], Language['Literate Haskell'].lexer
assert_equal Lexer['LLVM'], Language['LLVM'].lexer
assert_equal Lexer['Lua'], Language['Lua'].lexer
assert_equal Lexer['Makefile'], Language['Makefile'].lexer
assert_equal Lexer['Mako'], Language['Mako'].lexer
assert_equal Lexer['Text only'], Language['Markdown'].lexer
assert_equal Lexer['Matlab'], Language['Matlab'].lexer
assert_equal Lexer['Text only'], Language['Max/MSP'].lexer
assert_equal Lexer['Ruby'], Language['Mirah'].lexer
assert_equal Lexer['Moocode'], Language['Moocode'].lexer
assert_equal Lexer['Myghty'], Language['Myghty'].lexer
assert_equal Lexer['Scheme'], Language['Nu'].lexer
assert_equal Lexer['NumPy'], Language['NumPy'].lexer
assert_equal Lexer['OCaml'], Language['OCaml'].lexer
assert_equal Lexer['cpp-objdump'], Language['Cpp-ObjDump'].lexer
assert_equal Lexer['c-objdump'], Language['C-ObjDump'].lexer
assert_equal Lexer['objdump'], Language['ObjDump'].lexer
assert_equal Lexer['Objective-C'], Language['Objective-C'].lexer
assert_equal Lexer['Objective-J'], Language['Objective-J'].lexer
assert_equal Lexer['PHP'], Language['PHP'].lexer
assert_equal Lexer['Text only'], Language['Parrot Internal Representation'].lexer
assert_equal Lexer['Perl'], Language['Perl'].lexer
assert_equal Lexer['Text only'], Language['Pure Data'].lexer
assert_equal Lexer['Python'], Language['Python'].lexer
assert_equal Lexer['Python Traceback'], Language['Python traceback'].lexer
assert_equal Lexer['S'], Language['R'].lexer
assert_equal Lexer['Text only'], Language['Racket'].lexer
assert_equal Lexer['RHTML'], Language['RHTML'].lexer
assert_equal Lexer['Raw token data'], Language['Raw token data'].lexer
assert_equal Lexer['REBOL'], Language['Rebol'].lexer
assert_equal Lexer['Redcode'], Language['Redcode'].lexer
assert_equal Lexer['Ruby'], Language['Ruby'].lexer
assert_equal Lexer['SQL'], Language['SQL'].lexer
assert_equal Lexer['Sass'], Language['Sass'].lexer
assert_equal Lexer['Scala'], Language['Scala'].lexer
assert_equal Lexer['Scheme'], Language['Scheme'].lexer
assert_equal Lexer['Text only'], Language['Self'].lexer
assert_equal Lexer['Bash'], Language['Shell'].lexer
assert_equal Lexer['Smalltalk'], Language['Smalltalk'].lexer
assert_equal Lexer['Smarty'], Language['Smarty'].lexer
assert_equal Lexer['Text only'], Language['SuperCollider'].lexer
assert_equal Lexer['Tcl'], Language['Tcl'].lexer
assert_equal Lexer['Tcsh'], Language['Tcsh'].lexer
assert_equal Lexer['TeX'], Language['TeX'].lexer
assert_equal Lexer['Text only'], Language['Text'].lexer
assert_equal Lexer['Text only'], Language['Textile'].lexer
assert_equal Lexer['Vala'], Language['Vala'].lexer
assert_equal Lexer['Text only'], Language['VHDL'].lexer
assert_equal Lexer['Text only'], Language['Verilog'].lexer
assert_equal Lexer['VimL'], Language['VimL'].lexer
assert_equal Lexer['Text only'], Language['Visual Basic'].lexer
assert_equal Lexer['XML'], Language['XML'].lexer
assert_equal Lexer['XQuery'], Language['XQuery'].lexer
assert_equal Lexer['C'], Language['XS'].lexer
assert_equal Lexer['YAML'], Language['YAML'].lexer
assert_equal Lexer['Java Server Page'], Language['Java Server Pages'].lexer
assert_equal Lexer['MuPAD'], Language['mupad'].lexer
assert_equal Lexer['Ooc'], Language['ooc'].lexer
assert_equal Lexer['reStructuredText'], Language['reStructuredText'].lexer
end
def test_extensions