mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-28 17:20:22 +00:00
Merge branch 'master' into associate-heuristic-with-extension
This commit is contained in:
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -629,6 +629,9 @@
|
||||
[submodule "vendor/grammars/jflex.tmbundle"]
|
||||
path = vendor/grammars/jflex.tmbundle
|
||||
url = https://github.com/jflex-de/jflex.tmbundle.git
|
||||
[submodule "vendor/grammars/Sublime-Modula-2"]
|
||||
path = vendor/grammars/Sublime-Modula-2
|
||||
url = https://github.com/harogaston/Sublime-Modula-2
|
||||
[submodule "vendor/grammars/ada.tmbundle"]
|
||||
path = vendor/grammars/ada.tmbundle
|
||||
url = https://github.com/textmate/ada.tmbundle
|
||||
@@ -647,3 +650,6 @@
|
||||
[submodule "vendor/grammars/atom-fsharp"]
|
||||
path = vendor/grammars/atom-fsharp
|
||||
url = https://github.com/fsprojects/atom-fsharp
|
||||
[submodule "vendor/grammars/SMT.tmbundle"]
|
||||
path = vendor/grammars/SMT.tmbundle
|
||||
url = https://github.com/SRI-CSL/SMT.tmbundle.git
|
||||
|
||||
@@ -2,9 +2,27 @@
|
||||
|
||||
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. The majority of contributions won't need to touch any Ruby code at all.
|
||||
|
||||
|
||||
## Adding an extension to a language
|
||||
|
||||
We try only to add new extensions once they have some usage on GitHub. In most cases we prefer that extensions be in use in hundreds of repositories before supporting them in Linguist.
|
||||
|
||||
To add support for a new extension:
|
||||
|
||||
0. Add your extension to the language entry in [`languages.yml`][languages].
|
||||
0. Add at least one sample for your extension to the [samples directory][samples] in the correct subdirectory.
|
||||
0. Open a pull request, linking to a [GitHub search result](https://github.com/search?utf8=%E2%9C%93&q=extension%3Aboot+NOT+nothack&type=Code&ref=searchresults) showing in-the-wild usage.
|
||||
|
||||
In addition, if this extension is already listed in [`languages.yml`][languages] then sometimes a few more steps will need to be taken:
|
||||
|
||||
0. Make sure that example `.yourextension` files are present in the [samples directory][samples] for each language that uses `.yourextension`.
|
||||
0. Test the performance of the Bayesian classifier with a relatively large number (1000s) of sample `.yourextension` files. (ping @arfon or @bkeepers to help with this) to ensure we're not misclassifying files.
|
||||
0. If the Bayesian classifier does a bad job with the sample `.yourextension` files then a [heuristic](https://github.com/github/linguist/blob/master/lib/linguist/heuristics.rb) may need to be written to help.
|
||||
|
||||
|
||||
## Adding a language
|
||||
|
||||
We try only to add languages once they have some usage on GitHub. In most cases we prefer that languages be in use in hundreds of repositories before supporting them in Linguist.
|
||||
We try only to add languages once they have some usage on GitHub. In most cases we prefer that each new file extension be in use in hundreds of repositories before supporting them in Linguist.
|
||||
|
||||
To add support for a new language:
|
||||
|
||||
@@ -23,12 +41,14 @@ In addition, if your new language defines an extension that's already listed in
|
||||
|
||||
Remember, the goal here is to try and avoid false positives!
|
||||
|
||||
|
||||
## Fixing a misclassified language
|
||||
|
||||
Most languages are detected by their file extension defined in [languages.yml][languages]. For disambiguating between files with common extensions, linguist applies some [heuristics](/lib/linguist/heuristics.rb) and a [statistical classifier](lib/linguist/classifier.rb). This process can help differentiate between, for example, `.h` files which could be either C, C++, or Obj-C.
|
||||
|
||||
Misclassifications can often be solved by either adding a new filename or extension for the language or adding more [samples][samples] to make the classifier smarter.
|
||||
|
||||
|
||||
## Fixing syntax highlighting
|
||||
|
||||
Syntax highlighting in GitHub is performed using TextMate-compatible grammars. These are the same grammars that TextMate, Sublime Text and Atom use. Every language in [languages.yml][languages] is mapped to its corresponding TM `scope`. This scope will be used when picking up a grammar for highlighting.
|
||||
@@ -55,6 +75,7 @@ Sometimes getting the tests running can be too much work, especially if you don'
|
||||
|
||||
Here's our current build status: [](http://travis-ci.org/github/linguist)
|
||||
|
||||
|
||||
## Releasing
|
||||
|
||||
If you are the current maintainer of this gem:
|
||||
|
||||
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
||||
s.add_dependency 'charlock_holmes', '~> 0.7.3'
|
||||
s.add_dependency 'escape_utils', '~> 1.1.0'
|
||||
s.add_dependency 'mime-types', '>= 1.19'
|
||||
s.add_dependency 'rugged', '~> 0.23.0b1'
|
||||
s.add_dependency 'rugged', '>= 0.23.0b'
|
||||
|
||||
s.add_development_dependency 'minitest', '>= 5.0'
|
||||
s.add_development_dependency 'mocha'
|
||||
|
||||
@@ -85,6 +85,8 @@ vendor/grammars/Racket:
|
||||
- source.racket
|
||||
vendor/grammars/SCSS.tmbundle:
|
||||
- source.scss
|
||||
vendor/grammars/SMT.tmbundle:
|
||||
- source.smt
|
||||
vendor/grammars/Scalate.tmbundle:
|
||||
- source.scaml
|
||||
- text.html.ssp
|
||||
@@ -107,6 +109,8 @@ vendor/grammars/Sublime-Logos:
|
||||
- source.logos
|
||||
vendor/grammars/Sublime-Loom:
|
||||
- source.loomscript
|
||||
vendor/grammars/Sublime-Modula-2/:
|
||||
- source.modula2
|
||||
vendor/grammars/Sublime-Nit:
|
||||
- source.nit
|
||||
vendor/grammars/Sublime-QML:
|
||||
|
||||
@@ -69,8 +69,9 @@ module Linguist
|
||||
generated_protocol_buffer? ||
|
||||
generated_apache_thrift? ||
|
||||
generated_jni_header? ||
|
||||
generated_unity3d_meta? ||
|
||||
vcr_cassette?
|
||||
vcr_cassette? ||
|
||||
generated_module? ||
|
||||
generated_unity3d_meta?
|
||||
end
|
||||
|
||||
# Internal: Is the blob an Xcode file?
|
||||
@@ -324,6 +325,24 @@ module Linguist
|
||||
return lines[0].include?("Generated by Cython")
|
||||
end
|
||||
|
||||
# Internal: Is it a KiCAD or GFortran module file?
|
||||
#
|
||||
# KiCAD module files contain:
|
||||
# PCBNEW-LibModule-V1 yyyy-mm-dd h:mm:ss XM
|
||||
# on the first line.
|
||||
#
|
||||
# GFortran module files contain:
|
||||
# GFORTRAN module version 'x' created from
|
||||
# on the first line.
|
||||
#
|
||||
# Return true of false
|
||||
def generated_module?
|
||||
return false unless extname == '.mod'
|
||||
return false unless lines.count > 1
|
||||
return lines[0].include?("PCBNEW-LibModule-V") ||
|
||||
lines[0].include?("GFORTRAN module version '")
|
||||
end
|
||||
|
||||
# Internal: Is this a metadata file from Unity3D?
|
||||
#
|
||||
# Unity3D Meta files start with:
|
||||
|
||||
@@ -285,6 +285,16 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".mod" do |data|
|
||||
if data.include?('<!ENTITY ')
|
||||
Language["XML"]
|
||||
elsif /MODULE\s\w+\s*;/i.match(data) || /^\s*END \w+;$/i.match(data)
|
||||
Language["Modula-2"]
|
||||
else
|
||||
[Language["Linux Kernel Module"], Language["AMPL"]]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".nl" do |data|
|
||||
if /^(b|g)[0-9]+ /.match(data)
|
||||
Language["NL"]
|
||||
|
||||
@@ -49,6 +49,7 @@ AMPL:
|
||||
color: "#E6EFBB"
|
||||
extensions:
|
||||
- .ampl
|
||||
- .mod
|
||||
tm_scope: source.ampl
|
||||
ace_mode: text
|
||||
|
||||
@@ -1359,7 +1360,7 @@ Haskell:
|
||||
Haxe:
|
||||
type: programming
|
||||
ace_mode: haxe
|
||||
color: "#f7941e"
|
||||
color: "#df7900"
|
||||
extensions:
|
||||
- .hx
|
||||
- .hxsl
|
||||
@@ -1475,6 +1476,14 @@ Isabelle:
|
||||
tm_scope: source.isabelle.theory
|
||||
ace_mode: text
|
||||
|
||||
Isabelle ROOT:
|
||||
type: programming
|
||||
group: Isabelle
|
||||
filenames:
|
||||
- ROOT
|
||||
tm_scope: source.isabelle.root
|
||||
ace_mode: text
|
||||
|
||||
J:
|
||||
type: programming
|
||||
color: "#9EEDFF"
|
||||
@@ -1638,7 +1647,7 @@ Kit:
|
||||
|
||||
Kotlin:
|
||||
type: programming
|
||||
color: "#EA4DFA"
|
||||
color: "#F18E33"
|
||||
extensions:
|
||||
- .kt
|
||||
- .ktm
|
||||
@@ -1759,6 +1768,13 @@ Linker Script:
|
||||
tm_scope: none
|
||||
ace_mode: text
|
||||
|
||||
Linux Kernel Module:
|
||||
type: data
|
||||
extensions:
|
||||
- .mod
|
||||
tm_scope: none
|
||||
ace_mode: text
|
||||
|
||||
Liquid:
|
||||
type: markup
|
||||
extensions:
|
||||
@@ -2025,6 +2041,13 @@ Modelica:
|
||||
tm_scope: source.modelica
|
||||
ace_mode: text
|
||||
|
||||
Modula-2:
|
||||
type: programming
|
||||
extensions:
|
||||
- .mod
|
||||
tm_scope: source.modula2
|
||||
ace_mode: text
|
||||
|
||||
Module Management System:
|
||||
type: programming
|
||||
extensions:
|
||||
@@ -2768,7 +2791,7 @@ Racket:
|
||||
|
||||
Ragel in Ruby Host:
|
||||
type: programming
|
||||
color: "#e17600"
|
||||
color: "#9d5200"
|
||||
extensions:
|
||||
- .rl
|
||||
aliases:
|
||||
@@ -2919,6 +2942,25 @@ SCSS:
|
||||
extensions:
|
||||
- .scss
|
||||
|
||||
SMT:
|
||||
type: programming
|
||||
extensions:
|
||||
- .smt2
|
||||
- .smt
|
||||
interpreters:
|
||||
- boolector
|
||||
- cvc4
|
||||
- mathsat5
|
||||
- opensmt
|
||||
- smtinterpol
|
||||
- smt-rat
|
||||
- stp
|
||||
- verit
|
||||
- yices2
|
||||
- z3
|
||||
tm_scope: source.smt
|
||||
ace_mode: text
|
||||
|
||||
SPARQL:
|
||||
type: data
|
||||
tm_scope: source.sparql
|
||||
@@ -3506,6 +3548,7 @@ XML:
|
||||
- .launch
|
||||
- .mdpolicy
|
||||
- .mm
|
||||
- .mod
|
||||
- .mxml
|
||||
- .nproj
|
||||
- .nuspec
|
||||
|
||||
@@ -150,9 +150,10 @@ module Linguist
|
||||
next if delta.binary
|
||||
|
||||
if [:added, :modified].include? delta.status
|
||||
# Skip submodules
|
||||
# Skip submodules and symlinks
|
||||
mode = delta.new_file[:mode]
|
||||
next if (mode & 040000) != 0
|
||||
mode_format = (mode & 0170000)
|
||||
next if mode_format == 0120000 || mode_format == 040000 || mode_format == 0160000
|
||||
|
||||
blob = Linguist::LazyBlob.new(repository, delta.new_file[:oid], new, mode.to_s(8))
|
||||
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
- 3rd[-_]?party/
|
||||
- vendors?/
|
||||
- extern(al)?/
|
||||
- (^|/)[Vv]+endor/
|
||||
|
||||
# Debian packaging
|
||||
- ^debian/
|
||||
@@ -172,6 +173,13 @@
|
||||
# Sparkle
|
||||
- (^|/)Sparkle/
|
||||
|
||||
# Crashlytics
|
||||
- Crashlytics.framework/
|
||||
|
||||
# Fabric
|
||||
- Fabric.framework/
|
||||
|
||||
|
||||
## Groovy ##
|
||||
|
||||
# Gradle
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module Linguist
|
||||
VERSION = "4.5.6"
|
||||
VERSION = "4.5.7"
|
||||
end
|
||||
|
||||
58
samples/AMPL/CT2.mod
Normal file
58
samples/AMPL/CT2.mod
Normal file
@@ -0,0 +1,58 @@
|
||||
param num_beams; # number of beams
|
||||
|
||||
param num_rows >= 1, integer; # number of rows
|
||||
param num_cols >= 1, integer; # number of columns
|
||||
|
||||
set BEAMS := 1 .. num_beams; # set of beams
|
||||
|
||||
set ROWS := 1 .. num_rows; # set of rows
|
||||
set COLUMNS := 1 .. num_cols; # set of columns
|
||||
|
||||
# values for entries of each beam
|
||||
param beam_values {BEAMS, ROWS, COLUMNS} >= 0;
|
||||
|
||||
# values of tumor
|
||||
param tumor_values {ROWS, COLUMNS} >= 0;
|
||||
|
||||
# values of critical area
|
||||
param critical_values {ROWS, COLUMNS} >= 0;
|
||||
|
||||
# critical maximum dosage requirement
|
||||
param critical_max;
|
||||
|
||||
# tumor minimum dosage requirement
|
||||
param tumor_min;
|
||||
|
||||
# dosage scalar of each beam
|
||||
var X {i in BEAMS} >= 0;
|
||||
|
||||
|
||||
# define the tumor area which includes the locations where tumor exists
|
||||
set tumor_area := {k in ROWS, h in COLUMNS: tumor_values[k,h] > 0};
|
||||
|
||||
# define critical area
|
||||
set critical_area := {k in ROWS, h in COLUMNS: critical_values[k,h] > 0};
|
||||
|
||||
var S {(k,h) in tumor_area} >= 0;
|
||||
var T {(k,h) in critical_area} >= 0;
|
||||
|
||||
# maximize total dosage in tumor area
|
||||
maximize total_tumor_dosage: sum {i in BEAMS} sum {(k,h) in tumor_area} X[i] * beam_values[i,k,h];
|
||||
|
||||
# minimize total dosage in critical area
|
||||
minimize total_critical_dosage: sum {i in BEAMS} sum {(k,h) in critical_area} X[i] * beam_values[i,k,h];
|
||||
|
||||
# minimize total tumor slack
|
||||
minimize total_tumor_slack: sum {(k,h) in tumor_area} S[k,h];
|
||||
|
||||
# minimize total critical area slack
|
||||
minimize total_critical_slack: sum {(k,h) in critical_area} T[k,h];
|
||||
|
||||
# total dosage at each tumor location [k,h] should be >= min tumor dosage with slack variable
|
||||
subject to tumor_limit {(k,h) in tumor_area} : sum {i in BEAMS} X[i] * beam_values[i,k,h] == tumor_min - S[k,h];
|
||||
|
||||
# total dosage at each critical location [k,h] should be = max critical dosage with slack variable
|
||||
subject to critical_limit {(k,h) in critical_area} : sum {i in BEAMS} X[i] * beam_values[i,k,h] == critical_max + T[k,h];
|
||||
|
||||
|
||||
|
||||
25912
samples/G-code/lm.g
25912
samples/G-code/lm.g
File diff suppressed because it is too large
Load Diff
29735
samples/G-code/rm.g
29735
samples/G-code/rm.g
File diff suppressed because it is too large
Load Diff
1104
samples/Isabelle ROOT/filenames/ROOT
Normal file
1104
samples/Isabelle ROOT/filenames/ROOT
Normal file
File diff suppressed because it is too large
Load Diff
2
samples/Linux Kernel Module/bcm4334x.mod
Normal file
2
samples/Linux Kernel Module/bcm4334x.mod
Normal file
@@ -0,0 +1,2 @@
|
||||
/data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcm4334x.ko
|
||||
/data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_pno.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_common.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_ip.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_custom_gpio.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_sched.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_cfg80211.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_wq.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/aiutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmevent.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmwifi_channels.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/hndpmu.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/linux_osl.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/sbutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/siutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_android.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfg80211.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfgp2p.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfg_btcoex.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wldev_common.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_linux_mon.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_platdev.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_sdmmc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_sdmmc_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_cdc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_wlfc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_sdio.o
|
||||
2
samples/Linux Kernel Module/mbcache.mod
Normal file
2
samples/Linux Kernel Module/mbcache.mod
Normal file
@@ -0,0 +1,2 @@
|
||||
fs/mbcache.ko
|
||||
fs/mbcache.o
|
||||
2
samples/Linux Kernel Module/md5.mod
Normal file
2
samples/Linux Kernel Module/md5.mod
Normal file
@@ -0,0 +1,2 @@
|
||||
crypto/md5.ko
|
||||
crypto/md5.o
|
||||
329
samples/Modula-2/HuffChan.mod
Normal file
329
samples/Modula-2/HuffChan.mod
Normal file
@@ -0,0 +1,329 @@
|
||||
IMPLEMENTATION MODULE HuffChan;
|
||||
|
||||
(*
|
||||
This module shows how to redefine standard IO file functions. It provides
|
||||
functions for reading and writing packed files opened in Raw mode.
|
||||
*)
|
||||
|
||||
IMPORT IOChan, IOLink, ChanConsts, IOConsts, SYSTEM, Strings;
|
||||
FROM Storage IMPORT ALLOCATE, DEALLOCATE;
|
||||
|
||||
CONST
|
||||
rbldFrq = 512; (* means: every 512 bytes rebuild table *)
|
||||
|
||||
TYPE
|
||||
charTap = POINTER TO ARRAY [0..MAX(INTEGER)-1] OF CHAR;
|
||||
smbTp = POINTER TO smbT;
|
||||
|
||||
smbT = RECORD (* Huffman's tree *)
|
||||
ch : CHAR;
|
||||
n : CARDINAL; (* frequncy of char ch *)
|
||||
left,right,next : smbTp;
|
||||
END;
|
||||
|
||||
tblT = RECORD (* bit sequence for code *)
|
||||
vl : CARDINAL; (* bit sequence *)
|
||||
cnt : INTEGER; (* it length *)
|
||||
END;
|
||||
|
||||
lclDataT = RECORD (* channel's local data *)
|
||||
tRoot : smbTp;
|
||||
htbl : ARRAY [0..255] OF tblT; (* code -> bit sequence table *)
|
||||
ftbl : ARRAY [0..255] OF CARDINAL; (* frequncey table *)
|
||||
wBf,rb1,rb2 : CARDINAL;
|
||||
wbc,rbc,smc : INTEGER;
|
||||
chid : IOChan.ChanId;
|
||||
END;
|
||||
lclDataTp = POINTER TO lclDataT;
|
||||
charp = POINTER TO CHAR;
|
||||
|
||||
VAR
|
||||
did : IOLink.DeviceId;
|
||||
ldt : lclDataTp;
|
||||
|
||||
|
||||
PROCEDURE Shf(a:CARDINAL; b : INTEGER) : CARDINAL; (* shl a,b (or shr) *)
|
||||
BEGIN
|
||||
RETURN SYSTEM.CAST(CARDINAL,SYSTEM.SHIFT(SYSTEM.CAST(BITSET,a),b));
|
||||
END Shf;
|
||||
|
||||
PROCEDURE wrDword(a:CARDINAL); (* write 4 bytes to file *)
|
||||
BEGIN
|
||||
IOChan.RawWrite(ldt^.chid,SYSTEM.ADR(a),4);
|
||||
END wrDword;
|
||||
|
||||
PROCEDURE rdDword() : CARDINAL; (* read 4 bytes from file *)
|
||||
VAR
|
||||
a,z : CARDINAL;
|
||||
BEGIN
|
||||
a:=0;
|
||||
IOChan.RawRead(ldt^.chid,SYSTEM.ADR(a),4,z);
|
||||
RETURN a;
|
||||
END rdDword;
|
||||
|
||||
PROCEDURE wrSmb(ch : CHAR); (* write bit sequence for code ch *)
|
||||
VAR
|
||||
v,h : CARDINAL;
|
||||
b,c : INTEGER;
|
||||
BEGIN
|
||||
WITH ldt^ DO
|
||||
v:=htbl[ORD(ch)].vl;
|
||||
c:=htbl[ORD(ch)].cnt;
|
||||
IF c+wbc<=32 THEN
|
||||
wBf:=Shf(wBf,c);
|
||||
wBf:=wBf+v;
|
||||
wbc:=wbc+c;
|
||||
IF wbc=32 THEN
|
||||
wrDword(wBf);
|
||||
wBf:=0; wbc:=0;
|
||||
END;
|
||||
RETURN;
|
||||
END;
|
||||
b:=c+wbc-32;
|
||||
h:=Shf(v,-b);
|
||||
wBf:=Shf(wBf,32-wbc)+h;
|
||||
wrDword(wBf);
|
||||
wBf:=v-Shf(h,b);
|
||||
wbc:=b;
|
||||
END;
|
||||
END wrSmb;
|
||||
|
||||
PROCEDURE flush(); (* write data in buffer *)
|
||||
BEGIN
|
||||
WITH ldt^ DO
|
||||
wBf:=Shf(wBf,32-wbc);
|
||||
wrDword(wBf);
|
||||
END;
|
||||
END flush;
|
||||
|
||||
PROCEDURE getSym() : CHAR; (* find code for first bit sequence in buffer *)
|
||||
VAR
|
||||
t,i : CARDINAL;
|
||||
b : INTEGER;
|
||||
BEGIN
|
||||
WITH ldt^ DO
|
||||
IF rbc<=32 THEN
|
||||
rb2:=rdDword();
|
||||
t:=Shf(rb2,-rbc);
|
||||
IF rbc=32 THEN t:=0; END;
|
||||
rb1:=rb1+t;
|
||||
rb2:=Shf(rb2,32-rbc);
|
||||
IF rbc=0 THEN rb2:=0; END;
|
||||
rbc:=rbc+32;
|
||||
END;
|
||||
FOR i:=0 TO 255 DO
|
||||
t:=Shf(rb1,htbl[i].cnt-32);
|
||||
IF t=htbl[i].vl THEN
|
||||
rb1:=Shf(rb1,htbl[i].cnt);
|
||||
b:=32-htbl[i].cnt;
|
||||
t:=Shf(rb2,-b);
|
||||
rb1:=rb1+t;
|
||||
rb2:=Shf(rb2,32-b);
|
||||
rbc:=rbc+b-32;
|
||||
RETURN CHR(i);
|
||||
END;
|
||||
END;
|
||||
END;
|
||||
END getSym;
|
||||
|
||||
PROCEDURE Insert(s : smbTp); (* insert new character in Huffman's tree *)
|
||||
VAR
|
||||
cr : smbTp;
|
||||
BEGIN
|
||||
WITH ldt^ DO
|
||||
IF tRoot=NIL THEN
|
||||
cr:=tRoot;
|
||||
tRoot:=s;
|
||||
s^.next:=cr;
|
||||
RETURN;
|
||||
ELSIF tRoot^.n<=s^.n THEN
|
||||
cr:=tRoot;
|
||||
tRoot:=s;
|
||||
s^.next:=cr;
|
||||
RETURN;
|
||||
END;
|
||||
cr:=tRoot;
|
||||
WHILE (cr^.next<>NIL) & (cr^.next^.n>s^.n) DO
|
||||
cr:=cr^.next;
|
||||
END;
|
||||
s^.next:=cr^.next;
|
||||
cr^.next:=s;
|
||||
END;
|
||||
END Insert;
|
||||
|
||||
PROCEDURE BuildTree(); (* build Huffman's tree *)
|
||||
VAR
|
||||
cr,ocr,ncr : smbTp;
|
||||
BEGIN
|
||||
WITH ldt^ DO
|
||||
LOOP
|
||||
ocr:=NIL; cr:=tRoot;
|
||||
WHILE cr^.next^.next<>NIL DO
|
||||
ocr:=cr; cr:=cr^.next;
|
||||
END;
|
||||
NEW(ncr);
|
||||
ncr^.n:=cr^.n+cr^.next^.n;
|
||||
ncr^.left:=cr;
|
||||
ncr^.right:=cr^.next;
|
||||
IF ocr<>NIL THEN
|
||||
ocr^.next:=NIL;
|
||||
Insert(ncr);
|
||||
ELSE
|
||||
tRoot:=NIL;
|
||||
Insert(ncr);
|
||||
EXIT;
|
||||
END;
|
||||
END;
|
||||
END;
|
||||
END BuildTree;
|
||||
|
||||
PROCEDURE BuildTable(cr: smbTp; vl,n: CARDINAL); (* build table: code -> bit sequence *)
|
||||
BEGIN
|
||||
WITH ldt^ DO
|
||||
IF cr^.left=NIL THEN
|
||||
htbl[ORD(cr^.ch)].vl:=vl;
|
||||
htbl[ORD(cr^.ch)].cnt:=n;
|
||||
DISPOSE(cr);
|
||||
RETURN;
|
||||
END;
|
||||
vl:=vl*2;
|
||||
BuildTable(cr^.left,vl,n+1);
|
||||
BuildTable(cr^.right,vl+1,n+1);
|
||||
DISPOSE(cr);
|
||||
END;
|
||||
END BuildTable;
|
||||
|
||||
PROCEDURE clcTab(); (* build code/bitseq. table from frequency table *)
|
||||
VAR
|
||||
i : CARDINAL;
|
||||
s : smbTp;
|
||||
BEGIN
|
||||
WITH ldt^ DO
|
||||
tRoot:=NIL;
|
||||
FOR i:=0 TO 255 DO
|
||||
NEW(s);
|
||||
s^.ch:=CHR(i);
|
||||
s^.n:=ftbl[i];
|
||||
s^.left:=NIL; s^.right:=NIL; s^.next:=NIL;
|
||||
Insert(s);
|
||||
END;
|
||||
BuildTree();
|
||||
BuildTable(tRoot,0,0);
|
||||
END;
|
||||
END clcTab;
|
||||
|
||||
PROCEDURE iniHuf();
|
||||
VAR
|
||||
i : CARDINAL;
|
||||
BEGIN
|
||||
WITH ldt^ DO
|
||||
FOR i:=0 TO 255 DO
|
||||
ftbl[i]:=1;
|
||||
END;
|
||||
wBf:=0; wbc:=0; rb1:=0; rb2:=0; rbc:=0;
|
||||
smc:=0;
|
||||
clcTab();
|
||||
END;
|
||||
END iniHuf;
|
||||
|
||||
|
||||
PROCEDURE RawWrite(x: IOLink.DeviceTablePtr; buf: SYSTEM.ADDRESS;
|
||||
len: CARDINAL);
|
||||
VAR
|
||||
i : CARDINAL;
|
||||
ch : CHAR;
|
||||
cht : charTap;
|
||||
BEGIN
|
||||
IF len = 0 THEN RETURN; END;
|
||||
ldt:=SYSTEM.CAST(lclDataTp,x^.cd);
|
||||
cht:=SYSTEM.CAST(charTap,buf);
|
||||
WITH ldt^ DO
|
||||
FOR i:=0 TO len-1 DO
|
||||
ch:=cht^[i];
|
||||
wrSmb(ch);
|
||||
IF ch = 377C THEN wrSmb(ch); END;
|
||||
ftbl[ORD(ch)]:=ftbl[ORD(ch)]+1; smc:=smc+1;
|
||||
IF smc=rbldFrq THEN
|
||||
clcTab();
|
||||
smc:=0;
|
||||
END;
|
||||
END;
|
||||
END;
|
||||
x^.result:=IOChan.ReadResult(ldt^.chid);
|
||||
END RawWrite;
|
||||
|
||||
PROCEDURE RawRead(x: IOLink.DeviceTablePtr; buf: SYSTEM.ADDRESS;
|
||||
blen: CARDINAL; VAR len: CARDINAL);
|
||||
VAR
|
||||
i : CARDINAL;
|
||||
cht : charTap;
|
||||
ch : CHAR;
|
||||
BEGIN
|
||||
ldt:=SYSTEM.CAST(lclDataTp,x^.cd);
|
||||
cht:=SYSTEM.CAST(charTap,buf);
|
||||
IF (blen=0) OR (x^.result<>IOConsts.allRight) THEN len:=0; RETURN; END;
|
||||
WITH ldt^ DO
|
||||
FOR i:=0 TO blen-1 DO
|
||||
ch:=getSym();
|
||||
IF ch = 377C THEN
|
||||
ch:=getSym();
|
||||
IF ch = 0C THEN
|
||||
x^.result:=IOConsts.endOfInput;
|
||||
len:=i; cht^[i]:=0C;
|
||||
RETURN;
|
||||
END;
|
||||
END;
|
||||
cht^[i]:=ch;
|
||||
ftbl[ORD(ch)]:=ftbl[ORD(ch)]+1; smc:=smc+1;
|
||||
IF smc=rbldFrq THEN
|
||||
clcTab();
|
||||
smc:=0;
|
||||
END;
|
||||
END;
|
||||
len:=blen;
|
||||
END;
|
||||
END RawRead;
|
||||
|
||||
PROCEDURE CreateAlias(VAR cid: ChanId; io: ChanId; VAR res: OpenResults);
|
||||
VAR
|
||||
x : IOLink.DeviceTablePtr;
|
||||
BEGIN
|
||||
IOLink.MakeChan(did,cid);
|
||||
IF cid = IOChan.InvalidChan() THEN
|
||||
res:=ChanConsts.outOfChans
|
||||
ELSE
|
||||
NEW(ldt);
|
||||
IF ldt=NIL THEN
|
||||
IOLink.UnMakeChan(did,cid);
|
||||
res:=ChanConsts.outOfChans;
|
||||
RETURN;
|
||||
END;
|
||||
x:=IOLink.DeviceTablePtrValue(cid,did,IOChan.notAvailable,"");
|
||||
ldt^.chid:=io;
|
||||
x^.cd:=ldt;
|
||||
x^.doRawWrite:=RawWrite;
|
||||
x^.doRawRead:=RawRead;
|
||||
res:=ChanConsts.opened;
|
||||
iniHuf();
|
||||
x^.result:=IOConsts.allRight;
|
||||
END;
|
||||
END CreateAlias;
|
||||
|
||||
PROCEDURE DeleteAlias(VAR cid: ChanId);
|
||||
VAR
|
||||
x : IOLink.DeviceTablePtr;
|
||||
BEGIN
|
||||
x:=IOLink.DeviceTablePtrValue(cid,did,IOChan.notAvailable,"");
|
||||
ldt:=x^.cd;
|
||||
IF ldt^.rbc=0 THEN
|
||||
wrSmb(377C);
|
||||
wrSmb(0C);
|
||||
flush();
|
||||
END;
|
||||
DISPOSE(ldt);
|
||||
IOLink.UnMakeChan(did,cid);
|
||||
END DeleteAlias;
|
||||
|
||||
BEGIN
|
||||
IOLink.AllocateDeviceId(did);
|
||||
END HuffChan.
|
||||
6
samples/PHP/root.php
Normal file
6
samples/PHP/root.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
////////////////////////////////////
|
||||
// I am not Isabelle ROOT //
|
||||
////////////////////////////////////
|
||||
|
||||
?>
|
||||
@@ -1,4 +1,5 @@
|
||||
use Test::Base;
|
||||
use Test::More;
|
||||
|
||||
__DATA__
|
||||
=== Strict Test
|
||||
|
||||
@@ -73,26 +73,6 @@ Here's some POD! Wooo
|
||||
|
||||
say('this is not!');
|
||||
|
||||
=table
|
||||
Of role things
|
||||
|
||||
say('not in your table');
|
||||
#= A single line declarator "block" (with a keyword like role)
|
||||
#| Another single line declarator "block" (with a keyword like role)
|
||||
#={
|
||||
A declarator block (with a keyword like role)
|
||||
}
|
||||
#|{
|
||||
Another declarator block (with a keyword like role)
|
||||
}
|
||||
#= { A single line declarator "block" with a brace (with a keyword like role)
|
||||
#=«
|
||||
More declarator blocks! (with a keyword like role)
|
||||
»
|
||||
#|«
|
||||
More declarator blocks! (with a keyword like role)
|
||||
»
|
||||
|
||||
say 'Moar code!';
|
||||
|
||||
my $don't = 16;
|
||||
|
||||
20
samples/SMT/bignum_lia1.smt2
Normal file
20
samples/SMT/bignum_lia1.smt2
Normal file
@@ -0,0 +1,20 @@
|
||||
(set-logic QF_LIA)
|
||||
(set-info :source | SMT-COMP'06 organizers |)
|
||||
(set-info :smt-lib-version 2.0)
|
||||
(set-info :category "check")
|
||||
(set-info :status unsat)
|
||||
(set-info :notes |This benchmark is designed to check if the DP supports bignumbers.|)
|
||||
(declare-fun x1 () Int)
|
||||
(declare-fun x2 () Int)
|
||||
(declare-fun x3 () Int)
|
||||
(declare-fun x4 () Int)
|
||||
(declare-fun x5 () Int)
|
||||
(declare-fun x6 () Int)
|
||||
(assert (and (or (>= x1 1000) (>= x1 1002))
|
||||
(or (>= x2 (* 1230 x1)) (>= x2 (* 1003 x1)))
|
||||
(or (>= x3 (* 1310 x2)) (>= x3 (* 1999 x2)))
|
||||
(or (>= x4 (* 4000 x3)) (>= x4 (* 8000 x3)))
|
||||
(or (<= x5 (* (- 4000) x4)) (<= x5 (* (- 8000) x4)))
|
||||
(or (>= x6 (* (- 3) x5)) (>= x6 (* (- 2) x5))) (< x6 0)))
|
||||
(check-sat)
|
||||
(exit)
|
||||
20
samples/SMT/list4.smt2
Normal file
20
samples/SMT/list4.smt2
Normal file
@@ -0,0 +1,20 @@
|
||||
(set-logic AUFLIRA)
|
||||
(set-info :source | Buggy list theorem |)
|
||||
(set-info :smt-lib-version 2.0)
|
||||
(set-info :category "crafted")
|
||||
(set-info :status sat)
|
||||
(declare-sort List 0)
|
||||
(declare-fun cons (Real List) List)
|
||||
(declare-fun nil () List)
|
||||
(declare-fun car (List) Real)
|
||||
(declare-fun cdr (List) List)
|
||||
(declare-fun len (List) Int)
|
||||
(assert (forall ((?x Real) (?y List)) (= (car (cons ?x ?y)) ?x)))
|
||||
(assert (forall ((?x Real) (?y List)) (= (cdr (cons ?x ?y)) ?y)))
|
||||
(assert (= (len nil) 0))
|
||||
(assert (forall ((?x Real) (?y List)) (= (len (cons ?x ?y)) (+ (len ?y) 1))))
|
||||
(declare-fun append (List List) List)
|
||||
(assert (forall ((?x Real) (?y1 List) (?y2 List)) (= (append (cons ?x ?y1) ?y2) (cons ?x (append ?y1 ?y2)))))
|
||||
(assert (not (forall ((?x Real) (?y List)) (= (append (cons ?x nil) ?y) (cons ?x ?y)))))
|
||||
(check-sat)
|
||||
(exit)
|
||||
123
samples/SMT/queen10-1.smt2
Normal file
123
samples/SMT/queen10-1.smt2
Normal file
@@ -0,0 +1,123 @@
|
||||
(set-logic QF_IDL)
|
||||
(set-info :source |
|
||||
Queens benchmarks generated by Hyondeuk Kim in SMT-LIB format.
|
||||
|)
|
||||
(set-info :smt-lib-version 2.0)
|
||||
(set-info :category "crafted")
|
||||
(set-info :status sat)
|
||||
(declare-fun x0 () Int)
|
||||
(declare-fun x1 () Int)
|
||||
(declare-fun x2 () Int)
|
||||
(declare-fun x3 () Int)
|
||||
(declare-fun x4 () Int)
|
||||
(declare-fun x5 () Int)
|
||||
(declare-fun x6 () Int)
|
||||
(declare-fun x7 () Int)
|
||||
(declare-fun x8 () Int)
|
||||
(declare-fun x9 () Int)
|
||||
(declare-fun x10 () Int)
|
||||
(assert
|
||||
(let
|
||||
((?v_0 (- x0 x10))
|
||||
(?v_1 (- x1 x10))
|
||||
(?v_2 (- x2 x10))
|
||||
(?v_3 (- x3 x10))
|
||||
(?v_4 (- x4 x10))
|
||||
(?v_5 (- x5 x10))
|
||||
(?v_6 (- x6 x10))
|
||||
(?v_7 (- x7 x10))
|
||||
(?v_8 (- x8 x10))
|
||||
(?v_9 (- x9 x10))
|
||||
(?v_10 (- x0 x1))
|
||||
(?v_11 (- x0 x2))
|
||||
(?v_12 (- x0 x3))
|
||||
(?v_13 (- x0 x4))
|
||||
(?v_14 (- x0 x5))
|
||||
(?v_15 (- x0 x6))
|
||||
(?v_16 (- x0 x7))
|
||||
(?v_17 (- x0 x8))
|
||||
(?v_18 (- x0 x9))
|
||||
(?v_19 (- x1 x2))
|
||||
(?v_20 (- x1 x3))
|
||||
(?v_21 (- x1 x4))
|
||||
(?v_22 (- x1 x5))
|
||||
(?v_23 (- x1 x6))
|
||||
(?v_24 (- x1 x7))
|
||||
(?v_25 (- x1 x8))
|
||||
(?v_26 (- x1 x9))
|
||||
(?v_27 (- x2 x3))
|
||||
(?v_28 (- x2 x4))
|
||||
(?v_29 (- x2 x5))
|
||||
(?v_30 (- x2 x6))
|
||||
(?v_31 (- x2 x7))
|
||||
(?v_32 (- x2 x8))
|
||||
(?v_33 (- x2 x9))
|
||||
(?v_34 (- x3 x4))
|
||||
(?v_35 (- x3 x5))
|
||||
(?v_36 (- x3 x6))
|
||||
(?v_37 (- x3 x7))
|
||||
(?v_38 (- x3 x8))
|
||||
(?v_39 (- x3 x9))
|
||||
(?v_40 (- x4 x5))
|
||||
(?v_41 (- x4 x6))
|
||||
(?v_42 (- x4 x7))
|
||||
(?v_43 (- x4 x8))
|
||||
(?v_44 (- x4 x9))
|
||||
(?v_45 (- x5 x6))
|
||||
(?v_46 (- x5 x7))
|
||||
(?v_47 (- x5 x8))
|
||||
(?v_48 (- x5 x9))
|
||||
(?v_49 (- x6 x7))
|
||||
(?v_50 (- x6 x8))
|
||||
(?v_51 (- x6 x9))
|
||||
(?v_52 (- x7 x8))
|
||||
(?v_53 (- x7 x9))
|
||||
(?v_54 (- x8 x9)))
|
||||
(and (<= ?v_0 9) (>= ?v_0 0) (<= ?v_1 9) (>= ?v_1 0) (<= ?v_2 9) (>= ?v_2 0)
|
||||
(<= ?v_3 9) (>= ?v_3 0) (<= ?v_4 9) (>= ?v_4 0) (<= ?v_5 9) (>= ?v_5 0)
|
||||
(<= ?v_6 9) (>= ?v_6 0) (<= ?v_7 9) (>= ?v_7 0) (<= ?v_8 9) (>= ?v_8 0)
|
||||
(<= ?v_9 9) (>= ?v_9 0)
|
||||
(not (= x0 x1)) (not (= x0 x2)) (not (= x0 x3)) (not (= x0 x4))
|
||||
(not (= x0 x5)) (not (= x0 x6)) (not (= x0 x7)) (not (= x0 x8))
|
||||
(not (= x0 x9)) (not (= x1 x2)) (not (= x1 x3)) (not (= x1 x4))
|
||||
(not (= x1 x5)) (not (= x1 x6)) (not (= x1 x7)) (not (= x1 x8))
|
||||
(not (= x1 x9)) (not (= x2 x3)) (not (= x2 x4)) (not (= x2 x5))
|
||||
(not (= x2 x6)) (not (= x2 x7)) (not (= x2 x8)) (not (= x2 x9))
|
||||
(not (= x3 x4)) (not (= x3 x5)) (not (= x3 x6)) (not (= x3 x7))
|
||||
(not (= x3 x8)) (not (= x3 x9)) (not (= x4 x5)) (not (= x4 x6))
|
||||
(not (= x4 x7)) (not (= x4 x8)) (not (= x4 x9)) (not (= x5 x6))
|
||||
(not (= x5 x7)) (not (= x5 x8)) (not (= x5 x9)) (not (= x6 x7))
|
||||
(not (= x6 x8)) (not (= x6 x9)) (not (= x7 x8)) (not (= x7 x9))
|
||||
(not (= x8 x9))
|
||||
(not (= ?v_10 1)) (not (= ?v_10 (- 1))) (not (= ?v_11 2))
|
||||
(not (= ?v_11 (- 2))) (not (= ?v_12 3)) (not (= ?v_12 (- 3)))
|
||||
(not (= ?v_13 4)) (not (= ?v_13 (- 4))) (not (= ?v_14 5))
|
||||
(not (= ?v_14 (- 5))) (not (= ?v_15 6)) (not (= ?v_15 (- 6)))
|
||||
(not (= ?v_16 7)) (not (= ?v_16 (- 7))) (not (= ?v_17 8))
|
||||
(not (= ?v_17 (- 8))) (not (= ?v_18 9)) (not (= ?v_18 (- 9)))
|
||||
(not (= ?v_19 1)) (not (= ?v_19 (- 1))) (not (= ?v_20 2))
|
||||
(not (= ?v_20 (- 2))) (not (= ?v_21 3)) (not (= ?v_21 (- 3)))
|
||||
(not (= ?v_22 4)) (not (= ?v_22 (- 4))) (not (= ?v_23 5))
|
||||
(not (= ?v_23 (- 5))) (not (= ?v_24 6)) (not (= ?v_24 (- 6)))
|
||||
(not (= ?v_25 7)) (not (= ?v_25 (- 7))) (not (= ?v_26 8))
|
||||
(not (= ?v_26 (- 8))) (not (= ?v_27 1)) (not (= ?v_27 (- 1)))
|
||||
(not (= ?v_28 2)) (not (= ?v_28 (- 2))) (not (= ?v_29 3))
|
||||
(not (= ?v_29 (- 3))) (not (= ?v_30 4)) (not (= ?v_30 (- 4)))
|
||||
(not (= ?v_31 5)) (not (= ?v_31 (- 5))) (not (= ?v_32 6))
|
||||
(not (= ?v_32 (- 6))) (not (= ?v_33 7)) (not (= ?v_33 (- 7)))
|
||||
(not (= ?v_34 1)) (not (= ?v_34 (- 1))) (not (= ?v_35 2))
|
||||
(not (= ?v_35 (- 2))) (not (= ?v_36 3)) (not (= ?v_36 (- 3)))
|
||||
(not (= ?v_37 4)) (not (= ?v_37 (- 4))) (not (= ?v_38 5))
|
||||
(not (= ?v_38 (- 5))) (not (= ?v_39 6)) (not (= ?v_39 (- 6)))
|
||||
(not (= ?v_40 1)) (not (= ?v_40 (- 1))) (not (= ?v_41 2))
|
||||
(not (= ?v_41 (- 2))) (not (= ?v_42 3)) (not (= ?v_42 (- 3)))
|
||||
(not (= ?v_43 4)) (not (= ?v_43 (- 4))) (not (= ?v_44 5))
|
||||
(not (= ?v_44 (- 5))) (not (= ?v_45 1)) (not (= ?v_45 (- 1)))
|
||||
(not (= ?v_46 2)) (not (= ?v_46 (- 2))) (not (= ?v_47 3))
|
||||
(not (= ?v_47 (- 3))) (not (= ?v_48 4)) (not (= ?v_48 (- 4)))
|
||||
(not (= ?v_49 1)) (not (= ?v_49 (- 1))) (not (= ?v_50 2))
|
||||
(not (= ?v_50 (- 2))) (not (= ?v_51 3)) (not (= ?v_51 (- 3)))
|
||||
(not (= ?v_52 1)) (not (= ?v_52 (- 1))) (not (= ?v_53 2))
|
||||
(not (= ?v_53 (- 2))) (not (= ?v_54 1)) (not (= ?v_54 (- 1))))))
|
||||
(check-sat)
|
||||
(exit)
|
||||
2104
samples/SMT/shufflevector.smt
Normal file
2104
samples/SMT/shufflevector.smt
Normal file
File diff suppressed because it is too large
Load Diff
125
samples/XML/xhtml-struct-1.mod
Normal file
125
samples/XML/xhtml-struct-1.mod
Normal file
@@ -0,0 +1,125 @@
|
||||
<!-- ...................................................................... -->
|
||||
<!-- XHTML Structure Module .............................................. -->
|
||||
<!-- file: xhtml-struct-1.mod
|
||||
|
||||
This is XHTML, a reformulation of HTML as a modular XML application.
|
||||
Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
|
||||
Revision: $Id: xhtml-struct-1.mod,v 1.1.1.1 2006/01/09 19:23:30 rcrews Exp $ SMI
|
||||
|
||||
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
|
||||
|
||||
PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
|
||||
SYSTEM "http://www.w3.org/TR/xhtml-modulatization/DTD/xhtml-struct-1.mod"
|
||||
|
||||
Revisions:
|
||||
(none)
|
||||
....................................................................... -->
|
||||
|
||||
<!-- Document Structure
|
||||
|
||||
title, head, body, html
|
||||
|
||||
The Structure Module defines the major structural elements and
|
||||
their attributes.
|
||||
|
||||
Note that the content model of the head element type is redeclared
|
||||
when the Base Module is included in the DTD.
|
||||
|
||||
The parameter entity containing the XML namespace URI value used
|
||||
for XHTML is '%XHTML.xmlns;', defined in the Qualified Names module.
|
||||
-->
|
||||
|
||||
<!-- title: Document Title ............................. -->
|
||||
|
||||
<!-- The title element is not considered part of the flow of text.
|
||||
It should be displayed, for example as the page header or
|
||||
window title. Exactly one title is required per document.
|
||||
-->
|
||||
|
||||
<!ENTITY % title.element "INCLUDE" >
|
||||
<![%title.element;[
|
||||
<!ENTITY % title.content "( #PCDATA )" >
|
||||
<!ENTITY % title.qname "title" >
|
||||
<!ELEMENT %title.qname; %title.content; >
|
||||
<!-- end of title.element -->]]>
|
||||
|
||||
<!ENTITY % title.attlist "INCLUDE" >
|
||||
<![%title.attlist;[
|
||||
<!ATTLIST %title.qname;
|
||||
%XHTML.xmlns.attrib;
|
||||
%I18n.attrib;
|
||||
>
|
||||
<!-- end of title.attlist -->]]>
|
||||
|
||||
<!-- head: Document Head ............................... -->
|
||||
|
||||
<!ENTITY % head.element "INCLUDE" >
|
||||
<![%head.element;[
|
||||
<!ENTITY % head.content
|
||||
"( %HeadOpts.mix;, %title.qname;, %HeadOpts.mix; )"
|
||||
>
|
||||
<!ENTITY % head.qname "head" >
|
||||
<!ELEMENT %head.qname; %head.content; >
|
||||
<!-- end of head.element -->]]>
|
||||
|
||||
<!ENTITY % head.attlist "INCLUDE" >
|
||||
<![%head.attlist;[
|
||||
<!-- reserved for future use with document profiles
|
||||
-->
|
||||
<!ENTITY % profile.attrib
|
||||
"profile %URI.datatype; '%XHTML.profile;'"
|
||||
>
|
||||
|
||||
<!ATTLIST %head.qname;
|
||||
%XHTML.xmlns.attrib;
|
||||
%I18n.attrib;
|
||||
%profile.attrib;
|
||||
>
|
||||
<!-- end of head.attlist -->]]>
|
||||
|
||||
<!-- body: Document Body ............................... -->
|
||||
|
||||
<!ENTITY % body.element "INCLUDE" >
|
||||
<![%body.element;[
|
||||
<!ENTITY % body.content
|
||||
"( %Block.mix; )+"
|
||||
>
|
||||
<!ENTITY % body.qname "body" >
|
||||
<!ELEMENT %body.qname; %body.content; >
|
||||
<!-- end of body.element -->]]>
|
||||
|
||||
<!ENTITY % body.attlist "INCLUDE" >
|
||||
<![%body.attlist;[
|
||||
<!ATTLIST %body.qname;
|
||||
%Common.attrib;
|
||||
>
|
||||
<!-- end of body.attlist -->]]>
|
||||
|
||||
<!-- html: XHTML Document Element ...................... -->
|
||||
|
||||
<!ENTITY % html.element "INCLUDE" >
|
||||
<![%html.element;[
|
||||
<!ENTITY % html.content "( %head.qname;, %body.qname; )" >
|
||||
<!ENTITY % html.qname "html" >
|
||||
<!ELEMENT %html.qname; %html.content; >
|
||||
<!-- end of html.element -->]]>
|
||||
|
||||
<!ENTITY % html.attlist "INCLUDE" >
|
||||
<![%html.attlist;[
|
||||
<!-- version attribute value defined in driver
|
||||
-->
|
||||
<!ENTITY % XHTML.version.attrib
|
||||
"version %FPI.datatype; #FIXED '%XHTML.version;'"
|
||||
>
|
||||
|
||||
<!-- see the Qualified Names module for information
|
||||
on how to extend XHTML using XML namespaces
|
||||
-->
|
||||
<!ATTLIST %html.qname;
|
||||
%XHTML.xmlns.attrib;
|
||||
%XHTML.version.attrib;
|
||||
%I18n.attrib;
|
||||
>
|
||||
<!-- end of html.attlist -->]]>
|
||||
|
||||
<!-- end of xhtml-struct-1.mod -->
|
||||
50
test/fixtures/Generated/ABM8G.mod
vendored
Normal file
50
test/fixtures/Generated/ABM8G.mod
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
PCBNEW-LibModule-V1 Wed 10 Aug 2011 05:57:27 PM COT
|
||||
# encoding utf-8
|
||||
$INDEX
|
||||
ABM8G
|
||||
$EndINDEX
|
||||
$MODULE ABM8G
|
||||
Po 0 0 0 15 4E430CBD 4E430CC5 ~~
|
||||
Li ABM8G
|
||||
Sc 4E430CC5
|
||||
AR
|
||||
Op 0 0 0
|
||||
T0 591 -1378 354 354 0 39 N V 21 N "ABM8G"
|
||||
T1 0 787 354 354 0 39 N V 21 N "VAL**"
|
||||
DS -591 394 1299 394 79 21
|
||||
DS 1299 394 1299 -1063 79 21
|
||||
DS 1299 -1063 -472 -1063 79 21
|
||||
DS -472 -1063 -472 472 79 21
|
||||
DS -472 472 -472 551 79 21
|
||||
DS -472 551 -591 551 79 21
|
||||
DS -591 551 -591 433 79 21
|
||||
$PAD
|
||||
Sh "1" R 551 472 0 0 0
|
||||
Dr 0 0 0
|
||||
At SMD N 00888000
|
||||
Ne 0 ""
|
||||
Po 0 0
|
||||
$EndPAD
|
||||
$PAD
|
||||
Sh "2" R 551 472 0 0 0
|
||||
Dr 0 0 0
|
||||
At SMD N 00888000
|
||||
Ne 0 ""
|
||||
Po 866 0
|
||||
$EndPAD
|
||||
$PAD
|
||||
Sh "3" R 551 472 0 0 0
|
||||
Dr 0 0 0
|
||||
At SMD N 00888000
|
||||
Ne 0 ""
|
||||
Po 866 -669
|
||||
$EndPAD
|
||||
$PAD
|
||||
Sh "4" R 551 472 0 0 0
|
||||
Dr 0 0 0
|
||||
At SMD N 00888000
|
||||
Ne 0 ""
|
||||
Po 0 -669
|
||||
$EndPAD
|
||||
$EndMODULE ABM8G
|
||||
$EndLIBRARY
|
||||
19
test/fixtures/Generated/ms2.mod
vendored
Normal file
19
test/fixtures/Generated/ms2.mod
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
GFORTRAN module version '0' created from ms2.f90 on Thu Sep 5 10:09:19 2013
|
||||
MD5:8a80cd5db1bc612a28603959302dbf37 -- If you edit this, you'll get what you deserve.
|
||||
|
||||
(() () () () () () () () () () () () () () () () () () () () () () () ()
|
||||
() () ())
|
||||
|
||||
()
|
||||
|
||||
()
|
||||
|
||||
()
|
||||
|
||||
()
|
||||
|
||||
(2 'ms2' 'ms2' 'ms2' 1 ((MODULE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
|
||||
UNKNOWN) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 () () () 0 0)
|
||||
)
|
||||
|
||||
('ms2' 0 2)
|
||||
1
test/fixtures/SVG/alg_schema.link.svg
vendored
Symbolic link
1
test/fixtures/SVG/alg_schema.link.svg
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
alg_schema.svg
|
||||
269
test/fixtures/SVG/alg_schema.svg
vendored
Normal file
269
test/fixtures/SVG/alg_schema.svg
vendored
Normal file
@@ -0,0 +1,269 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
sodipodi:docname="alg_schema.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.834386"
|
||||
inkscape:cx="409.42881"
|
||||
inkscape:cy="681.83774"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g3759"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="993"
|
||||
inkscape:window-x="1280"
|
||||
inkscape:window-y="31"
|
||||
inkscape:window-maximized="0"
|
||||
showguides="true"
|
||||
inkscape:snap-global="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3914" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="g3759"
|
||||
transform="translate(-3.3909149,-21.218048)">
|
||||
<rect
|
||||
ry="11.855058"
|
||||
rx="14.468504"
|
||||
y="138.58023"
|
||||
x="108.08632"
|
||||
height="66.263969"
|
||||
width="247.48737"
|
||||
id="rect2985"
|
||||
style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3755"
|
||||
y="163.58023"
|
||||
x="238.39091"
|
||||
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:24px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"
|
||||
y="163.58023"
|
||||
x="238.39091"
|
||||
id="tspan3757"
|
||||
sodipodi:role="line">Sequence KEY</tspan><tspan
|
||||
style="font-size:24px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"
|
||||
y="193.58023"
|
||||
x="238.39091"
|
||||
sodipodi:role="line"
|
||||
id="tspan4055">256 bits</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g3870"
|
||||
transform="translate(-0.73178617,29.27145)">
|
||||
<g
|
||||
id="g3759-5"
|
||||
transform="translate(-0.40143056,286.32219)">
|
||||
<rect
|
||||
style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="rect2985-5"
|
||||
width="247.48737"
|
||||
height="74.751289"
|
||||
x="108.08632"
|
||||
y="130.09291"
|
||||
rx="14.468504"
|
||||
ry="13.373494" />
|
||||
<flowRoot
|
||||
transform="translate(2.4712344,-292.01415)"
|
||||
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
id="flowRoot3797"
|
||||
xml:space="preserve"><flowRegion
|
||||
id="flowRegion3799"><rect
|
||||
style="font-size:24px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"
|
||||
y="428.79074"
|
||||
x="125"
|
||||
height="58.346195"
|
||||
width="86.479271"
|
||||
id="rect3801" /></flowRegion><flowPara
|
||||
id="flowPara3805">Salt</flowPara><flowPara
|
||||
id="flowPara3841">96 bits</flowPara></flowRoot> <flowRoot
|
||||
transform="translate(115.26831,-291.40674)"
|
||||
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
id="flowRoot3797-6"
|
||||
xml:space="preserve"><flowRegion
|
||||
id="flowRegion3799-5"><rect
|
||||
style="font-size:24px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"
|
||||
y="428.79074"
|
||||
x="125"
|
||||
height="60.933453"
|
||||
width="104.07261"
|
||||
id="rect3801-6" /></flowRegion><flowPara
|
||||
id="flowPara3805-9">Counter</flowPara><flowPara
|
||||
id="flowPara3809-3">32 bits</flowPara></flowRoot> <path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3845"
|
||||
d="m 229.11476,138.88943 0,57.95451"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.6979728,0,0,0.6979728,71.363842,197.71804)"
|
||||
id="g3759-7">
|
||||
<rect
|
||||
ry="13.373494"
|
||||
rx="14.297379"
|
||||
y="130.09291"
|
||||
x="108.08632"
|
||||
height="74.751289"
|
||||
width="244.56023"
|
||||
id="rect2985-4"
|
||||
style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:7.16360283;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3755-5"
|
||||
y="178.58023"
|
||||
x="141.31805"
|
||||
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#beff83;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:32px;fill:#beff83;fill-opacity:1"
|
||||
y="178.58023"
|
||||
x="141.31805"
|
||||
id="tspan3757-2"
|
||||
sodipodi:role="line">AES Cipher</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#6ea1cc;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
|
||||
d="m 225,437.36218 0,-50 -15,5 25,-35 25,35 -15,-5 0,50 z"
|
||||
id="path3912"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<path
|
||||
style="fill:#6ea1cc;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 340,302.36218 50,0 -5,-15 35,25 -35,25 5,-15 -50,0 z"
|
||||
id="path3912-5"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<path
|
||||
style="fill:#6ea1cc;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 245,192.36218 0,50 15,-5 -25,35 -25,-35 15,5 0,-50 z"
|
||||
id="path3912-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<g
|
||||
transform="matrix(0.6979728,0,0,0.6979728,361.36384,197.71804)"
|
||||
id="g3759-7-7">
|
||||
<rect
|
||||
ry="13.373494"
|
||||
rx="17.857012"
|
||||
y="130.09291"
|
||||
x="108.08632"
|
||||
height="74.751289"
|
||||
width="305.44867"
|
||||
id="rect2985-4-4"
|
||||
style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:7.16360283;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3755-5-4"
|
||||
y="159.80484"
|
||||
x="255.9357"
|
||||
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#beff83;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-size:25.78897095px;text-align:center;text-anchor:middle;fill:#beff83;fill-opacity:1"
|
||||
y="159.80484"
|
||||
x="255.9357"
|
||||
sodipodi:role="line"
|
||||
id="tspan3979">Secure random data</tspan><tspan
|
||||
style="font-size:25.78897095px;text-align:center;text-anchor:middle;fill:#beff83;fill-opacity:1"
|
||||
y="192.04105"
|
||||
x="255.9357"
|
||||
sodipodi:role="line"
|
||||
id="tspan3983">128 bits</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#6ea1cc;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;opacity:0.45614035"
|
||||
d="m 550,352.36218 0,50 15,-5 -25,35 -25,-35 15,5 0,-50 z"
|
||||
id="path3912-5-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
x="540"
|
||||
y="382.36218"
|
||||
id="text4003"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="540"
|
||||
y="382.36218"
|
||||
id="tspan4007"
|
||||
style="font-size:16px;text-align:center;text-anchor:middle">Division by alphabet length</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="540"
|
||||
y="402.36218"
|
||||
style="font-size:16px;text-align:center;text-anchor:middle"
|
||||
id="tspan4053">repeated passcode-length times.</tspan></text>
|
||||
<g
|
||||
transform="matrix(0.6979728,0,0,0.6979728,344.55869,369.3865)"
|
||||
id="g3759-7-7-7">
|
||||
<g
|
||||
id="g4045"
|
||||
transform="translate(-1.21417,-6.070852)">
|
||||
<rect
|
||||
style="fill:#1f3d55;fill-opacity:1;fill-rule:evenodd;stroke:#3f5d75;stroke-width:7.16360283;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="rect2985-4-4-8"
|
||||
width="305.44867"
|
||||
height="74.751289"
|
||||
x="131.15555"
|
||||
y="130.09291"
|
||||
rx="17.857012"
|
||||
ry="13.373494" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#beff83;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
|
||||
x="283.77673"
|
||||
y="158.71724"
|
||||
id="text3755-5-4-6"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
id="tspan3983-8"
|
||||
sodipodi:role="line"
|
||||
x="283.77673"
|
||||
y="158.71724"
|
||||
style="font-size:25.78897095px;text-align:center;text-anchor:middle;fill:#beff83;fill-opacity:1">Passcode</tspan><tspan
|
||||
id="tspan4043"
|
||||
sodipodi:role="line"
|
||||
x="283.77673"
|
||||
y="190.95346"
|
||||
style="font-size:25.78897095px;text-align:center;text-anchor:middle;fill:#beff83;fill-opacity:1">2-16 characters</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -279,6 +279,9 @@ class TestBlob < Minitest::Test
|
||||
# Rails vendor/
|
||||
assert sample_blob("vendor/plugins/will_paginate/lib/will_paginate.rb").vendored?
|
||||
|
||||
# Vendor/
|
||||
assert sample_blob("Vendor/my_great_file.h").vendored?
|
||||
|
||||
# 'thirdparty' directory
|
||||
assert sample_blob("thirdparty/lib/main.c").vendored?
|
||||
|
||||
@@ -480,6 +483,12 @@ class TestBlob < Minitest::Test
|
||||
|
||||
# Vagrant
|
||||
assert sample_blob("puphpet/file.pp").vendored?
|
||||
|
||||
# Fabric.io
|
||||
assert sample_blob("Fabric.framework/Fabric.h").vendored?
|
||||
|
||||
# Crashlytics
|
||||
assert sample_blob("Crashlytics.framework/Crashlytics.h").vendored?
|
||||
end
|
||||
|
||||
def test_documentation
|
||||
@@ -551,6 +560,8 @@ class TestBlob < Minitest::Test
|
||||
blob = fixture_blob(filepath)
|
||||
if language == 'Data'
|
||||
assert blob.language.nil?, "A language was found for #{filepath}"
|
||||
elsif language == 'Generated'
|
||||
assert blob.generated?, "#{filepath} is not a generated file"
|
||||
else
|
||||
assert blob.language, "No language for #{filepath}"
|
||||
assert_equal language, blob.language.name, blob.name
|
||||
|
||||
2
vendor/grammars/Handlebars
vendored
2
vendor/grammars/Handlebars
vendored
Submodule vendor/grammars/Handlebars updated: e331daf059...60532f35cf
2
vendor/grammars/NimLime
vendored
2
vendor/grammars/NimLime
vendored
Submodule vendor/grammars/NimLime updated: 4ab90608c1...4acce8b67b
1
vendor/grammars/SMT.tmbundle
vendored
Submodule
1
vendor/grammars/SMT.tmbundle
vendored
Submodule
Submodule vendor/grammars/SMT.tmbundle added at 5b8231f516
1
vendor/grammars/Sublime-Modula-2
vendored
Submodule
1
vendor/grammars/Sublime-Modula-2
vendored
Submodule
Submodule vendor/grammars/Sublime-Modula-2 added at f30f2fbe3b
2
vendor/grammars/atom-fsharp
vendored
2
vendor/grammars/atom-fsharp
vendored
Submodule vendor/grammars/atom-fsharp updated: 919a4d895a...55785b6af0
2
vendor/grammars/carto-atom
vendored
2
vendor/grammars/carto-atom
vendored
Submodule vendor/grammars/carto-atom updated: 60c8774b02...9895909323
2
vendor/grammars/css.tmbundle
vendored
2
vendor/grammars/css.tmbundle
vendored
Submodule vendor/grammars/css.tmbundle updated: 2ce91736ca...94f7111c29
2
vendor/grammars/d.tmbundle
vendored
2
vendor/grammars/d.tmbundle
vendored
Submodule vendor/grammars/d.tmbundle updated: ccb8b6ba11...f7953e41fd
2
vendor/grammars/factor
vendored
2
vendor/grammars/factor
vendored
Submodule vendor/grammars/factor updated: 3705d6e387...0124e630f0
2
vendor/grammars/haxe-sublime-bundle
vendored
2
vendor/grammars/haxe-sublime-bundle
vendored
Submodule vendor/grammars/haxe-sublime-bundle updated: 7fb8855dd6...810b34b259
2
vendor/grammars/jade-tmbundle
vendored
2
vendor/grammars/jade-tmbundle
vendored
Submodule vendor/grammars/jade-tmbundle updated: 4197de8b70...9ad91309a4
2
vendor/grammars/language-clojure
vendored
2
vendor/grammars/language-clojure
vendored
Submodule vendor/grammars/language-clojure updated: 81e089cc55...04e308ae4c
2
vendor/grammars/language-javascript
vendored
2
vendor/grammars/language-javascript
vendored
Submodule vendor/grammars/language-javascript updated: 601cb6cb8f...e26b8c50a3
2
vendor/grammars/language-jsoniq
vendored
2
vendor/grammars/language-jsoniq
vendored
Submodule vendor/grammars/language-jsoniq updated: 20214d61b4...7a971acf1c
2
vendor/grammars/language-python
vendored
2
vendor/grammars/language-python
vendored
Submodule vendor/grammars/language-python updated: db14372b47...7271315c85
2
vendor/grammars/perl.tmbundle
vendored
2
vendor/grammars/perl.tmbundle
vendored
Submodule vendor/grammars/perl.tmbundle updated: 4b768e2ce1...fd81fe586b
2
vendor/grammars/sas.tmbundle
vendored
2
vendor/grammars/sas.tmbundle
vendored
Submodule vendor/grammars/sas.tmbundle updated: a9689f436f...43a05b10fc
2
vendor/grammars/sublime-mask
vendored
2
vendor/grammars/sublime-mask
vendored
Submodule vendor/grammars/sublime-mask updated: a7f3baacf6...bd37c4e753
2
vendor/grammars/sublime-text-ox
vendored
2
vendor/grammars/sublime-text-ox
vendored
Submodule vendor/grammars/sublime-text-ox updated: 10ca88362c...ed96fb6afc
Reference in New Issue
Block a user