mirror of
https://github.com/XAMPPRocky/tokei
synced 2024-10-05 23:39:28 +00:00
fixed regression, moved to tempdir for testing.
This commit is contained in:
parent
e2b7328275
commit
bfc80d5b69
|
@ -1,8 +1,6 @@
|
|||
os:
|
||||
- linux
|
||||
- osx
|
||||
env:
|
||||
- RUST_TEST_THREADS=1
|
||||
language: rust
|
||||
rust:
|
||||
- stable
|
||||
|
|
9
Cargo.lock
generated
9
Cargo.lock
generated
|
@ -12,6 +12,7 @@ dependencies = [
|
|||
"serde_codegen 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serde_json 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serde_yaml 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"toml 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"walkdir 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
@ -274,6 +275,14 @@ dependencies = [
|
|||
"unicode-xid 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tempdir"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "term"
|
||||
version = "0.4.4"
|
||||
|
|
|
@ -15,7 +15,8 @@ doc = false
|
|||
name = "tokei"
|
||||
path = "src/main.rs"
|
||||
|
||||
[build-dependencies]
|
||||
[dev-dependencies]
|
||||
tempdir = "~0.3.5"
|
||||
|
||||
[build-dependencies.serde_codegen]
|
||||
optional = true
|
||||
|
|
|
@ -90,9 +90,9 @@ fn count_files(language_tuple: &mut (&LanguageType, &mut Language)) {
|
|||
multi_line::handle_multi_line(line, &language, &mut stack, &mut quote);
|
||||
|
||||
if no_stack {
|
||||
stats.comments += 1;
|
||||
} else {
|
||||
stats.code += 1;
|
||||
} else {
|
||||
stats.comments += 1;
|
||||
}
|
||||
}
|
||||
**language += stats;
|
||||
|
@ -572,38 +572,26 @@ impl DerefMut for Languages {
|
|||
|
||||
#[cfg(test)]
|
||||
mod accuracy_tests {
|
||||
extern crate tempdir;
|
||||
use super::*;
|
||||
use std::io;
|
||||
use std::io::Write;
|
||||
use std::fs::File;
|
||||
use language::LanguageType;
|
||||
use self::tempdir::TempDir;
|
||||
|
||||
fn write(contents: &'static str, file_name: &str) -> io::Result<()> {
|
||||
use std::io::prelude::*;
|
||||
use std::fs::{File, create_dir};
|
||||
|
||||
let _ = create_dir("./_temp/");
|
||||
let mut f = try!(File::create(file_name));
|
||||
fn test_accuracy(file_name: &'static str, expected: usize, contents: &'static str) {
|
||||
let tmp_dir = TempDir::new("test").expect("Couldn't create temp dir");
|
||||
let file_name = tmp_dir.path().join(file_name);
|
||||
let mut file = File::create(&file_name).expect("Couldn't create file");
|
||||
file.write(contents.as_bytes()).expect("couldn't write to file");
|
||||
|
||||
try!(f.write_all(&contents.as_bytes()));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn cleanup() -> io::Result<()> {
|
||||
try!(::std::fs::remove_dir_all("./_temp/"));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn test_accuracy(file_name: &'static str, expected: u32, contents: &'static str) {
|
||||
let file_name = format!("./_temp/{}", file_name);
|
||||
write(contents, &*file_name).unwrap();
|
||||
let mut l = Languages::new();
|
||||
let l_type = LanguageType::from_extension(file_name).expect("Can't find language type");
|
||||
|
||||
l.get_statistics(vec!["./_temp/"], vec![]);
|
||||
|
||||
let _ = cleanup();
|
||||
let l_type = LanguageType::from_extension(&file_name).expect("Can't find language type");
|
||||
l.get_statistics(vec![file_name.to_str().unwrap()], vec![]);
|
||||
let language = l.get_mut(&l_type).expect("Couldn't find language");
|
||||
|
||||
assert_eq!(expected as usize, language.code);
|
||||
assert_eq!(expected, language.code);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Reference in a new issue