Add tests #2
							
								
								
									
										347
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										347
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -94,6 +94,12 @@ dependencies = [ | ||||
|  "rustc-demangle", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "base-x" | ||||
| version = "0.2.11" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "base64" | ||||
| version = "0.13.0" | ||||
| @ -191,8 +197,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" | ||||
| dependencies = [ | ||||
|  "iana-time-zone", | ||||
|  "js-sys", | ||||
|  "num-integer", | ||||
|  "num-traits", | ||||
|  "time 0.1.44", | ||||
|  "wasm-bindgen", | ||||
|  "winapi 0.3.9", | ||||
| ] | ||||
| 
 | ||||
| @ -289,6 +298,12 @@ dependencies = [ | ||||
|  "winapi 0.3.9", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "const_fn" | ||||
| version = "0.4.9" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "core-foundation" | ||||
| version = "0.9.3" | ||||
| @ -342,6 +357,16 @@ dependencies = [ | ||||
|  "typenum", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "ctor" | ||||
| version = "0.1.23" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb" | ||||
| dependencies = [ | ||||
|  "quote", | ||||
|  "syn", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "darling" | ||||
| version = "0.12.4" | ||||
| @ -414,6 +439,12 @@ version = "0.4.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "diff" | ||||
| version = "0.1.13" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "digest" | ||||
| version = "0.9.0" | ||||
| @ -463,12 +494,88 @@ dependencies = [ | ||||
|  "winapi 0.3.9", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "discard" | ||||
| version = "1.0.4" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "dtoa" | ||||
| version = "0.4.8" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "either" | ||||
| version = "1.8.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "encoding" | ||||
| version = "0.2.33" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" | ||||
| dependencies = [ | ||||
|  "encoding-index-japanese", | ||||
|  "encoding-index-korean", | ||||
|  "encoding-index-simpchinese", | ||||
|  "encoding-index-singlebyte", | ||||
|  "encoding-index-tradchinese", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "encoding-index-japanese" | ||||
| version = "1.20141219.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" | ||||
| dependencies = [ | ||||
|  "encoding_index_tests", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "encoding-index-korean" | ||||
| version = "1.20141219.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" | ||||
| dependencies = [ | ||||
|  "encoding_index_tests", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "encoding-index-simpchinese" | ||||
| version = "1.20141219.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" | ||||
| dependencies = [ | ||||
|  "encoding_index_tests", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "encoding-index-singlebyte" | ||||
| version = "1.20141219.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" | ||||
| dependencies = [ | ||||
|  "encoding_index_tests", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "encoding-index-tradchinese" | ||||
| version = "1.20141219.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" | ||||
| dependencies = [ | ||||
|  "encoding_index_tests", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "encoding_index_tests" | ||||
| version = "0.1.4" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "encoding_rs" | ||||
| version = "0.8.31" | ||||
| @ -771,7 +878,7 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" | ||||
| dependencies = [ | ||||
|  "bytes", | ||||
|  "fnv", | ||||
|  "itoa", | ||||
|  "itoa 1.0.3", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| @ -818,7 +925,7 @@ dependencies = [ | ||||
|  "http-body", | ||||
|  "httparse", | ||||
|  "httpdate", | ||||
|  "itoa", | ||||
|  "itoa 1.0.3", | ||||
|  "pin-project-lite", | ||||
|  "socket2", | ||||
|  "tokio", | ||||
| @ -941,6 +1048,12 @@ version = "2.5.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "itoa" | ||||
| version = "0.4.8" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "itoa" | ||||
| version = "1.0.3" | ||||
| @ -1015,6 +1128,12 @@ dependencies = [ | ||||
|  "vcpkg", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "linked-hash-map" | ||||
| version = "0.5.6" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "log" | ||||
| version = "0.4.17" | ||||
| @ -1024,6 +1143,25 @@ dependencies = [ | ||||
|  "cfg-if 1.0.0", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "lopdf" | ||||
| version = "0.27.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "8146695b97752d9c66da0092c6364f8f3ca683f5ea34341db21e5550c3b8c4f4" | ||||
| dependencies = [ | ||||
|  "chrono", | ||||
|  "dtoa", | ||||
|  "encoding", | ||||
|  "flate2", | ||||
|  "itoa 0.4.8", | ||||
|  "lazy_static", | ||||
|  "linked-hash-map", | ||||
|  "log", | ||||
|  "pom", | ||||
|  "time 0.2.27", | ||||
|  "weezl", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "md-5" | ||||
| version = "0.9.1" | ||||
| @ -1040,6 +1178,8 @@ name = "md2pdf" | ||||
| version = "0.0.3" | ||||
| dependencies = [ | ||||
|  "clap 4.0.8", | ||||
|  "lopdf", | ||||
|  "pretty_assertions", | ||||
|  "pulldown-cmark", | ||||
|  "tectonic", | ||||
| ] | ||||
| @ -1327,6 +1467,15 @@ version = "6.3.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "output_vt100" | ||||
| version = "0.1.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66" | ||||
| dependencies = [ | ||||
|  "winapi 0.3.9", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "parse-zoneinfo" | ||||
| version = "0.3.0" | ||||
| @ -1389,7 +1538,7 @@ checksum = "4c8717927f9b79515e565a64fe46c38b8cd0427e64c40680b14a7365ab09ac8d" | ||||
| dependencies = [ | ||||
|  "once_cell", | ||||
|  "pest", | ||||
|  "sha1", | ||||
|  "sha1 0.10.5", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| @ -1493,12 +1642,30 @@ version = "0.3.25" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "pom" | ||||
| version = "3.2.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "07e2192780e9f8e282049ff9bffcaa28171e1cb0844f49ed5374e518ae6024ec" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "ppv-lite86" | ||||
| version = "0.2.16" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "pretty_assertions" | ||||
| version = "1.3.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755" | ||||
| dependencies = [ | ||||
|  "ctor", | ||||
|  "diff", | ||||
|  "output_vt100", | ||||
|  "yansi", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "proc-macro-error" | ||||
| version = "1.0.4" | ||||
| @ -1523,6 +1690,12 @@ dependencies = [ | ||||
|  "version_check", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "proc-macro-hack" | ||||
| version = "0.5.19" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "proc-macro2" | ||||
| version = "1.0.46" | ||||
| @ -1732,6 +1905,15 @@ version = "0.1.21" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "rustc_version" | ||||
| version = "0.2.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" | ||||
| dependencies = [ | ||||
|  "semver", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "ryu" | ||||
| version = "1.0.11" | ||||
| @ -1780,6 +1962,21 @@ dependencies = [ | ||||
|  "libc", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "semver" | ||||
| version = "0.9.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" | ||||
| dependencies = [ | ||||
|  "semver-parser", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "semver-parser" | ||||
| version = "0.7.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "serde" | ||||
| version = "1.0.145" | ||||
| @ -1806,7 +2003,7 @@ version = "1.0.85" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" | ||||
| dependencies = [ | ||||
|  "itoa", | ||||
|  "itoa 1.0.3", | ||||
|  "ryu", | ||||
|  "serde", | ||||
| ] | ||||
| @ -1818,11 +2015,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" | ||||
| dependencies = [ | ||||
|  "form_urlencoded", | ||||
|  "itoa", | ||||
|  "itoa 1.0.3", | ||||
|  "ryu", | ||||
|  "serde", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "sha1" | ||||
| version = "0.6.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770" | ||||
| dependencies = [ | ||||
|  "sha1_smol", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "sha1" | ||||
| version = "0.10.5" | ||||
| @ -1834,6 +2040,12 @@ dependencies = [ | ||||
|  "digest 0.10.5", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "sha1_smol" | ||||
| version = "1.0.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "sha2" | ||||
| version = "0.9.9" | ||||
| @ -1881,6 +2093,64 @@ dependencies = [ | ||||
|  "winapi 0.3.9", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "standback" | ||||
| version = "0.2.17" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" | ||||
| dependencies = [ | ||||
|  "version_check", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "stdweb" | ||||
| version = "0.4.20" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" | ||||
| dependencies = [ | ||||
|  "discard", | ||||
|  "rustc_version", | ||||
|  "stdweb-derive", | ||||
|  "stdweb-internal-macros", | ||||
|  "stdweb-internal-runtime", | ||||
|  "wasm-bindgen", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "stdweb-derive" | ||||
| version = "0.5.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "serde", | ||||
|  "serde_derive", | ||||
|  "syn", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "stdweb-internal-macros" | ||||
| version = "0.2.9" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" | ||||
| dependencies = [ | ||||
|  "base-x", | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "serde", | ||||
|  "serde_derive", | ||||
|  "serde_json", | ||||
|  "sha1 0.6.1", | ||||
|  "syn", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "stdweb-internal-runtime" | ||||
| version = "0.1.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "strsim" | ||||
| version = "0.8.0" | ||||
| @ -2319,6 +2589,55 @@ dependencies = [ | ||||
|  "once_cell", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "time" | ||||
| version = "0.1.44" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" | ||||
| dependencies = [ | ||||
|  "libc", | ||||
|  "wasi 0.10.0+wasi-snapshot-preview1", | ||||
|  "winapi 0.3.9", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "time" | ||||
| version = "0.2.27" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242" | ||||
| dependencies = [ | ||||
|  "const_fn", | ||||
|  "libc", | ||||
|  "standback", | ||||
|  "stdweb", | ||||
|  "time-macros", | ||||
|  "version_check", | ||||
|  "winapi 0.3.9", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "time-macros" | ||||
| version = "0.1.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" | ||||
| dependencies = [ | ||||
|  "proc-macro-hack", | ||||
|  "time-macros-impl", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "time-macros-impl" | ||||
| version = "0.1.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" | ||||
| dependencies = [ | ||||
|  "proc-macro-hack", | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "standback", | ||||
|  "syn", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "tinyvec" | ||||
| version = "1.6.0" | ||||
| @ -2591,6 +2910,12 @@ version = "0.9.0+wasi-snapshot-preview1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "wasi" | ||||
| version = "0.10.0+wasi-snapshot-preview1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "wasi" | ||||
| version = "0.11.0+wasi-snapshot-preview1" | ||||
| @ -2692,6 +3017,12 @@ dependencies = [ | ||||
|  "wasm-bindgen", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "weezl" | ||||
| version = "0.1.7" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "which" | ||||
| version = "4.3.0" | ||||
| @ -2817,6 +3148,12 @@ dependencies = [ | ||||
|  "dirs 4.0.0", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "yansi" | ||||
| version = "0.5.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "zip" | ||||
| version = "0.5.13" | ||||
|  | ||||
| @ -22,3 +22,7 @@ path = "src/lib.rs" | ||||
| [[bin]] | ||||
| name = "md2pdf" | ||||
| path = "src/main.rs" | ||||
| 
 | ||||
| [dev-dependencies] | ||||
| pretty_assertions = "1.3.0" | ||||
| lopdf = "0.27.0" | ||||
|  | ||||
							
								
								
									
										85
									
								
								src/lib.rs
									
									
									
									
									
								
							
							
						
						
									
										85
									
								
								src/lib.rs
									
									
									
									
									
								
							| @ -128,3 +128,88 @@ pub fn markdown_to_pdf(markdown: String) -> Result<Vec<u8>, tectonic::Error> { | ||||
|     tectonic::latex_to_pdf(markdown_to_latex(markdown)) | ||||
| } | ||||
| 
 | ||||
| #[cfg(test)] | ||||
| mod tests { | ||||
|     use super::{markdown_to_latex, markdown_to_pdf}; | ||||
|     use pretty_assertions::assert_eq; | ||||
|     use std::io::Cursor; | ||||
|     use lopdf::Document; | ||||
| 
 | ||||
|     const MARKDOWN_IN: &str = r#"# First title
 | ||||
| Some content | ||||
| ## Second level | ||||
| Text | ||||
| [link](https://example.com)
 | ||||
| **Bold** | ||||
| __Italic__ | ||||
| "#;
 | ||||
|     const LATEXT_OUT: &str = r#"\documentclass{scrartcl}
 | ||||
| \usepackage{graphicx} | ||||
| \usepackage{hyperref} | ||||
| \usepackage{listings} | ||||
| \usepackage{xcolor} | ||||
| \definecolor{colKeys}{rgb}{0,0.5,0} | ||||
| \definecolor{colIdentifier}{rgb}{0,0,0} | ||||
| \definecolor{colComments}{rgb}{0,0.5,1} | ||||
| \definecolor{colString}{rgb}{0.6,0.1,0.1} | ||||
| \definecolor{colBackground}{rgb}{0.95,0.95,1} | ||||
| \lstset{%configuration de listings | ||||
|    float=hbp,% | ||||
|    basicstyle=\ttfamily\small,% | ||||
|    % | ||||
|    identifierstyle=\color{colIdentifier}, % | ||||
|    keywordstyle=\color{colKeys}, % | ||||
|    stringstyle=\color{colString}, % | ||||
|    commentstyle=\color{colComments}\textit, % | ||||
|    % | ||||
|    backgroundcolor=\color{colBackground},% | ||||
|    % | ||||
|    columns=flexible, % | ||||
|    tabsize=2, % | ||||
|    frame=trbl, % | ||||
|    %frameround=tttt,% | ||||
|    extendedchars=true, % | ||||
|    showspaces=false, % | ||||
|    showstringspaces=false, % | ||||
|    numbers=left, % | ||||
|    numberstyle=\tiny, % | ||||
|    breaklines=true, % | ||||
|    breakautoindent=true, % | ||||
|    captionpos=b,% | ||||
|    xrightmargin=0.2cm, % | ||||
|    xleftmargin=0.2cm | ||||
| } | ||||
| \begin{document} | ||||
| \section{First title} | ||||
| Some content\subsection{Second level} | ||||
| Text | ||||
| \href{https://example.com}{link}
 | ||||
| \textbf{Bold} | ||||
| \textbf{Italic} | ||||
| \end{document} | ||||
| "#;
 | ||||
| 
 | ||||
|     #[test] | ||||
|     fn test_md_to_latex() { | ||||
|         let output = markdown_to_latex(MARKDOWN_IN.to_string()); | ||||
|         assert_eq!(LATEXT_OUT, output); | ||||
|     } | ||||
| 
 | ||||
|     #[test] | ||||
|     fn test_latex_to_pdf() { | ||||
|         let output = markdown_to_pdf(MARKDOWN_IN.to_string()); | ||||
| 
 | ||||
|         match output { | ||||
|             Ok(data) => { | ||||
|                 let mut file = Cursor::new(data); | ||||
|                 match Document::load_from(&mut file){ | ||||
|                     Ok(doc) => { | ||||
|                         assert_eq!("1.5", doc.version); | ||||
|                     }, | ||||
|                     Err(_) => assert!(true) | ||||
|                 } | ||||
|             }, | ||||
|             Err(_) => assert!(true) | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user