mirror of
https://github.com/KevinMidboe/linguist.git
synced 2026-06-19 02:39:30 +00:00
Fixed M lexer name. Merged with upstream's latest changes.
This commit is contained in:
47
test/fixtures/Foo.kt
vendored
Normal file
47
test/fixtures/Foo.kt
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
package addressbook
|
||||
|
||||
class Contact(
|
||||
val name : String,
|
||||
val emails : List<EmailAddress>,
|
||||
val addresses : List<PostalAddress>,
|
||||
val phonenums : List<PhoneNumber>
|
||||
)
|
||||
|
||||
class EmailAddress(
|
||||
val user : String,
|
||||
val host : String
|
||||
)
|
||||
|
||||
class PostalAddress(
|
||||
val streetAddress : String,
|
||||
val city : String,
|
||||
val zip : String,
|
||||
val state : USState?,
|
||||
val country : Country
|
||||
) {
|
||||
assert {(state == null) xor (country == Countries["US"]) }
|
||||
}
|
||||
|
||||
class PhoneNumber(
|
||||
val country : Country,
|
||||
val areaCode : Int,
|
||||
val number : Long
|
||||
)
|
||||
|
||||
object Countries {
|
||||
fun get(id : CountryID) : Country = countryTable[id]
|
||||
|
||||
private var table : Map<String, Country>? = null
|
||||
private val countryTable : Map<String, Country>
|
||||
get() {
|
||||
if (table == null) {
|
||||
table = HashMap()
|
||||
for (line in TextFile("countries.txt").lines(stripWhiteSpace = true)) {
|
||||
table[line] = Country(line)
|
||||
}
|
||||
}
|
||||
return table
|
||||
}
|
||||
}
|
||||
|
||||
class Country(val name : String)
|
||||
43
test/fixtures/PKGBUILD
vendored
Normal file
43
test/fixtures/PKGBUILD
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
# Maintainer: Daniel Micay <danielmicay@gmail.com>
|
||||
pkgname=stud-git
|
||||
pkgver=20120316
|
||||
pkgrel=1
|
||||
pkgdesc="The Scalable TLS Unwrapping Daemon"
|
||||
arch=(i686 x86_64)
|
||||
url="https://github.com/bumptech/stud"
|
||||
license=('BSD')
|
||||
depends=(libev openssl)
|
||||
makedepends=(git)
|
||||
provides=(stud)
|
||||
conflicts=(stud)
|
||||
|
||||
_gitroot=https://github.com/bumptech/stud.git
|
||||
_gitname=stud
|
||||
|
||||
build() {
|
||||
cd "$srcdir"
|
||||
msg "Connecting to GIT server...."
|
||||
|
||||
if [[ -d "$_gitname" ]]; then
|
||||
cd "$_gitname" && git pull origin
|
||||
msg "The local files are updated."
|
||||
else
|
||||
git clone "$_gitroot" "$_gitname"
|
||||
fi
|
||||
|
||||
msg "GIT checkout done or server timeout"
|
||||
msg "Starting build..."
|
||||
|
||||
rm -rf "$srcdir/$_gitname-build"
|
||||
git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build"
|
||||
cd "$srcdir/$_gitname-build"
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/$_gitname-build"
|
||||
make PREFIX=/usr DESTDIR="$pkgdir/" install
|
||||
install -Dm755 init.stud "$pkgdir/etc/rc.d/stud"
|
||||
mkdir -p "$pkgdir/etc/stud"
|
||||
}
|
||||
0
test/fixtures/empty.m
vendored
Normal file
0
test/fixtures/empty.m
vendored
Normal file
1
test/fixtures/foo.tea
vendored
Normal file
1
test/fixtures/foo.tea
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<% template foo() %>
|
||||
14
test/fixtures/foo.vhd
vendored
Normal file
14
test/fixtures/foo.vhd
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
-- VHDL example file
|
||||
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
|
||||
entity inverter is
|
||||
port(a : in std_logic;
|
||||
b : out std_logic);
|
||||
end entity;
|
||||
|
||||
architecture rtl of inverter is
|
||||
begin
|
||||
b <= not a;
|
||||
end architecture;
|
||||
29
test/fixtures/matlab_class.m
vendored
Normal file
29
test/fixtures/matlab_class.m
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
classdef matlab_class
|
||||
properties
|
||||
R;
|
||||
G;
|
||||
B;
|
||||
end
|
||||
methods
|
||||
function obj = matlab_class(r,g,b)
|
||||
obj.R = r;
|
||||
obj.G = g;
|
||||
obj.B = b;
|
||||
end
|
||||
function disp(obj)
|
||||
disp(['Red: ' num2str(obj.R) ...
|
||||
', Green: ' num2str(obj.G) ...
|
||||
', Blue: ' num2str(obj.B)]);
|
||||
end
|
||||
end
|
||||
enumeration
|
||||
red (1,0,0)
|
||||
green (0,1,0)
|
||||
blue (0,0,1)
|
||||
cyan (0,1,1)
|
||||
magenta (1,0,1)
|
||||
yellow (1,1,0)
|
||||
black (0,0,0)
|
||||
white (1,1,1)
|
||||
end
|
||||
end
|
||||
33
test/fixtures/matlab_function2.m
vendored
Normal file
33
test/fixtures/matlab_function2.m
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
function ret = matlab_function2(A,B)
|
||||
% Simple function that combines two values using function handles and displays
|
||||
% the return value
|
||||
|
||||
% create function handles
|
||||
fun1=@interface;
|
||||
fun2=@implementation;
|
||||
fun3=@property;
|
||||
fun4=@synthesize;
|
||||
|
||||
% use function handles
|
||||
ret = fun1(A)+fun2(A)+fun3(B)+fun4(B);
|
||||
|
||||
% Display the return value
|
||||
disp('Return value in function');
|
||||
disp(ret);
|
||||
|
||||
|
||||
function A=interface(A)
|
||||
% simple sub-function with same name Objective-C @keyword
|
||||
A=2*A;
|
||||
|
||||
function A=implementation(A)
|
||||
% simple sub-function with same name Objective-C @keyword
|
||||
A=A^2;
|
||||
|
||||
function B=property(B)
|
||||
% simple sub-function with same name Objective-C @keyword
|
||||
B=2*B;
|
||||
|
||||
function B=synthesize(B)
|
||||
% simple sub-function with same name Objective-C @keyword
|
||||
B=B^2;
|
||||
13
test/fixtures/matlab_script2.m
vendored
Normal file
13
test/fixtures/matlab_script2.m
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
% Matlab example script 2
|
||||
% Comments precended with arbitrary whitespace (spaces or tabs)
|
||||
|
||||
%Call matlab_function function which resides in the same directory
|
||||
|
||||
value1 = 5 % semicolon at end of line is not mandatory, only suppresses output to command line.
|
||||
value2 = 3
|
||||
|
||||
% Calculate sum of value1 and value2
|
||||
result = matlab_function(value1,value2);
|
||||
|
||||
disp('called from script')
|
||||
disp(result);
|
||||
15
test/fixtures/point.dart
vendored
Normal file
15
test/fixtures/point.dart
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
class Point {
|
||||
Point(this.x, this.y);
|
||||
distanceTo(Point other) {
|
||||
var dx = x - other.x;
|
||||
var dy = y - other.y;
|
||||
return Math.sqrt(dx * dx + dy * dy);
|
||||
}
|
||||
var x, y;
|
||||
}
|
||||
|
||||
main() {
|
||||
Point p = new Point(2, 3);
|
||||
Point q = new Point(3, 4);
|
||||
print('distance from p to q = ${p.distanceTo(q)}');
|
||||
}
|
||||
24
test/fixtures/steelseries-min.js
vendored
Normal file
24
test/fixtures/steelseries-min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
37
test/fixtures/stockcorr.jl
vendored
Normal file
37
test/fixtures/stockcorr.jl
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
## Test case from Issue #445
|
||||
|
||||
#STOCKCORR - The original, unoptimised code that simulates two correlated assets
|
||||
function stockcorr()
|
||||
|
||||
## Correlated asset information
|
||||
CurrentPrice = [78. 102.] # Initial Prices of the two stocks
|
||||
Corr = [1. 0.4; 0.4 1.] # Correlation Matrix
|
||||
T = 500 # Number of days to simulate = 2years = 500days
|
||||
n = 100000 # Number of simulations
|
||||
dt = 1/250 # Time step (1year = 250days)
|
||||
Div=[0.01 0.01] # Dividend
|
||||
Vol=[0.2 0.3] # Volatility
|
||||
|
||||
## Market Information
|
||||
r = 0.03 # Risk-free rate
|
||||
|
||||
## Define storages
|
||||
SimulPriceA = zeros(T,n) # Simulated Price of Asset A
|
||||
SimulPriceA[1,:] = CurrentPrice[1]
|
||||
SimulPriceB = zeros(T,n) # Simulated Price of Asset B
|
||||
SimulPriceB[1,:] = CurrentPrice[2]
|
||||
|
||||
## Generating the paths of stock prices by Geometric Brownian Motion
|
||||
UpperTriangle=chol(Corr) # UpperTriangle Matrix by Cholesky decomposition
|
||||
|
||||
for i = 1:n
|
||||
Wiener = randn(T-1,2)
|
||||
CorrWiener = Wiener*UpperTriangle
|
||||
for j = 2:T
|
||||
SimulPriceA[j,i] = SimulPriceA[j-1,i]*exp((r-Div[1]-Vol[1]^2/2)*dt+Vol[1]*sqrt(dt)*CorrWiener[j-1,1])
|
||||
SimulPriceB[j,i] = SimulPriceB[j-1,i]*exp((r-Div[2]-Vol[2]^2/2)*dt+Vol[2]*sqrt(dt)*CorrWiener[j-1,2])
|
||||
end
|
||||
end
|
||||
|
||||
return (SimulPriceA, SimulPriceB)
|
||||
end
|
||||
25
test/fixtures/test.xslt
vendored
Normal file
25
test/fixtures/test.xslt
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<body>
|
||||
<h2>My CD Collection</h2>
|
||||
<table border="1">
|
||||
<tr bgcolor="#9acd32">
|
||||
<th>Title</th>
|
||||
<th>Artist</th>
|
||||
</tr>
|
||||
<xsl:for-each select="catalog/cd">
|
||||
<tr>
|
||||
<td><xsl:value-of select="title"/></td>
|
||||
<td><xsl:value-of select="artist"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -33,6 +33,7 @@ class TestBlob < Test::Unit::TestCase
|
||||
|
||||
def test_mime_type
|
||||
assert_equal "application/octet-stream", blob("dog.o").mime_type
|
||||
assert_equal "application/ogg", blob("foo.ogg").mime_type
|
||||
assert_equal "application/postscript", blob("octocat.ai").mime_type
|
||||
assert_equal "application/x-ruby", blob("grit.rb").mime_type
|
||||
assert_equal "application/x-sh", blob("script.sh").mime_type
|
||||
@@ -42,6 +43,7 @@ class TestBlob < Test::Unit::TestCase
|
||||
|
||||
def test_content_type
|
||||
assert_equal "application/octet-stream", blob("dog.o").content_type
|
||||
assert_equal "application/ogg", blob("foo.ogg").content_type
|
||||
assert_equal "application/pdf", blob("foo.pdf").content_type
|
||||
assert_equal "image/png", blob("foo.png").content_type
|
||||
assert_equal "text/plain; charset=iso-8859-2", blob("README").content_type
|
||||
@@ -179,6 +181,7 @@ class TestBlob < Test::Unit::TestCase
|
||||
|
||||
def test_vendored
|
||||
assert !blob("README").vendored?
|
||||
assert !blob("ext/extconf.rb").vendored?
|
||||
|
||||
# Node depedencies
|
||||
assert blob("node_modules/coffee-script/lib/coffee-script.js").vendored?
|
||||
@@ -260,7 +263,7 @@ class TestBlob < Test::Unit::TestCase
|
||||
def test_indexable
|
||||
assert blob("file.txt").indexable?
|
||||
assert blob("foo.rb").indexable?
|
||||
assert !blob("defun.kt").indexable?
|
||||
assert !blob("defu.nkt").indexable?
|
||||
assert !blob("dump.sql").indexable?
|
||||
assert !blob("github.po").indexable?
|
||||
assert !blob("linguist.gem").indexable?
|
||||
@@ -285,6 +288,7 @@ class TestBlob < Test::Unit::TestCase
|
||||
assert_equal Language['Ruby'], blob("script.rb").language
|
||||
assert_equal Language['Ruby'], blob("wrong_shebang.rb").language
|
||||
assert_equal Language['Arduino'], blob("hello.ino").language
|
||||
assert_equal Language['VHDL'], blob("foo.vhd").language
|
||||
assert_nil blob("octocat.png").language
|
||||
|
||||
# .cls disambiguation
|
||||
@@ -303,10 +307,14 @@ class TestBlob < Test::Unit::TestCase
|
||||
assert_equal Language['Perl'], blob("test-perl2.pl").language
|
||||
|
||||
# .m disambiguation
|
||||
assert_equal Language['Objective-C'], blob("empty.m").language
|
||||
assert_equal Language['Objective-C'], blob("Foo.m").language
|
||||
assert_equal Language['Objective-C'], blob("hello.m").language
|
||||
assert_equal Language['Matlab'], blob("matlab_function.m").language
|
||||
assert_equal Language['Matlab'], blob("matlab_script.m").language
|
||||
assert_equal Language['Matlab'], blob("matlab_function2.m").language
|
||||
assert_equal Language['Matlab'], blob("matlab_script2.m").language
|
||||
assert_equal Language['Matlab'], blob("matlab_class.m").language
|
||||
assert_equal Language['M'], blob("m_simple.m").language
|
||||
|
||||
# .r disambiguation
|
||||
@@ -419,6 +427,24 @@ class TestBlob < Test::Unit::TestCase
|
||||
|
||||
# OpenEdge ABL / Progress
|
||||
assert_equal Language['OpenEdge ABL'], blob("openedge.p").language
|
||||
|
||||
# Tea
|
||||
assert_equal Language['Tea'], blob("foo.tea").language
|
||||
|
||||
# Kotlin
|
||||
assert_equal Language['Kotlin'], blob("Foo.kt").language
|
||||
|
||||
# Julia: http://julialang.org/
|
||||
assert_equal Language['Julia'], blob("stockcorr.jl").language
|
||||
|
||||
# Dart: http://dartlang.org/
|
||||
assert_equal Language['Dart'], blob("point.dart").language
|
||||
|
||||
# Arch Linux PKGBUILD
|
||||
assert_equal Language['Shell'], blob("PKGBUILD").language
|
||||
|
||||
# XML
|
||||
assert_equal Language['XSLT'], blob("test.xslt").language
|
||||
end
|
||||
|
||||
def test_lexer
|
||||
@@ -428,6 +454,11 @@ class TestBlob < Test::Unit::TestCase
|
||||
assert_equal Lexer['Ruby'], blob("grit.rb").lexer
|
||||
assert_equal Lexer['Scheme'], blob("dude.el").lexer
|
||||
assert_equal Lexer['Text only'], blob("README").lexer
|
||||
assert_equal Lexer['Tea'], blob("foo.tea").lexer
|
||||
assert_equal Lexer['vhdl'], blob("foo.vhd").lexer
|
||||
assert_equal Lexer['Julia'], blob("stockcorr.jl").lexer
|
||||
assert_equal Lexer['Dart'], blob("point.dart").lexer
|
||||
assert_equal Lexer['Bash'], blob("PKGBUILD").lexer
|
||||
end
|
||||
|
||||
def test_shebang_script
|
||||
@@ -483,7 +514,12 @@ class TestBlob < Test::Unit::TestCase
|
||||
HTML
|
||||
end
|
||||
|
||||
def test_colorize_skips_minified_files
|
||||
def test_colorize_does_skip_minified_files
|
||||
assert_nil blob("jquery-1.6.1.min.js").colorize
|
||||
end
|
||||
|
||||
# Pygments.rb was taking exceeding long on this particular file
|
||||
def test_colorize_doesnt_blow_up_with_files_with_high_ratio_of_long_lines
|
||||
assert_nil blob("steelseries-min.js").colorize
|
||||
end
|
||||
end
|
||||
|
||||
@@ -41,24 +41,24 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal Lexer['C++'], Language['C++'].lexer
|
||||
assert_equal Lexer['Coldfusion HTML'], Language['ColdFusion'].lexer
|
||||
assert_equal Lexer['Coq'], Language['Coq'].lexer
|
||||
assert_equal Lexer['FSharp'], Language['F#'].lexer
|
||||
assert_equal Lexer['FSharp'], Language['F#'].lexer
|
||||
assert_equal Lexer['Fortran'], Language['FORTRAN'].lexer
|
||||
assert_equal Lexer['Gherkin'], Language['Cucumber'].lexer
|
||||
assert_equal Lexer['Groovy'], Language['Groovy'].lexer
|
||||
assert_equal Lexer['HTML'], Language['HTML'].lexer
|
||||
assert_equal Lexer['HTML+Django/Jinja'], Language['HTML+Django'].lexer
|
||||
assert_equal Lexer['HTML+PHP'], Language['HTML+PHP'].lexer
|
||||
assert_equal Lexer['JSON'], Language['JSON'].lexer
|
||||
assert_equal Lexer['Java'], Language['ChucK'].lexer
|
||||
assert_equal Lexer['Java'], Language['Groovy'].lexer
|
||||
assert_equal Lexer['Java'], Language['Java'].lexer
|
||||
assert_equal Lexer['JavaScript'], Language['JSON'].lexer
|
||||
assert_equal Lexer['JavaScript'], Language['JavaScript'].lexer
|
||||
assert_equal Lexer['MOOCode'], Language['Moocode'].lexer
|
||||
assert_equal Lexer['MuPAD'], Language['mupad'].lexer
|
||||
assert_equal Lexer['NASM'], Language['Assembly'].lexer
|
||||
assert_equal Lexer['OCaml'], Language['F#'].lexer
|
||||
assert_equal Lexer['OCaml'], Language['OCaml'].lexer
|
||||
assert_equal Lexer['OpenEdge ABL'], Language['OpenEdge ABL'].lexer
|
||||
assert_equal Lexer['Standard ML'], Language['Standard ML'].lexer
|
||||
assert_equal Lexer['Ooc'], Language['ooc'].lexer
|
||||
assert_equal Lexer['OpenEdge ABL'], Language['OpenEdge ABL'].lexer
|
||||
assert_equal Lexer['REBOL'], Language['Rebol'].lexer
|
||||
assert_equal Lexer['RHTML'], Language['HTML+ERB'].lexer
|
||||
assert_equal Lexer['RHTML'], Language['RHTML'].lexer
|
||||
@@ -69,9 +69,11 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal Lexer['Scheme'], Language['Nu'].lexer
|
||||
assert_equal Lexer['Scheme'], Language['Racket'].lexer
|
||||
assert_equal Lexer['Scheme'], Language['Scheme'].lexer
|
||||
assert_equal Lexer['Standard ML'], Language['Standard ML'].lexer
|
||||
assert_equal Lexer['TeX'], Language['TeX'].lexer
|
||||
assert_equal Lexer['Text only'], Language['Text'].lexer
|
||||
assert_equal Lexer['Verilog'], Language['Verilog'].lexer
|
||||
assert_equal Lexer['XSLT'], Language['XSLT'].lexer
|
||||
assert_equal Lexer['aspx-vb'], Language['ASP'].lexer
|
||||
assert_equal Lexer['haXe'], Language['HaXe'].lexer
|
||||
assert_equal Lexer['reStructuredText'], Language['reStructuredText'].lexer
|
||||
@@ -94,6 +96,7 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal Language['Common Lisp'], Language.find_by_alias('common-lisp')
|
||||
assert_equal Language['Common Lisp'], Language.find_by_alias('lisp')
|
||||
assert_equal Language['Darcs Patch'], Language.find_by_alias('dpatch')
|
||||
assert_equal Language['Dart'], Language.find_by_alias('dart')
|
||||
assert_equal Language['Emacs Lisp'], Language.find_by_alias('elisp')
|
||||
assert_equal Language['Emacs Lisp'], Language.find_by_alias('emacs')
|
||||
assert_equal Language['Emacs Lisp'], Language.find_by_alias('emacs-lisp')
|
||||
@@ -112,7 +115,7 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal Language['OpenEdge ABL'], Language.find_by_alias('progress')
|
||||
assert_equal Language['OpenEdge ABL'], Language.find_by_alias('abl')
|
||||
assert_equal Language['Parrot Internal Representation'], Language.find_by_alias('pir')
|
||||
assert_equal Language['Powershell'], Language.find_by_alias('posh')
|
||||
assert_equal Language['PowerShell'], Language.find_by_alias('posh')
|
||||
assert_equal Language['Puppet'], Language.find_by_alias('puppet')
|
||||
assert_equal Language['Pure Data'], Language.find_by_alias('pure-data')
|
||||
assert_equal Language['Raw token data'], Language.find_by_alias('raw')
|
||||
@@ -146,6 +149,7 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal Language['Shell'], Language['Gentoo Ebuild'].group
|
||||
assert_equal Language['Shell'], Language['Gentoo Eclass'].group
|
||||
assert_equal Language['Shell'], Language['Tcsh'].group
|
||||
assert_equal Language['XML'], Language['XSLT'].group
|
||||
|
||||
# Ensure everyone has a group
|
||||
Language.all.each do |language|
|
||||
@@ -196,7 +200,7 @@ class TestLanguage < Test::Unit::TestCase
|
||||
def test_programming
|
||||
assert_equal :programming, Language['JavaScript'].type
|
||||
assert_equal :programming, Language['Perl'].type
|
||||
assert_equal :programming, Language['Powershell'].type
|
||||
assert_equal :programming, Language['PowerShell'].type
|
||||
assert_equal :programming, Language['Python'].type
|
||||
assert_equal :programming, Language['Ruby'].type
|
||||
end
|
||||
@@ -241,6 +245,7 @@ class TestLanguage < Test::Unit::TestCase
|
||||
def test_find_by_extension
|
||||
assert_equal Language['Ruby'], Language.find_by_extension('.rb')
|
||||
assert_equal Language['Ruby'], Language.find_by_extension('rb')
|
||||
assert_equal Language['Dart'], Language.find_by_extension('dart')
|
||||
assert_equal Language['Groff'], Language.find_by_extension('man')
|
||||
assert_equal Language['Groff'], Language.find_by_extension('1')
|
||||
assert_equal Language['Groff'], Language.find_by_extension('2')
|
||||
@@ -249,9 +254,14 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal Language['PHP'], Language.find_by_extension('php3')
|
||||
assert_equal Language['PHP'], Language.find_by_extension('php4')
|
||||
assert_equal Language['PHP'], Language.find_by_extension('php5')
|
||||
assert_equal Language['Powershell'], Language.find_by_extension('psm1')
|
||||
assert_equal Language['Powershell'], Language.find_by_extension('ps1')
|
||||
assert_nil Language.find_by_extension('.kt')
|
||||
assert_equal Language['PowerShell'], Language.find_by_extension('psm1')
|
||||
assert_equal Language['PowerShell'], Language.find_by_extension('ps1')
|
||||
|
||||
# Aliases for Streamline.js ( https://github.com/Sage/streamlinejs )
|
||||
assert_equal Language['JavaScript'], Language.find_by_extension('_js')
|
||||
assert_equal Language['CoffeeScript'], Language.find_by_extension('_coffee')
|
||||
|
||||
assert_nil Language.find_by_extension('.nkt')
|
||||
end
|
||||
|
||||
def test_find_all_by_extension
|
||||
@@ -265,12 +275,13 @@ class TestLanguage < Test::Unit::TestCase
|
||||
end
|
||||
|
||||
def test_find_by_filename
|
||||
assert_equal Language['Shell'], Language.find_by_filename('PKGBUILD')
|
||||
assert_equal Language['Ruby'], Language.find_by_filename('foo.rb')
|
||||
assert_equal Language['Ruby'], Language.find_by_filename('foo/bar.rb')
|
||||
assert_equal Language['Ruby'], Language.find_by_filename('Rakefile')
|
||||
assert_nil Language.find_by_filename('rb')
|
||||
assert_nil Language.find_by_filename('.rb')
|
||||
assert_nil Language.find_by_filename('.kt')
|
||||
assert_nil Language.find_by_filename('.nkt')
|
||||
end
|
||||
|
||||
def test_find
|
||||
@@ -306,6 +317,17 @@ class TestLanguage < Test::Unit::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
def test_color
|
||||
assert_equal '#701516', Language['Ruby'].color
|
||||
assert_equal '#3581ba', Language['Python'].color
|
||||
assert_equal '#f15501', Language['JavaScript'].color
|
||||
end
|
||||
|
||||
def test_colors
|
||||
assert Language.colors.include?(Language['Ruby'])
|
||||
assert Language.colors.include?(Language['Python'])
|
||||
end
|
||||
|
||||
def test_ace_mode
|
||||
assert_equal 'c_cpp', Language['C++'].ace_mode
|
||||
assert_equal 'coffee', Language['CoffeeScript'].ace_mode
|
||||
@@ -331,6 +353,8 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal '.pl', Language['Perl'].primary_extension
|
||||
assert_equal '.py', Language['Python'].primary_extension
|
||||
assert_equal '.rb', Language['Ruby'].primary_extension
|
||||
assert_equal '.js', Language['JavaScript'].primary_extension
|
||||
assert_equal '.coffee', Language['CoffeeScript'].primary_extension
|
||||
|
||||
# This is a nasty requirement, but theres some code in GitHub that
|
||||
# expects this. Really want to drop this.
|
||||
|
||||
@@ -14,6 +14,20 @@ class TestMime < Test::Unit::TestCase
|
||||
# in mimes.yml. Its still useful to test even trivial cases since
|
||||
# MIME::Type's extension lookup may return multiple matches and we
|
||||
# only pick one of them. Please keep this list alphabetized.
|
||||
assert_equal 'application/javascript', Mime.mime_for('.js')
|
||||
assert_equal 'application/octet-stream', Mime.mime_for('.dll')
|
||||
assert_equal 'application/octet-stream', Mime.mime_for('.dmg')
|
||||
assert_equal 'application/octet-stream', Mime.mime_for('.exe')
|
||||
assert_equal 'application/ogg', Mime.mime_for('.ogg')
|
||||
assert_equal 'application/postscript', Mime.mime_for('.ai')
|
||||
assert_equal 'application/postscript', Mime.mime_for('.eps')
|
||||
assert_equal 'application/postscript', Mime.mime_for('.ps')
|
||||
assert_equal 'application/vnd.adobe.air-application-installer-package+zip', Mime.mime_for('.air')
|
||||
assert_equal 'application/vnd.oasis.opendocument.presentation', Mime.mime_for('.odp')
|
||||
assert_equal 'application/vnd.oasis.opendocument.spreadsheet', Mime.mime_for('.ods')
|
||||
assert_equal 'application/vnd.oasis.opendocument.text', Mime.mime_for('.odt')
|
||||
assert_equal 'application/vnd.openofficeorg.extension', Mime.mime_for('.oxt')
|
||||
assert_equal 'application/vnd.openxmlformats-officedocument.presentationml.presentation', Mime.mime_for('.pptx')
|
||||
assert_equal 'application/x-chrome-extension', Mime.mime_for('.crx')
|
||||
assert_equal 'application/x-debian-package', Mime.mime_for('.deb')
|
||||
assert_equal 'application/x-iwork-keynote-sffkey', Mime.mime_for('.key')
|
||||
@@ -22,37 +36,19 @@ class TestMime < Test::Unit::TestCase
|
||||
assert_equal 'application/x-java-archive', Mime.mime_for('.ear')
|
||||
assert_equal 'application/x-java-archive', Mime.mime_for('.jar')
|
||||
assert_equal 'application/x-java-archive', Mime.mime_for('.war')
|
||||
assert_equal 'application/javascript', Mime.mime_for('.js')
|
||||
assert_equal 'application/x-latex', Mime.mime_for('.latex')
|
||||
assert_equal 'application/x-ms-xbap', Mime.mime_for('.xbap')
|
||||
assert_equal 'application/octet-stream', Mime.mime_for('.dll')
|
||||
assert_equal 'application/octet-stream', Mime.mime_for('.dmg')
|
||||
assert_equal 'application/octet-stream', Mime.mime_for('.exe')
|
||||
assert_equal 'application/x-perl', Mime.mime_for('.pl')
|
||||
assert_equal 'application/x-perl', Mime.mime_for('.pm')
|
||||
assert_equal 'application/postscript', Mime.mime_for('.ai')
|
||||
assert_equal 'application/postscript', Mime.mime_for('.eps')
|
||||
assert_equal 'application/postscript', Mime.mime_for('.ps')
|
||||
assert_equal 'application/x-python', Mime.mime_for('.py')
|
||||
assert_equal 'application/x-ruby', Mime.mime_for('.rb')
|
||||
assert_equal 'application/x-sh', Mime.mime_for('.sh')
|
||||
assert_equal 'application/x-shockwave-flash', Mime.mime_for('.swf')
|
||||
assert_equal 'application/x-silverlight-app', Mime.mime_for('.xap')
|
||||
assert_equal 'application/x-supercollider', Mime.mime_for('.sc')
|
||||
assert_equal 'application/vnd.adobe.air-application-installer-package+zip', Mime.mime_for('.air')
|
||||
assert_equal 'application/vnd.oasis.opendocument.presentation', Mime.mime_for('.odp')
|
||||
assert_equal 'application/vnd.oasis.opendocument.spreadsheet', Mime.mime_for('.ods')
|
||||
assert_equal 'application/vnd.oasis.opendocument.text', Mime.mime_for('.odt')
|
||||
assert_equal 'application/vnd.openofficeorg.extension', Mime.mime_for('.oxt')
|
||||
assert_equal 'application/vnd.openxmlformats-officedocument.presentationml.presentation', Mime.mime_for('.pptx')
|
||||
assert_equal 'application/xaml+xml', Mime.mime_for('.xaml')
|
||||
assert_equal 'text/cache-manifest', Mime.mime_for('.manifest')
|
||||
assert_equal 'text/html', Mime.mime_for('.html')
|
||||
assert_equal 'text/x-nemerle', Mime.mime_for('.n')
|
||||
assert_equal 'text/x-nimrod', Mime.mime_for('.nim')
|
||||
assert_equal 'text/x-ocaml', Mime.mime_for('.ml')
|
||||
assert_equal 'text/x-ocaml', Mime.mime_for('.sig')
|
||||
assert_equal 'text/x-ocaml', Mime.mime_for('.sml')
|
||||
assert_equal 'text/plain', Mime.mime_for('.c')
|
||||
assert_equal 'text/plain', Mime.mime_for('.cc')
|
||||
assert_equal 'text/plain', Mime.mime_for('.cpp')
|
||||
@@ -63,8 +59,13 @@ class TestMime < Test::Unit::TestCase
|
||||
assert_equal 'text/plain', Mime.mime_for('.hpp')
|
||||
assert_equal 'text/plain', Mime.mime_for('.kt')
|
||||
assert_equal 'text/x-logtalk', Mime.mime_for('.lgt')
|
||||
assert_equal 'text/x-rust', Mime.mime_for('.rs')
|
||||
assert_equal 'text/x-nemerle', Mime.mime_for('.n')
|
||||
assert_equal 'text/x-nimrod', Mime.mime_for('.nim')
|
||||
assert_equal 'text/x-ocaml', Mime.mime_for('.ml')
|
||||
assert_equal 'text/x-ocaml', Mime.mime_for('.sig')
|
||||
assert_equal 'text/x-ocaml', Mime.mime_for('.sml')
|
||||
assert_equal 'text/x-rust', Mime.mime_for('.rc')
|
||||
assert_equal 'text/x-rust', Mime.mime_for('.rs')
|
||||
assert_equal 'video/quicktime', Mime.mime_for('.mov')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -41,7 +41,7 @@ class TestPathname < Test::Unit::TestCase
|
||||
assert_equal Language['Python'], Pathname.new("itty.py").language
|
||||
assert_equal Language['Nu'], Pathname.new("itty.nu").language
|
||||
|
||||
assert_nil Pathname.new("defun.kt").language
|
||||
assert_nil Pathname.new("defu.nkt").language
|
||||
end
|
||||
|
||||
def test_lexer
|
||||
@@ -50,13 +50,13 @@ class TestPathname < Test::Unit::TestCase
|
||||
assert_equal Lexer['Bash'], Pathname.new("file.ebuild").lexer
|
||||
assert_equal Lexer['Python'], Pathname.new("itty.py").lexer
|
||||
assert_equal Lexer['Scheme'], Pathname.new("itty.nu").lexer
|
||||
assert_equal Lexer['Text only'], Pathname.new("defun.kt").lexer
|
||||
assert_equal Lexer['Text only'], Pathname.new("defu.nkt").lexer
|
||||
end
|
||||
|
||||
def test_mime_type
|
||||
assert_equal 'application/x-ruby', Pathname.new("file.rb").mime_type
|
||||
assert_equal 'application/javascript', Pathname.new("file.js").mime_type
|
||||
assert_equal 'application/x-python', Pathname.new("itty.py").mime_type
|
||||
assert_equal 'text/plain', Pathname.new("defun.kt").mime_type
|
||||
assert_equal 'text/plain', Pathname.new("defu.nkt").mime_type
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user