diff --git a/archived/licenses[WIP]/tools/test-gen-license/.gitignore b/archived/licenses[WIP]/tools/test-gen-license/.gitignore new file mode 100644 index 0000000..0c1a8a7 --- /dev/null +++ b/archived/licenses[WIP]/tools/test-gen-license/.gitignore @@ -0,0 +1,3 @@ +/target +**/*.rs.bk +.idea/* diff --git a/archived/licenses[WIP]/tools/test-gen-license/.idea/misc.xml b/archived/licenses[WIP]/tools/test-gen-license/.idea/misc.xml index 28a804d..5346672 100644 --- a/archived/licenses[WIP]/tools/test-gen-license/.idea/misc.xml +++ b/archived/licenses[WIP]/tools/test-gen-license/.idea/misc.xml @@ -1,6 +1,12 @@ + + + + + \ No newline at end of file diff --git a/archived/licenses[WIP]/tools/test-gen-license/.idea/test-gen-license.iml b/archived/licenses[WIP]/tools/test-gen-license/.idea/test-gen-license.iml index bc2cd87..b7b4242 100644 --- a/archived/licenses[WIP]/tools/test-gen-license/.idea/test-gen-license.iml +++ b/archived/licenses[WIP]/tools/test-gen-license/.idea/test-gen-license.iml @@ -1,7 +1,13 @@ - + + + + + + + diff --git a/archived/licenses[WIP]/tools/test-gen-license/Cargo.lock b/archived/licenses[WIP]/tools/test-gen-license/Cargo.lock new file mode 100644 index 0000000..9982b95 --- /dev/null +++ b/archived/licenses[WIP]/tools/test-gen-license/Cargo.lock @@ -0,0 +1,301 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "assert_cmd" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "predicates 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cfg-if" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "difference" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "dir-diff" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "escargot" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "itoa" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "lazy_static" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.51" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "log" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "predicates" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "predicates-core" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "predicates-tree" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "treeline 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proc-macro2" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quote" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "remove_dir_all" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ryu" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "same-file" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde" +version = "1.0.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_derive" +version = "1.0.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_json" +version = "1.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syn" +version = "0.15.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tempdir" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "test-gen-license" +version = "0.1.0" +dependencies = [ + "assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", + "dir-diff 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "treeline" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "walkdir" +version = "2.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc477793bd82ec39799b6f6b3df64938532fdf2ab0d49ef817eac65856a5a1e" +"checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4" +"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" +"checksum dir-diff 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1cce6e50ca36311e494793f7629014dc78cd963ba85cd05968ae06a63b867f0b" +"checksum escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ceb9adbf9874d5d028b5e4c5739d22b71988252b25c9c98fe7cf9738bee84597" +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" +"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" +"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" +"checksum libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)" = "bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917" +"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" +"checksum predicates 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa984b7cd021a0bf5315bcce4c4ae61d2a535db2a8d288fc7578638690a7b7c3" +"checksum predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "06075c3a3e92559ff8929e7a280684489ea27fe44805174c3ebd9328dcb37178" +"checksum predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e63c4859013b38a76eca2414c64911fba30def9e3202ac461a2d22831220124" +"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915" +"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1" +"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" +"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0" +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" +"checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7" +"checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267" +"checksum serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)" = "aa5f7c20820475babd2c077c3ab5f8c77a31c15e16ea38687b4c02d3e48680f4" +"checksum serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)" = "58fc82bec244f168b23d1963b45c8bf5726e9a15a9d146a067f9081aeed2de79" +"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d" +"checksum syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)" = "66c8865bf5a7cbb662d8b011950060b3c8743dca141b054bf7195b20d314d8e2" +"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" +"checksum treeline 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41" +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1" +"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/archived/licenses[WIP]/tools/test-gen-license/Cargo.toml b/archived/licenses[WIP]/tools/test-gen-license/Cargo.toml new file mode 100644 index 0000000..709f107 --- /dev/null +++ b/archived/licenses[WIP]/tools/test-gen-license/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "test-gen-license" +version = "0.1.0" +authors = ["VitalyR "] +edition = "2018" + +[dependencies] +assert_cmd = "0.11.1" +dir-diff = "0.3.1" +tempdir = "0.3.7" diff --git a/archived/licenses[WIP]/tools/test-gen-license/README.md b/archived/licenses[WIP]/tools/test-gen-license/README.md new file mode 100644 index 0000000..9f08c1c --- /dev/null +++ b/archived/licenses[WIP]/tools/test-gen-license/README.md @@ -0,0 +1,9 @@ +# Test for license generator tools + +## The purpose +The 999.ICU project has many(now, the number is 3) license generator tools and it seems that the number of that will continue to grow. Thus I write this test tool to validate the functionality of the tools. + +I hope the newly added tools must add test file and pass it. + +## Usage +For example, if you would like to add a license generator tool written by `ruby`, you just need to copy the `test_go.rs` file and rename it as `test_ruby.rs`, and replace the parameter in `arg()` of the test function. \ No newline at end of file diff --git a/archived/licenses[WIP]/tools/test-gen-license/src/main.rs b/archived/licenses[WIP]/tools/test-gen-license/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/archived/licenses[WIP]/tools/test-gen-license/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff --git a/archived/licenses[WIP]/tools/test-gen-license/tests/test_go.rs b/archived/licenses[WIP]/tools/test-gen-license/tests/test_go.rs new file mode 100644 index 0000000..9efe417 --- /dev/null +++ b/archived/licenses[WIP]/tools/test-gen-license/tests/test_go.rs @@ -0,0 +1,248 @@ +use assert_cmd::prelude::*; +use dir_diff; +use std::process::Command; +use tempdir; +use tempdir::TempDir; + +#[test] +fn test_go_help() { + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("-h"); + // assert_eq!(output, help); + let assert = cmd.assert(); + assert.success().stdout( + r#"gen-license-go is a 996.icu license generator implemented in Go, +this generator is developed to generate various open-source licenses including MIT, Apache, etc. +More importantly, the main purpose of this tool is to incorporate those aforesaid licenses into +a brand new license: 996.icu, defined by this repository. + +Usage: + gen-license-go [flags] + gen-license-go [command] + +Available Commands: + gen gen is a 996.icu license generator-command. + help Help about any command + +Flags: + -h, --help help for gen-license-go + -l, --list list all licenses (default true) + +Use "gen-license-go [command] --help" for more information about a command."#, + ); +} + +#[test] +fn test_go_create_license_mit() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen").arg("mit").arg("--996icu").args("en-us"); + assert!( + !dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/mit.txt").unwrap() + ); +} + +#[test] +fn test_go_create_license_996icu() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen").arg("--996icu").arg("--996icu").args("en-us"); + assert!(!dir_diff::is_different( + &tmp_dir.path(), + "../../gen-license-go/licenses/996.icu.template.en-us.txt" + ) + .unwrap()); +} +#[test] +fn test_go_create_license_agpl() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen") + .arg("--agpl-3.0") + .arg("--996icu") + .args("en-us"); + assert!(!dir_diff::is_different( + &tmp_dir.path(), + "../../gen-license-go/licenses/agpl-3.0.txt" + ) + .unwrap()); +} + +#[test] +fn test_go_create_license_apache() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen") + .arg("--apache-2.0") + .arg("--996icu") + .args("en-us"); + assert!(!dir_diff::is_different( + &tmp_dir.path(), + "../../gen-license-go/licenses/apache-2.0.txt" + ) + .unwrap()); +} + +#[test] +fn test_go_create_license_bsd_2() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen") + .arg("--bsd-2-clause") + .arg("--996icu") + .args("en-us"); + assert!(!dir_diff::is_different( + &tmp_dir.path(), + "../../gen-license-go/licenses/bsd-2-clause.txt" + ) + .unwrap()); +} + +#[test] +fn test_go_create_license_bsd_3() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen") + .arg("bsd-3-clause") + .arg("--996icu") + .args("en-us"); + assert!(!dir_diff::is_different( + &tmp_dir.path(), + "../../gen-license-go/licenses/bsd-3-clause.txt" + ) + .unwrap()); +} + +#[test] +fn test_go_create_license_epl() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen").arg("epl-2.0").arg("--996icu").args("en-us"); + assert!( + !dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/996.txt").unwrap() + ); +} + +#[test] +fn test_go_create_license_996() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen").arg("--996"); + assert!( + !dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/996.txt").unwrap() + ); +} + +#[test] +fn test_go_create_license_996() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen").arg("--996"); + assert!( + !dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/996.txt").unwrap() + ); +} + +#[test] +fn test_go_create_license_996() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen").arg("--996"); + assert!( + !dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/996.txt").unwrap() + ); +} + +#[test] +fn test_go_create_license_996() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen").arg("--996"); + assert!( + !dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/996.txt").unwrap() + ); +} diff --git a/archived/licenses[WIP]/tools/test-gen-license/tests/test_py.rs b/archived/licenses[WIP]/tools/test-gen-license/tests/test_py.rs new file mode 100644 index 0000000..e01dc2d --- /dev/null +++ b/archived/licenses[WIP]/tools/test-gen-license/tests/test_py.rs @@ -0,0 +1,53 @@ +use assert_cmd::prelude::*; +use dir_diff; +use std::process::Command; +use tempdir; +use tempdir::TempDir; + +/// todo: The python test is to be finished.. I'm having lunch now! +#[test] +fn test_go_help() { + let path = "../gen_license/genlicense/__init_.py"; + let mut cmd = Command::new("python"); + cmd.arg("-h"); + // assert_eq!(output, help); + let assert = cmd.assert(); + assert.success().stdout( + /// todo: replace this + r#"gen-license-go is a 996.icu license generator implemented in Go, +this generator is developed to generate various open-source licenses including MIT, Apache, etc. +More importantly, the main purpose of this tool is to incorporate those aforesaid licenses into +a brand new license: 996.icu, defined by this repository. + +Usage: + gen-license-go [flags] + gen-license-go [command] + +Available Commands: + gen gen is a 996.icu license generator-command. + help Help about any command + +Flags: + -h, --help help for gen-license-go + -l, --list list all licenses (default true) + +Use "gen-license-go [command] --help" for more information about a command."#, + ); +} + +#[test] +fn test_go_create_license_mit() { + let tmp_dir = TempDir::new("foo").expect("create temp dir failed"); + let path = if cfg!(targe_os = "windows") { + "../gen-license-go/bin/windows/gen-license-go.exe" + } else if cfg!(target_os = "linux") { + "../gen-license-go/bin/linux/gen-license-go" + } else { + "../gen-license-go/bin/osx/gen-license-go" + }; + let mut cmd = Command::new(&path); + cmd.arg("gen").arg("mit").arg("--996icu").args("en-us"); + assert!( + !dir_diff::is_different(&tmp_dir.path(), "../../gen-license-go/licenses/mit.txt").unwrap() + ); +}