libis-format 0.9.5-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.coveralls.yml +2 -0
- data/.gitignore +18 -0
- data/.travis.yml +41 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/bin/droid +15 -0
- data/bin/fido +12 -0
- data/bin/pdf_copy +13 -0
- data/data/ISOcoated_v2_eci.icc +0 -0
- data/data/PDFA_def.ps +40 -0
- data/data/ead.xsd +2728 -0
- data/data/eciRGB_v2.icc +0 -0
- data/data/lias_formats.xml +106 -0
- data/data/types.yml +217 -0
- data/lib/libis/format/config.rb +35 -0
- data/lib/libis/format/converter/base.rb +101 -0
- data/lib/libis/format/converter/chain.rb +167 -0
- data/lib/libis/format/converter/image_converter.rb +214 -0
- data/lib/libis/format/converter/office_converter.rb +50 -0
- data/lib/libis/format/converter/pdf_converter.rb +139 -0
- data/lib/libis/format/converter/repository.rb +98 -0
- data/lib/libis/format/converter.rb +11 -0
- data/lib/libis/format/droid.rb +45 -0
- data/lib/libis/format/fido.rb +102 -0
- data/lib/libis/format/identifier.rb +189 -0
- data/lib/libis/format/office_to_pdf.rb +52 -0
- data/lib/libis/format/pdf_copy.rb +40 -0
- data/lib/libis/format/pdf_merge.rb +41 -0
- data/lib/libis/format/pdf_split.rb +39 -0
- data/lib/libis/format/pdf_to_pdfa.rb +76 -0
- data/lib/libis/format/pdfa_validator.rb +61 -0
- data/lib/libis/format/type_database.rb +170 -0
- data/lib/libis/format/version.rb +5 -0
- data/lib/libis/format.rb +23 -0
- data/lib/libis-format.rb +1 -0
- data/libis-format.gemspec +34 -0
- data/spec/converter_spec.rb +212 -0
- data/spec/data/Cevennes2.bmp +0 -0
- data/spec/data/Cevennes2.jp2 +0 -0
- data/spec/data/Cevennes2.ppm +22492 -0
- data/spec/data/test-ead.xml +392 -0
- data/spec/data/test-jpg.tif +0 -0
- data/spec/data/test-lzw.tif +0 -0
- data/spec/data/test-options.jpg +0 -0
- data/spec/data/test.bmp +0 -0
- data/spec/data/test.doc +0 -0
- data/spec/data/test.docx +0 -0
- data/spec/data/test.gif +0 -0
- data/spec/data/test.jpg +0 -0
- data/spec/data/test.ods +0 -0
- data/spec/data/test.odt +0 -0
- data/spec/data/test.pdf +0 -0
- data/spec/data/test.pdf.tif +0 -0
- data/spec/data/test.png +0 -0
- data/spec/data/test.ps +8631 -0
- data/spec/data/test.psd +0 -0
- data/spec/data/test.rtf +1455 -0
- data/spec/data/test.tif +0 -0
- data/spec/data/test.txt +12 -0
- data/spec/data/test.xcf +0 -0
- data/spec/data/test.xls +0 -0
- data/spec/data/test.xlsx +0 -0
- data/spec/data/test.xml +4 -0
- data/spec/data/test_pdfa.pdf +0 -0
- data/spec/identifier_spec.rb +60 -0
- data/spec/spec_helper.rb +9 -0
- data/spec/test_types.yml +12 -0
- data/spec/type_database_spec.rb +140 -0
- data/tools/PdfTool.jar +0 -0
- data/tools/bcpkix-jdk15on-1.49.jar +0 -0
- data/tools/bcprov-jdk15on-1.49.jar +0 -0
- data/tools/droid/DROID_SignatureFile_V82.xml +32681 -0
- data/tools/droid/container-signature-20150307.xml +2235 -0
- data/tools/droid/droid-command-line-6.1.5.jar +0 -0
- data/tools/droid/droid.bat +154 -0
- data/tools/droid/droid.sh +138 -0
- data/tools/droid/lib/XmlSchema-1.4.7.jar +0 -0
- data/tools/droid/lib/activation-1.1.jar +0 -0
- data/tools/droid/lib/antlr-2.7.7.jar +0 -0
- data/tools/droid/lib/antlr-3.2.jar +0 -0
- data/tools/droid/lib/antlr-runtime-3.2.jar +0 -0
- data/tools/droid/lib/aopalliance-1.0.jar +0 -0
- data/tools/droid/lib/asm-2.2.3.jar +0 -0
- data/tools/droid/lib/aspectjrt-1.7.2.jar +0 -0
- data/tools/droid/lib/aspectjweaver-1.7.2.jar +0 -0
- data/tools/droid/lib/bcmail-jdk14-138.jar +0 -0
- data/tools/droid/lib/bcprov-jdk14-138.jar +0 -0
- data/tools/droid/lib/beansbinding-1.2.1.jar +0 -0
- data/tools/droid/lib/byteseek-1.1.1.jar +0 -0
- data/tools/droid/lib/cglib-nodep-2.2.2.jar +0 -0
- data/tools/droid/lib/classmate-1.0.0.jar +0 -0
- data/tools/droid/lib/commons-cli-1.2.jar +0 -0
- data/tools/droid/lib/commons-codec-1.4.jar +0 -0
- data/tools/droid/lib/commons-collections-3.2.1.jar +0 -0
- data/tools/droid/lib/commons-compress-1.4.1.jar +0 -0
- data/tools/droid/lib/commons-configuration-1.8.jar +0 -0
- data/tools/droid/lib/commons-dbcp-1.4.jar +0 -0
- data/tools/droid/lib/commons-httpclient-3.1.jar +0 -0
- data/tools/droid/lib/commons-io-2.4.jar +0 -0
- data/tools/droid/lib/commons-lang-2.6.jar +0 -0
- data/tools/droid/lib/commons-logging-1.1.1.jar +0 -0
- data/tools/droid/lib/commons-pool-1.5.4.jar +0 -0
- data/tools/droid/lib/cxf-api-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-common-schemas-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-common-utilities-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-bindings-http-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-bindings-soap-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-bindings-xml-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-core-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-databinding-jaxb-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-frontend-jaxws-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-frontend-simple-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-transports-http-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-rt-ws-addr-2.2.12.jar +0 -0
- data/tools/droid/lib/cxf-tools-common-2.2.12.jar +0 -0
- data/tools/droid/lib/de.huxhorn.lilith.3rdparty.flyingsaucer.core-renderer-8RC1.jar +0 -0
- data/tools/droid/lib/derby-10.10.2.0.jar +0 -0
- data/tools/droid/lib/dom4j-1.6.1.jar +0 -0
- data/tools/droid/lib/droid-container-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-core-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-core-interfaces-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-export-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-export-interfaces-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-help-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-report-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-report-interfaces-6.1.5.jar +0 -0
- data/tools/droid/lib/droid-results-6.1.5.jar +0 -0
- data/tools/droid/lib/ejb3-persistence-1.0.2.GA.jar +0 -0
- data/tools/droid/lib/geronimo-activation_1.1_spec-1.0.2.jar +0 -0
- data/tools/droid/lib/geronimo-annotation_1.0_spec-1.1.1.jar +0 -0
- data/tools/droid/lib/geronimo-javamail_1.4_spec-1.6.jar +0 -0
- data/tools/droid/lib/geronimo-jaxws_2.1_spec-1.0.jar +0 -0
- data/tools/droid/lib/geronimo-stax-api_1.0_spec-1.0.1.jar +0 -0
- data/tools/droid/lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar +0 -0
- data/tools/droid/lib/hibernate-commons-annotations-4.0.4.Final.jar +0 -0
- data/tools/droid/lib/hibernate-core-4.3.5.Final.jar +0 -0
- data/tools/droid/lib/hibernate-entitymanager-4.3.5.Final.jar +0 -0
- data/tools/droid/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar +0 -0
- data/tools/droid/lib/hibernate-validator-5.1.0.Final.jar +0 -0
- data/tools/droid/lib/itext-2.0.8.jar +0 -0
- data/tools/droid/lib/jandex-1.1.0.Final.jar +0 -0
- data/tools/droid/lib/javahelp-2.0.05.jar +0 -0
- data/tools/droid/lib/javassist-3.18.1-GA.jar +0 -0
- data/tools/droid/lib/jaxb-api-2.1.jar +0 -0
- data/tools/droid/lib/jaxb-impl-2.1.13.jar +0 -0
- data/tools/droid/lib/jboss-logging-3.1.3.GA.jar +0 -0
- data/tools/droid/lib/jboss-logging-annotations-1.2.0.Beta1.jar +0 -0
- data/tools/droid/lib/jboss-transaction-api_1.2_spec-1.0.0.Final.jar +0 -0
- data/tools/droid/lib/joda-time-1.6.2.jar +0 -0
- data/tools/droid/lib/jra-1.0-alpha-4.jar +0 -0
- data/tools/droid/lib/jta-1.1.jar +0 -0
- data/tools/droid/lib/log4j-1.2.13.jar +0 -0
- data/tools/droid/lib/neethi-2.0.4.jar +0 -0
- data/tools/droid/lib/opencsv-2.3.jar +0 -0
- data/tools/droid/lib/org-netbeans-swing-outline-7.2.jar +0 -0
- data/tools/droid/lib/org-openide-util-7.2.jar +0 -0
- data/tools/droid/lib/org-openide-util-lookup-7.2.jar +0 -0
- data/tools/droid/lib/poi-3.7.jar +0 -0
- data/tools/droid/lib/saaj-api-1.3.jar +0 -0
- data/tools/droid/lib/saaj-impl-1.3.2.jar +0 -0
- data/tools/droid/lib/slf4j-api-1.4.2.jar +0 -0
- data/tools/droid/lib/slf4j-log4j12-1.4.2.jar +0 -0
- data/tools/droid/lib/spring-aop-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-beans-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-context-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-core-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-expression-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-jdbc-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-orm-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-tx-4.0.3.RELEASE.jar +0 -0
- data/tools/droid/lib/spring-web-2.5.6.jar +0 -0
- data/tools/droid/lib/stax-api-1.0-2.jar +0 -0
- data/tools/droid/lib/stringtemplate-3.2.jar +0 -0
- data/tools/droid/lib/truezip-6.8.4.jar +0 -0
- data/tools/droid/lib/validation-api-1.1.0.Final.jar +0 -0
- data/tools/droid/lib/wsdl4j-1.6.2.jar +0 -0
- data/tools/droid/lib/wstx-asl-3.2.9.jar +0 -0
- data/tools/droid/lib/xercesImpl-2.9.1.jar +0 -0
- data/tools/droid/lib/xml-apis-1.3.04.jar +0 -0
- data/tools/droid/lib/xml-resolver-1.2.jar +0 -0
- data/tools/droid/lib/xz-1.0.jar +0 -0
- data/tools/fido/__init__.py +0 -0
- data/tools/fido/argparselocal.py +2355 -0
- data/tools/fido/conf/DROID_SignatureFile-v81.xml +2 -0
- data/tools/fido/conf/container-signature-20150307.xml +2238 -0
- data/tools/fido/conf/dc.xsd +119 -0
- data/tools/fido/conf/dcmitype.xsd +53 -0
- data/tools/fido/conf/dcterms.xsd +383 -0
- data/tools/fido/conf/fido-formats.xsd +173 -0
- data/tools/fido/conf/format_extension_template.xml +105 -0
- data/tools/fido/conf/format_extensions.xml +498 -0
- data/tools/fido/conf/formats-v81.xml +38355 -0
- data/tools/fido/conf/pronom-xml-v81.zip +0 -0
- data/tools/fido/conf/versions.xml +8 -0
- data/tools/fido/fido.bat +4 -0
- data/tools/fido/fido.py +854 -0
- data/tools/fido/fido.sh +5 -0
- data/tools/fido/prepare.py +616 -0
- data/tools/fido/pronomutils.py +115 -0
- data/tools/fido/toxml.py +52 -0
- data/tools/fido/update_signatures.py +171 -0
- data/tools/pdfbox/pdfbox-app-1.8.10.jar +0 -0
- data/tools/pdfbox/preflight-app-1.8.10.jar +0 -0
- metadata +396 -0
data/spec/data/test.tif
ADDED
Binary file
|
data/spec/data/test.txt
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
I Lorem ipsum
|
2
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis tortor sed ante dictum gravida. Phasellus lacinia aliquam leo, nec imperdiet lacus venenatis non. Sed posuere tincidunt nunc, eu fermentum nunc rhoncus quis. Sed non risus id lacus dignissim venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc eget hendrerit nibh. Quisque lorem diam, imperdiet vel lectus et, mattis imperdiet velit. Integer vitae nisl blandit, condimentum felis tincidunt, vehicula tortor. Praesent gravida enim lectus, nec dictum mi molestie at. Praesent semper eget mi eu convallis. Praesent consectetur dictum dolor, non tempor velit pellentesque sit amet. Aliquam a sem eget metus gravida egestas quis vitae augue. Aenean pharetra quis purus vel aliquet. Nullam tempor auctor nisi eu consequat. Suspendisse nec rhoncus magna.
|
3
|
+
I.1. Cras tellus
|
4
|
+
Cras tellus nunc, efficitur eget arcu sed, feugiat volutpat felis. Pellentesque maximus dapibus nisl quis tincidunt. Pellentesque quis ligula sed ligula facilisis aliquet. Praesent quis turpis tempor, pretium leo consectetur, tempus tellus. Etiam quis ipsum sodales, tincidunt velit sed, fringilla lectus. Morbi in eros consequat, accumsan turpis non, eleifend nibh. Donec elementum urna quam, sed feugiat mauris dapibus vitae. Aliquam aliquet, urna et eleifend pulvinar, felis eros finibus lacus, consequat ornare erat tortor consectetur neque. Vivamus et semper augue. Praesent eget nulla felis. Nam maximus posuere finibus. Pellentesque tincidunt mauris eget ex sollicitudin, et hendrerit ex pretium. Sed in elementum erat, at egestas sapien. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In vulputate tortor sed enim hendrerit mattis. Fusce dui sem, auctor ac tellus pulvinar, mattis scelerisque est.
|
5
|
+
|
6
|
+
a) Morbi sit
|
7
|
+
Morbi sit amet nunc metus. Donec vehicula tortor velit, eu aliquet nulla condimentum ut. Cras tristique justo quis dignissim auctor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus rutrum aliquam lectus in volutpat. Fusce ullamcorper placerat semper. Morbi vel tellus dui.
|
8
|
+
Nullam eleifend
|
9
|
+
Nullam eleifend viverra urna, sed sodales purus blandit a. Donec tempus quis ipsum ut sodales. Suspendisse eleifend augue ut leo commodo, a viverra orci pretium. Nunc in vulputate est. Vivamus nunc lectus, mollis eget pulvinar in, sodales id diam. Duis in ullamcorper metus. Etiam scelerisque libero ac fermentum consectetur. Pellentesque viverra volutpat velit, sed rutrum odio vestibulum eget. Nullam faucibus dapibus sapien, nec tincidunt tortor commodo in. Etiam sit amet dapibus neque. Sed vestibulum, tortor tempus auctor consectetur, sem lectus sodales orci, non pellentesque quam tortor at diam. Maecenas pulvinar elit ut imperdiet varius. Donec vel est ut mauris tempus ornare id eu tortor.
|
10
|
+
Duis scelerisque
|
11
|
+
Duis scelerisque dolor ac venenatis porttitor. Integer mattis sodales est, at hendrerit neque viverra ac. Donec viverra mattis erat, sed vehicula arcu convallis non. Pellentesque faucibus faucibus feugiat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Integer tincidunt neque nisi, vel condimentum sapien gravida consectetur. Fusce lacus ligula, mattis sed consectetur et, maximus at elit. Phasellus in pretium felis.
|
12
|
+
|
data/spec/data/test.xcf
ADDED
Binary file
|
data/spec/data/test.xls
ADDED
Binary file
|
data/spec/data/test.xlsx
ADDED
Binary file
|
data/spec/data/test.xml
ADDED
Binary file
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe 'Identfier' do
|
5
|
+
|
6
|
+
dir = File.join File.absolute_path(File.dirname(__FILE__)), 'data'
|
7
|
+
|
8
|
+
before :all do
|
9
|
+
@logoutput = StringIO.new
|
10
|
+
::Libis::Tools::Config.logger = Logger.new @logoutput
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should initialize correctly' do
|
14
|
+
# expect(Libis::Format::Identifier.fido_formats.size).to be 1
|
15
|
+
# expect(File.basename(Libis::Format::Identifier.fido_formats.first)).to eq 'lias_formats.xml'
|
16
|
+
|
17
|
+
expect(Libis::Format::Identifier.xml_validations.size).to be 1
|
18
|
+
expect(File.basename Libis::Format::Identifier.xml_validations['archive/ead']).to eq 'ead.xsd'
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should not attempt to identify a directory' do
|
22
|
+
expect(Libis::Format::Identifier.get dir).to be_nil
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should not attempt to identify a file that does not exist' do
|
26
|
+
expect(Libis::Format::Identifier.get File.join(dir, 'does_not_exist_file')).to be_nil
|
27
|
+
end
|
28
|
+
|
29
|
+
# noinspection RubyStringKeysInHashInspection
|
30
|
+
{
|
31
|
+
'Cevennes2.ppm' => {mimetype: 'image/x‑portable‑pixmap', puid: 'fmt/408'},
|
32
|
+
'Cevennes2.bmp' => {mimetype: 'image/bmp', puid: 'fmt/116'},
|
33
|
+
'Cevennes2.jp2' => {mimetype: 'image/jp2', puid: 'x-fmt/392'},
|
34
|
+
'test.odt' => {mimetype: 'application/vnd.oasis.opendocument.text', puid: 'fmt/291'},
|
35
|
+
'test.doc' => {mimetype: 'application/msword', puid: 'fmt/40'},
|
36
|
+
'test.docx' => {mimetype: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', puid: 'fmt/412'},
|
37
|
+
'test.pdf' => {mimetype: 'application/pdf', puid: 'fmt/18'},
|
38
|
+
'test.rtf' => {mimetype: 'application/rtf', puid: 'fmt/45'},
|
39
|
+
'test.txt' => {mimetype: 'text/plain', puid: 'x-fmt/111'},
|
40
|
+
'test.ods' => {mimetype: 'application/vnd.oasis.opendocument.spreadsheet', puid: 'fmt/295'},
|
41
|
+
'test.xls' => {mimetype: 'application/vnd.ms-excel', puid: 'fmt/61'},
|
42
|
+
'test.xlsx' => {mimetype: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', puid: 'fmt/214'},
|
43
|
+
'test.psd' => {mimetype: 'image/vnd.adobe.photoshop', puid: 'x-fmt/92'},
|
44
|
+
'test.bmp' => {mimetype: 'image/bmp', puid: 'fmt/119'},
|
45
|
+
'test.tif' => {mimetype: 'image/tiff', puid: 'fmt/353'},
|
46
|
+
'test-jpg.tif' => {mimetype: 'image/tiff', puid: 'fmt/353'},
|
47
|
+
'test-lzw.tif' => {mimetype: 'image/tiff', puid: 'fmt/353'},
|
48
|
+
'test.ps' => {mimetype: 'application/postscript', puid: 'x-fmt/408'},
|
49
|
+
'test.png' => {mimetype: 'image/png', puid: 'fmt/11'},
|
50
|
+
'test.jpg' => {mimetype: 'image/jpeg', puid: 'fmt/43'},
|
51
|
+
'test.gif' => {mimetype: 'image/gif', puid: 'fmt/4'},
|
52
|
+
'test.xml' => {mimetype: 'application/xml', puid: 'fmt/101'},
|
53
|
+
'test-ead.xml' => {mimetype: 'archive/ead', puid: 'fmt/101'},
|
54
|
+
}.each do |file, result|
|
55
|
+
it "should identify test document '#{file}'" do
|
56
|
+
expect(::Libis::Format::Identifier.get(File.join(dir,file))).to include result
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
data/spec/spec_helper.rb
ADDED
data/spec/test_types.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
TESTMEDIUM:
|
2
|
+
TESTDATA:
|
3
|
+
NAME: Test data format
|
4
|
+
MIME: test/data, application/test/data
|
5
|
+
PUID: test-fmt/001 spec-fmt/101
|
6
|
+
EXTENSIONS: dat data
|
7
|
+
|
8
|
+
TESTSPEC:
|
9
|
+
NEW: Test specification format
|
10
|
+
MIME: test/spec application/test/spec
|
11
|
+
PUID: test-fmt/002 spec-fmt/102
|
12
|
+
EXTENSIONS: spc,spec
|
@@ -0,0 +1,140 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe 'Type Databse' do
|
5
|
+
|
6
|
+
before :all do
|
7
|
+
::Libis::Format::TypeDatabase.instance.load_types File.join(File.dirname(__FILE__), 'test_types.yml')
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should load types from file' do
|
11
|
+
|
12
|
+
expect(::Libis::Format::TypeDatabase.typeinfo :TESTDATA).to eq GROUP: :TESTMEDIUM,
|
13
|
+
TYPE: :TESTDATA,
|
14
|
+
NAME: 'Test data format',
|
15
|
+
PUID: %w'test-fmt/001 spec-fmt/101',
|
16
|
+
MIME: %w'test/data application/test/data',
|
17
|
+
EXTENSIONS: %w'dat data'
|
18
|
+
expect(::Libis::Format::TypeDatabase.typeinfo :TESTSPEC).to eq GROUP: :TESTMEDIUM,
|
19
|
+
TYPE: :TESTSPEC,
|
20
|
+
NEW: 'Test specification format',
|
21
|
+
PUID: %w'test-fmt/002 spec-fmt/102',
|
22
|
+
MIME: %w'test/spec application/test/spec',
|
23
|
+
EXTENSIONS: %w'spc spec'
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should get the type\'s group' do
|
27
|
+
|
28
|
+
expect(::Libis::Format::TypeDatabase.type_group :TESTDATA).to eq :TESTMEDIUM
|
29
|
+
expect(::Libis::Format::TypeDatabase.type_group :TESTSPEC).to eq :TESTMEDIUM
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'should get the type\'s puids' do
|
34
|
+
|
35
|
+
expect(::Libis::Format::TypeDatabase.type_puids :TESTDATA).to eq %w'test-fmt/001 spec-fmt/101'
|
36
|
+
expect(::Libis::Format::TypeDatabase.type_puids :TESTSPEC).to eq %w'test-fmt/002 spec-fmt/102'
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should get the type\'s mimetypes' do
|
41
|
+
|
42
|
+
expect(::Libis::Format::TypeDatabase.type_mimetypes :TESTDATA).to eq %w'test/data application/test/data'
|
43
|
+
expect(::Libis::Format::TypeDatabase.type_mimetypes :TESTSPEC).to eq %w'test/spec application/test/spec'
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'should get the type\'s extensions' do
|
48
|
+
|
49
|
+
expect(::Libis::Format::TypeDatabase.type_extentions :TESTDATA).to eq %w'dat data'
|
50
|
+
expect(::Libis::Format::TypeDatabase.type_extentions :TESTSPEC).to eq %w'spc spec'
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'should get the group\'s types' do
|
55
|
+
|
56
|
+
expect(::Libis::Format::TypeDatabase.group_types :TESTMEDIUM).to eq [:TESTDATA, :TESTSPEC]
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should get the mimetype\'s types' do
|
61
|
+
|
62
|
+
expect(::Libis::Format::TypeDatabase.mime_types 'test/data').to eq [:TESTDATA]
|
63
|
+
expect(::Libis::Format::TypeDatabase.mime_types 'application/test/data').to eq [:TESTDATA]
|
64
|
+
expect(::Libis::Format::TypeDatabase.mime_types 'test/spec').to eq [:TESTSPEC]
|
65
|
+
expect(::Libis::Format::TypeDatabase.mime_types 'application/test/spec').to eq [:TESTSPEC]
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'should get the mimetype\'s groups' do
|
70
|
+
|
71
|
+
expect(::Libis::Format::TypeDatabase.mime_groups 'test/data').to eq [:TESTMEDIUM]
|
72
|
+
expect(::Libis::Format::TypeDatabase.mime_groups 'application/test/data').to eq [:TESTMEDIUM]
|
73
|
+
expect(::Libis::Format::TypeDatabase.mime_groups 'test/spec').to eq [:TESTMEDIUM]
|
74
|
+
expect(::Libis::Format::TypeDatabase.mime_groups 'application/test/spec').to eq [:TESTMEDIUM]
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'should get the extension\'s types' do
|
79
|
+
|
80
|
+
expect(::Libis::Format::TypeDatabase.ext_types 'dat').to eq [:TESTDATA]
|
81
|
+
expect(::Libis::Format::TypeDatabase.ext_types 'data').to eq [:TESTDATA]
|
82
|
+
expect(::Libis::Format::TypeDatabase.ext_types 'spc').to eq [:TESTSPEC]
|
83
|
+
expect(::Libis::Format::TypeDatabase.ext_types 'spec').to eq [:TESTSPEC]
|
84
|
+
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'should check if mimetype is known' do
|
88
|
+
|
89
|
+
expect(::Libis::Format::TypeDatabase.known_mime? 'test/data').to be_truthy
|
90
|
+
expect(::Libis::Format::TypeDatabase.known_mime? 'test/spec').to be_truthy
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'should load types from hash' do
|
95
|
+
|
96
|
+
::Libis::Format::TypeDatabase.instance.load_types TESTMEDIUM: {
|
97
|
+
TESTREPORT: {
|
98
|
+
NAME: 'Test report format',
|
99
|
+
MIME: 'test/report application/test/report',
|
100
|
+
EXTENSIONS: 'rep'
|
101
|
+
}
|
102
|
+
}
|
103
|
+
|
104
|
+
expect(::Libis::Format::TypeDatabase.typeinfo :TESTREPORT).to eq GROUP: :TESTMEDIUM,
|
105
|
+
TYPE: :TESTREPORT,
|
106
|
+
NAME: 'Test report format',
|
107
|
+
MIME: %w'test/report application/test/report',
|
108
|
+
EXTENSIONS: %w'rep'
|
109
|
+
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'should merge types from hash' do
|
113
|
+
|
114
|
+
::Libis::Format::TypeDatabase.instance.load_types TESTMEDIUM: {
|
115
|
+
TESTREPORT: {
|
116
|
+
EXTENSIONS: 'rpt'
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
120
|
+
expect(::Libis::Format::TypeDatabase.typeinfo :TESTREPORT).to eq GROUP: :TESTMEDIUM,
|
121
|
+
TYPE: :TESTREPORT,
|
122
|
+
NAME: 'Test report format',
|
123
|
+
MIME: %w'test/report application/test/report',
|
124
|
+
EXTENSIONS: %w'rep rpt'
|
125
|
+
|
126
|
+
::Libis::Format::TypeDatabase.instance.load_types({TESTMEDIUM: {
|
127
|
+
TESTREPORT: {
|
128
|
+
EXTENSIONS: 'report'
|
129
|
+
}
|
130
|
+
}}, false)
|
131
|
+
|
132
|
+
expect(::Libis::Format::TypeDatabase.typeinfo :TESTREPORT).to eq GROUP: :TESTMEDIUM,
|
133
|
+
TYPE: :TESTREPORT,
|
134
|
+
NAME: 'Test report format',
|
135
|
+
MIME: %w'test/report application/test/report',
|
136
|
+
EXTENSIONS: %w'report rep rpt'
|
137
|
+
|
138
|
+
end
|
139
|
+
|
140
|
+
end
|
data/tools/PdfTool.jar
ADDED
Binary file
|
Binary file
|
Binary file
|