Merge remote-tracking branch 'source/master'

This commit is contained in:
DX-MON
2014-09-03 18:09:52 +01:00
44 changed files with 9001 additions and 320 deletions

View File

@@ -192,9 +192,9 @@ class TestBlob < Test::Unit::TestCase
assert !blob("Text/README").generated?
# Xcode project files
assert blob("XML/MainMenu.xib").generated?
assert !blob("XML/MainMenu.xib").generated?
assert blob("Binary/MainMenu.nib").generated?
assert blob("XML/project.pbxproj").generated?
assert !blob("XML/project.pbxproj").generated?
# Gemfile.locks
assert blob("Gemfile.lock").generated?
@@ -393,6 +393,10 @@ class TestBlob < Test::Unit::TestCase
# NuGet Packages
assert blob("packages/Modernizr.2.0.6/Content/Scripts/modernizr-2.0.6-development-only.js").vendored?
# Font Awesome
assert blob("some/asset/path/font-awesome.min.css").vendored?
assert blob("some/asset/path/font-awesome.css").vendored?
# Normalize
assert blob("some/asset/path/normalize.css").vendored?
@@ -413,6 +417,11 @@ class TestBlob < Test::Unit::TestCase
assert blob("cordova-2.1.0.js").vendored?
assert blob("cordova-2.1.0.min.js").vendored?
# Foundation js
assert blob("foundation.js").vendored?
assert blob("foundation.min.js").vendored?
assert blob("foundation.abide.js").vendored?
# Vagrant
assert blob("Vagrantfile").vendored?

View File

@@ -17,6 +17,7 @@ class TestLanguage < Test::Unit::TestCase
assert_equal Lexer['C'], Language['OpenCL'].lexer
assert_equal Lexer['C'], Language['XS'].lexer
assert_equal Lexer['C++'], Language['C++'].lexer
assert_equal Lexer['Chapel'], Language['Chapel'].lexer
assert_equal Lexer['Coldfusion HTML'], Language['ColdFusion'].lexer
assert_equal Lexer['Coq'], Language['Coq'].lexer
assert_equal Lexer['FSharp'], Language['F#'].lexer
@@ -45,7 +46,6 @@ class TestLanguage < Test::Unit::TestCase
assert_equal Lexer['Ruby'], Language['Mirah'].lexer
assert_equal Lexer['Ruby'], Language['Ruby'].lexer
assert_equal Lexer['S'], Language['R'].lexer
assert_equal Lexer['Scheme'], Language['Emacs Lisp'].lexer
assert_equal Lexer['Scheme'], Language['Nu'].lexer
assert_equal Lexer['Racket'], Language['Racket'].lexer
assert_equal Lexer['Scheme'], Language['Scheme'].lexer
@@ -71,6 +71,7 @@ class TestLanguage < Test::Unit::TestCase
assert_equal Language['C'], Language.find_by_alias('c')
assert_equal Language['C++'], Language.find_by_alias('c++')
assert_equal Language['C++'], Language.find_by_alias('cpp')
assert_equal Language['Chapel'], Language.find_by_alias('chpl')
assert_equal Language['CoffeeScript'], Language.find_by_alias('coffee')
assert_equal Language['CoffeeScript'], Language.find_by_alias('coffee-script')
assert_equal Language['ColdFusion'], Language.find_by_alias('cfm')
@@ -167,7 +168,7 @@ class TestLanguage < Test::Unit::TestCase
assert_equal 'pot', Language['Gettext Catalog'].search_term
assert_equal 'irc', Language['IRC log'].search_term
assert_equal 'lhs', Language['Literate Haskell'].search_term
assert_equal 'ruby', Language['Mirah'].search_term
assert_equal 'mirah', Language['Mirah'].search_term
assert_equal 'raw', Language['Raw token data'].search_term
assert_equal 'bash', Language['Shell'].search_term
assert_equal 'vim', Language['VimL'].search_term
@@ -255,6 +256,7 @@ class TestLanguage < Test::Unit::TestCase
assert_equal [Language['Shell']], Language.find_by_filename('.zshrc')
assert_equal [Language['Clojure']], Language.find_by_filename('riemann.config')
assert_equal [Language['HTML+Django']], Language.find_by_filename('index.jinja')
assert_equal [Language['Chapel']], Language.find_by_filename('examples/hello.chpl')
end
def test_find_by_shebang

View File

@@ -35,15 +35,33 @@ class TestSamples < Test::Unit::TestCase
assert_equal data['tokens_total'], data['language_tokens'].inject(0) { |n, (_, c)| n += c }
assert_equal data['tokens_total'], data['tokens'].inject(0) { |n, (_, ts)| n += ts.inject(0) { |m, (_, c)| m += c } }
end
# Check that there aren't samples with extensions that aren't explicitly defined in languages.yml
def test_parity
extensions = Samples::DATA['extnames']
languages_yml = File.expand_path("../../lib/linguist/languages.yml", __FILE__)
languages = YAML.load_file(languages_yml)
languages.each do |name, options|
options['extensions'] ||= []
if extnames = extensions[name]
extnames.each do |extname|
next if extname == '.script!'
assert options['extensions'].include?(extname), "#{name} has a sample with extension (#{extname}) that isn't explicitly defined in languages.yml"
end
end
end
end
# If a language extension isn't globally unique then make sure there are samples
def test_presence
Linguist::Language.all.each do |language|
language.all_extensions.each do |extension|
language_matches = Language.find_by_filename("foo#{extension}")
# If there is more than one language match for a given extension
# then check that there are examples for that language with the extension
# then check that there are examples for that language with the extension
if language_matches.length > 1
language_matches.each do |language|
assert File.directory?("samples/#{language.name}"), "#{language.name} is missing a samples directory"