diff --git a/.gitignore b/.gitignore index 0ba607f..96ef6c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,2 @@ /target -/build -/tests/integration_test.rs Cargo.lock diff --git a/Justfile b/Justfile index 97c8067..449b411 100644 --- a/Justfile +++ b/Justfile @@ -5,23 +5,17 @@ default: build: cargo build -# build integration tests -build-integration-tests: - BUILD_INTEGRATION_TESTS="1" cargo build - # regenerate test snapshots snapshot: cargo run --bin snapshot # detect linting problems. lint: - rm -f tests/integration_test.rs cargo fmt --all -- --check cargo clippy # fix linting problems. fix: - rm -f tests/integration_test.rs cargo fmt cargo clippy --fix --allow-dirty --allow-staged @@ -30,7 +24,7 @@ dump file: build cargo run --bin php-parser-rs -- {{file}} # run all integration tests, except third-party. -test filter='': build-integration-tests +test filter='': build cargo test --all {{filter}} -- --skip third_party # run integration tests for third-party libraries. diff --git a/bin/snapshot.rs b/bin/snapshot.rs index a738c5d..f72fbb4 100644 --- a/bin/snapshot.rs +++ b/bin/snapshot.rs @@ -8,7 +8,7 @@ static LEXER: Lexer = Lexer::new(); fn main() { let manifest = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()); - let mut entries = read_dir(manifest.join("tests")) + let mut entries = read_dir(manifest.join("tests").join("fixtures")) .unwrap() .flatten() .map(|entry| entry.path()) diff --git a/build.rs b/build.rs deleted file mode 100644 index 8ca35e8..0000000 --- a/build.rs +++ /dev/null @@ -1,192 +0,0 @@ -use std::env; -use std::fs::read_dir; -use std::path::PathBuf; - -fn main() { - let manifest = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()); - let tests = manifest.join("tests"); - let snapshot = manifest.join("bin").join("snapshot.rs"); - - println!("cargo:rerun-if-changed={}", tests.to_string_lossy()); - println!("cargo:rerun-if-changed={}", snapshot.to_string_lossy()); - println!("cargo:rerun-if-env-changed=BUILD_INTEGRATION_TESTS"); - - if env::var("BUILD_INTEGRATION_TESTS").unwrap_or_else(|_| "0".to_string()) == "0" { - return; - } - - let mut entries = read_dir(tests) - .unwrap() - .flatten() - .map(|entry| entry.path()) - .filter(|entry| entry.is_dir()) - .collect::>(); - - entries.sort(); - - let mut content = String::new(); - content.push_str("#![allow(clippy)]\n\n"); - content.push_str("// this file is auto-generated by the build script.\n"); - content.push_str("// you should never manually change it.\n\n"); - content.push_str("use php_parser_rs::prelude::{Lexer, Parser};\n"); - content.push_str("use pretty_assertions::assert_str_eq;\n\n"); - content.push_str("static PARSER: Parser = Parser::new();\n"); - content.push_str("static LEXER: Lexer = Lexer::new();\n\n"); - - for entry in entries { - let code_filename = entry.join("code.php"); - let ast_filename = entry.join("ast.txt"); - let tokens_filename = entry.join("tokens.txt"); - let lexer_error_filename = entry.join("lexer-error.txt"); - let parser_error_filename = entry.join("parser-error.txt"); - - if !code_filename.exists() { - continue; - } - - if ast_filename.exists() { - assert!( - !lexer_error_filename.exists(), - "`lexer-error.txt` was not expected for `{}`.", - entry.to_string_lossy() - ); - assert!( - !parser_error_filename.exists(), - "`parser-error.txt` was not expected for `{}`.", - entry.to_string_lossy() - ); - - content.push_str(&build_success_test( - entry, - code_filename, - ast_filename, - tokens_filename, - )) - } else if lexer_error_filename.exists() { - assert!( - !parser_error_filename.exists(), - "`parser-error.txt` was not expected for `{}`.", - entry.to_string_lossy() - ); - - content.push_str(&build_lexer_error_test( - entry, - code_filename, - lexer_error_filename, - )) - } else { - assert!( - parser_error_filename.exists(), - "unable to find `parser-error.txt` for `{}`.", - entry.to_string_lossy() - ); - - content.push_str(&build_parser_error_test( - entry, - code_filename, - parser_error_filename, - tokens_filename, - )) - } - } - - let dest = manifest.join("tests").join("integration_test.rs"); - std::fs::write(dest, content).expect("failed to write to file"); -} - -fn build_success_test( - entry: PathBuf, - code_filename: PathBuf, - ast_filename: PathBuf, - tokens_filename: PathBuf, -) -> String { - format!( - r#"#[test] -fn test_success_{}() {{ - let code_filename = "{}"; - let ast_filename = "{}"; - let tokens_filename = "{}"; - - let code = std::fs::read_to_string(&code_filename).unwrap(); - let expected_ast = std::fs::read_to_string(&ast_filename).unwrap(); - let expected_tokens = std::fs::read_to_string(&tokens_filename).unwrap(); - - let tokens = LEXER.tokenize(code.as_bytes()).unwrap(); - - assert_str_eq!(expected_tokens.trim(), format!("{{:#?}}", tokens)); - - let ast = PARSER.parse(tokens).unwrap(); - - assert_str_eq!(expected_ast.trim(), format!("{{:#?}}", ast)); -}} -"#, - entry.file_name().unwrap().to_string_lossy(), - code_filename.to_string_lossy(), - ast_filename.to_string_lossy(), - tokens_filename.to_string_lossy(), - ) -} - -fn build_lexer_error_test( - entry: PathBuf, - code_filename: PathBuf, - lexer_error_filename: PathBuf, -) -> String { - format!( - r#"#[test] -fn test_lexer_error_{}() {{ - let code_filename = "{}"; - let lexer_error_filename = "{}"; - - let code = std::fs::read_to_string(&code_filename).unwrap(); - let expected_error = std::fs::read_to_string(&lexer_error_filename).unwrap(); - - let error = LEXER.tokenize(code.as_bytes()).err().unwrap(); - - assert_str_eq!( - expected_error.trim(), - format!("{{:?}} -> {{}}", error, error.to_string()) - ); -}} -"#, - entry.file_name().unwrap().to_string_lossy(), - code_filename.to_string_lossy(), - lexer_error_filename.to_string_lossy() - ) -} - -fn build_parser_error_test( - entry: PathBuf, - code_filename: PathBuf, - parser_error_filename: PathBuf, - tokens_filename: PathBuf, -) -> String { - format!( - r#"#[test] -fn test_paser_error_{}() {{ - let code_filename = "{}"; - let tokens_filename = "{}"; - let parser_error_filename = "{}"; - - let code = std::fs::read_to_string(&code_filename).unwrap(); - let expected_tokens = std::fs::read_to_string(&tokens_filename).unwrap(); - let expected_error = std::fs::read_to_string(&parser_error_filename).unwrap(); - - let tokens = LEXER.tokenize(code.as_bytes()).unwrap(); - - assert_str_eq!(expected_tokens.trim(), format!("{{:#?}}", tokens)); - - let error = PARSER.parse(tokens).err().unwrap(); - - assert_str_eq!( - expected_error.trim(), - format!("{{:?}} -> {{}}", error, error.to_string()) - ); -}} -"#, - entry.file_name().unwrap().to_string_lossy(), - code_filename.to_string_lossy(), - tokens_filename.to_string_lossy(), - parser_error_filename.to_string_lossy() - ) -} diff --git a/tests/0001/ast.txt b/tests/fixtures/0001/ast.txt similarity index 99% rename from tests/0001/ast.txt rename to tests/fixtures/0001/ast.txt index 074fd7e..21a93f4 100644 --- a/tests/0001/ast.txt +++ b/tests/fixtures/0001/ast.txt @@ -8,7 +8,7 @@ name: "foo", end: ( 3, - 13, + 1351, ), }, attributes: [], diff --git a/tests/0001/code.php b/tests/fixtures/0001/code.php similarity index 100% rename from tests/0001/code.php rename to tests/fixtures/0001/code.php diff --git a/tests/0001/tokens.txt b/tests/fixtures/0001/tokens.txt similarity index 100% rename from tests/0001/tokens.txt rename to tests/fixtures/0001/tokens.txt diff --git a/tests/0002/code.php b/tests/fixtures/0002/code.php similarity index 100% rename from tests/0002/code.php rename to tests/fixtures/0002/code.php diff --git a/tests/0002/parser-error.txt b/tests/fixtures/0002/parser-error.txt similarity index 100% rename from tests/0002/parser-error.txt rename to tests/fixtures/0002/parser-error.txt diff --git a/tests/0002/tokens.txt b/tests/fixtures/0002/tokens.txt similarity index 100% rename from tests/0002/tokens.txt rename to tests/fixtures/0002/tokens.txt diff --git a/tests/0003/code.php b/tests/fixtures/0003/code.php similarity index 100% rename from tests/0003/code.php rename to tests/fixtures/0003/code.php diff --git a/tests/0003/parser-error.txt b/tests/fixtures/0003/parser-error.txt similarity index 100% rename from tests/0003/parser-error.txt rename to tests/fixtures/0003/parser-error.txt diff --git a/tests/0003/tokens.txt b/tests/fixtures/0003/tokens.txt similarity index 100% rename from tests/0003/tokens.txt rename to tests/fixtures/0003/tokens.txt diff --git a/tests/0004/code.php b/tests/fixtures/0004/code.php similarity index 100% rename from tests/0004/code.php rename to tests/fixtures/0004/code.php diff --git a/tests/0004/parser-error.txt b/tests/fixtures/0004/parser-error.txt similarity index 100% rename from tests/0004/parser-error.txt rename to tests/fixtures/0004/parser-error.txt diff --git a/tests/0004/tokens.txt b/tests/fixtures/0004/tokens.txt similarity index 100% rename from tests/0004/tokens.txt rename to tests/fixtures/0004/tokens.txt diff --git a/tests/0005/code.php b/tests/fixtures/0005/code.php similarity index 100% rename from tests/0005/code.php rename to tests/fixtures/0005/code.php diff --git a/tests/0005/parser-error.txt b/tests/fixtures/0005/parser-error.txt similarity index 100% rename from tests/0005/parser-error.txt rename to tests/fixtures/0005/parser-error.txt diff --git a/tests/0005/tokens.txt b/tests/fixtures/0005/tokens.txt similarity index 100% rename from tests/0005/tokens.txt rename to tests/fixtures/0005/tokens.txt diff --git a/tests/0006/ast.txt b/tests/fixtures/0006/ast.txt similarity index 100% rename from tests/0006/ast.txt rename to tests/fixtures/0006/ast.txt diff --git a/tests/0006/code.php b/tests/fixtures/0006/code.php similarity index 100% rename from tests/0006/code.php rename to tests/fixtures/0006/code.php diff --git a/tests/0006/tokens.txt b/tests/fixtures/0006/tokens.txt similarity index 100% rename from tests/0006/tokens.txt rename to tests/fixtures/0006/tokens.txt diff --git a/tests/0007/ast.txt b/tests/fixtures/0007/ast.txt similarity index 100% rename from tests/0007/ast.txt rename to tests/fixtures/0007/ast.txt diff --git a/tests/0007/code.php b/tests/fixtures/0007/code.php similarity index 100% rename from tests/0007/code.php rename to tests/fixtures/0007/code.php diff --git a/tests/0007/tokens.txt b/tests/fixtures/0007/tokens.txt similarity index 100% rename from tests/0007/tokens.txt rename to tests/fixtures/0007/tokens.txt diff --git a/tests/0008/ast.txt b/tests/fixtures/0008/ast.txt similarity index 100% rename from tests/0008/ast.txt rename to tests/fixtures/0008/ast.txt diff --git a/tests/0008/code.php b/tests/fixtures/0008/code.php similarity index 100% rename from tests/0008/code.php rename to tests/fixtures/0008/code.php diff --git a/tests/0008/tokens.txt b/tests/fixtures/0008/tokens.txt similarity index 100% rename from tests/0008/tokens.txt rename to tests/fixtures/0008/tokens.txt diff --git a/tests/0009/ast.txt b/tests/fixtures/0009/ast.txt similarity index 100% rename from tests/0009/ast.txt rename to tests/fixtures/0009/ast.txt diff --git a/tests/0009/code.php b/tests/fixtures/0009/code.php similarity index 100% rename from tests/0009/code.php rename to tests/fixtures/0009/code.php diff --git a/tests/0009/tokens.txt b/tests/fixtures/0009/tokens.txt similarity index 100% rename from tests/0009/tokens.txt rename to tests/fixtures/0009/tokens.txt diff --git a/tests/0010/ast.txt b/tests/fixtures/0010/ast.txt similarity index 100% rename from tests/0010/ast.txt rename to tests/fixtures/0010/ast.txt diff --git a/tests/0010/code.php b/tests/fixtures/0010/code.php similarity index 100% rename from tests/0010/code.php rename to tests/fixtures/0010/code.php diff --git a/tests/0010/tokens.txt b/tests/fixtures/0010/tokens.txt similarity index 100% rename from tests/0010/tokens.txt rename to tests/fixtures/0010/tokens.txt diff --git a/tests/0011/ast.txt b/tests/fixtures/0011/ast.txt similarity index 100% rename from tests/0011/ast.txt rename to tests/fixtures/0011/ast.txt diff --git a/tests/0011/code.php b/tests/fixtures/0011/code.php similarity index 100% rename from tests/0011/code.php rename to tests/fixtures/0011/code.php diff --git a/tests/0011/tokens.txt b/tests/fixtures/0011/tokens.txt similarity index 100% rename from tests/0011/tokens.txt rename to tests/fixtures/0011/tokens.txt diff --git a/tests/0012/ast.txt b/tests/fixtures/0012/ast.txt similarity index 100% rename from tests/0012/ast.txt rename to tests/fixtures/0012/ast.txt diff --git a/tests/0012/code.php b/tests/fixtures/0012/code.php similarity index 100% rename from tests/0012/code.php rename to tests/fixtures/0012/code.php diff --git a/tests/0012/tokens.txt b/tests/fixtures/0012/tokens.txt similarity index 100% rename from tests/0012/tokens.txt rename to tests/fixtures/0012/tokens.txt diff --git a/tests/0013/ast.txt b/tests/fixtures/0013/ast.txt similarity index 100% rename from tests/0013/ast.txt rename to tests/fixtures/0013/ast.txt diff --git a/tests/0013/code.php b/tests/fixtures/0013/code.php similarity index 100% rename from tests/0013/code.php rename to tests/fixtures/0013/code.php diff --git a/tests/0013/tokens.txt b/tests/fixtures/0013/tokens.txt similarity index 100% rename from tests/0013/tokens.txt rename to tests/fixtures/0013/tokens.txt diff --git a/tests/0014/ast.txt b/tests/fixtures/0014/ast.txt similarity index 100% rename from tests/0014/ast.txt rename to tests/fixtures/0014/ast.txt diff --git a/tests/0014/code.php b/tests/fixtures/0014/code.php similarity index 100% rename from tests/0014/code.php rename to tests/fixtures/0014/code.php diff --git a/tests/0014/tokens.txt b/tests/fixtures/0014/tokens.txt similarity index 100% rename from tests/0014/tokens.txt rename to tests/fixtures/0014/tokens.txt diff --git a/tests/0015/ast.txt b/tests/fixtures/0015/ast.txt similarity index 100% rename from tests/0015/ast.txt rename to tests/fixtures/0015/ast.txt diff --git a/tests/0015/code.php b/tests/fixtures/0015/code.php similarity index 100% rename from tests/0015/code.php rename to tests/fixtures/0015/code.php diff --git a/tests/0015/tokens.txt b/tests/fixtures/0015/tokens.txt similarity index 100% rename from tests/0015/tokens.txt rename to tests/fixtures/0015/tokens.txt diff --git a/tests/0016/code.php b/tests/fixtures/0016/code.php similarity index 100% rename from tests/0016/code.php rename to tests/fixtures/0016/code.php diff --git a/tests/0016/parser-error.txt b/tests/fixtures/0016/parser-error.txt similarity index 100% rename from tests/0016/parser-error.txt rename to tests/fixtures/0016/parser-error.txt diff --git a/tests/0016/tokens.txt b/tests/fixtures/0016/tokens.txt similarity index 100% rename from tests/0016/tokens.txt rename to tests/fixtures/0016/tokens.txt diff --git a/tests/0017/ast.txt b/tests/fixtures/0017/ast.txt similarity index 100% rename from tests/0017/ast.txt rename to tests/fixtures/0017/ast.txt diff --git a/tests/0017/code.php b/tests/fixtures/0017/code.php similarity index 100% rename from tests/0017/code.php rename to tests/fixtures/0017/code.php diff --git a/tests/0017/tokens.txt b/tests/fixtures/0017/tokens.txt similarity index 100% rename from tests/0017/tokens.txt rename to tests/fixtures/0017/tokens.txt diff --git a/tests/0018/ast.txt b/tests/fixtures/0018/ast.txt similarity index 100% rename from tests/0018/ast.txt rename to tests/fixtures/0018/ast.txt diff --git a/tests/0018/code.php b/tests/fixtures/0018/code.php similarity index 100% rename from tests/0018/code.php rename to tests/fixtures/0018/code.php diff --git a/tests/0018/tokens.txt b/tests/fixtures/0018/tokens.txt similarity index 100% rename from tests/0018/tokens.txt rename to tests/fixtures/0018/tokens.txt diff --git a/tests/0019/ast.txt b/tests/fixtures/0019/ast.txt similarity index 100% rename from tests/0019/ast.txt rename to tests/fixtures/0019/ast.txt diff --git a/tests/0019/code.php b/tests/fixtures/0019/code.php similarity index 100% rename from tests/0019/code.php rename to tests/fixtures/0019/code.php diff --git a/tests/0019/tokens.txt b/tests/fixtures/0019/tokens.txt similarity index 100% rename from tests/0019/tokens.txt rename to tests/fixtures/0019/tokens.txt diff --git a/tests/0020/ast.txt b/tests/fixtures/0020/ast.txt similarity index 100% rename from tests/0020/ast.txt rename to tests/fixtures/0020/ast.txt diff --git a/tests/0020/code.php b/tests/fixtures/0020/code.php similarity index 100% rename from tests/0020/code.php rename to tests/fixtures/0020/code.php diff --git a/tests/0020/tokens.txt b/tests/fixtures/0020/tokens.txt similarity index 100% rename from tests/0020/tokens.txt rename to tests/fixtures/0020/tokens.txt diff --git a/tests/0021/ast.txt b/tests/fixtures/0021/ast.txt similarity index 100% rename from tests/0021/ast.txt rename to tests/fixtures/0021/ast.txt diff --git a/tests/0021/code.php b/tests/fixtures/0021/code.php similarity index 100% rename from tests/0021/code.php rename to tests/fixtures/0021/code.php diff --git a/tests/0021/tokens.txt b/tests/fixtures/0021/tokens.txt similarity index 100% rename from tests/0021/tokens.txt rename to tests/fixtures/0021/tokens.txt diff --git a/tests/0022/ast.txt b/tests/fixtures/0022/ast.txt similarity index 100% rename from tests/0022/ast.txt rename to tests/fixtures/0022/ast.txt diff --git a/tests/0022/code.php b/tests/fixtures/0022/code.php similarity index 100% rename from tests/0022/code.php rename to tests/fixtures/0022/code.php diff --git a/tests/0022/tokens.txt b/tests/fixtures/0022/tokens.txt similarity index 100% rename from tests/0022/tokens.txt rename to tests/fixtures/0022/tokens.txt diff --git a/tests/0023/ast.txt b/tests/fixtures/0023/ast.txt similarity index 100% rename from tests/0023/ast.txt rename to tests/fixtures/0023/ast.txt diff --git a/tests/0023/code.php b/tests/fixtures/0023/code.php similarity index 100% rename from tests/0023/code.php rename to tests/fixtures/0023/code.php diff --git a/tests/0023/tokens.txt b/tests/fixtures/0023/tokens.txt similarity index 100% rename from tests/0023/tokens.txt rename to tests/fixtures/0023/tokens.txt diff --git a/tests/0024/ast.txt b/tests/fixtures/0024/ast.txt similarity index 100% rename from tests/0024/ast.txt rename to tests/fixtures/0024/ast.txt diff --git a/tests/0024/code.php b/tests/fixtures/0024/code.php similarity index 100% rename from tests/0024/code.php rename to tests/fixtures/0024/code.php diff --git a/tests/0024/tokens.txt b/tests/fixtures/0024/tokens.txt similarity index 100% rename from tests/0024/tokens.txt rename to tests/fixtures/0024/tokens.txt diff --git a/tests/0025/ast.txt b/tests/fixtures/0025/ast.txt similarity index 100% rename from tests/0025/ast.txt rename to tests/fixtures/0025/ast.txt diff --git a/tests/0025/code.php b/tests/fixtures/0025/code.php similarity index 100% rename from tests/0025/code.php rename to tests/fixtures/0025/code.php diff --git a/tests/0025/tokens.txt b/tests/fixtures/0025/tokens.txt similarity index 100% rename from tests/0025/tokens.txt rename to tests/fixtures/0025/tokens.txt diff --git a/tests/0026/ast.txt b/tests/fixtures/0026/ast.txt similarity index 100% rename from tests/0026/ast.txt rename to tests/fixtures/0026/ast.txt diff --git a/tests/0026/code.php b/tests/fixtures/0026/code.php similarity index 100% rename from tests/0026/code.php rename to tests/fixtures/0026/code.php diff --git a/tests/0026/tokens.txt b/tests/fixtures/0026/tokens.txt similarity index 100% rename from tests/0026/tokens.txt rename to tests/fixtures/0026/tokens.txt diff --git a/tests/0027/ast.txt b/tests/fixtures/0027/ast.txt similarity index 100% rename from tests/0027/ast.txt rename to tests/fixtures/0027/ast.txt diff --git a/tests/0027/code.php b/tests/fixtures/0027/code.php similarity index 100% rename from tests/0027/code.php rename to tests/fixtures/0027/code.php diff --git a/tests/0027/tokens.txt b/tests/fixtures/0027/tokens.txt similarity index 100% rename from tests/0027/tokens.txt rename to tests/fixtures/0027/tokens.txt diff --git a/tests/0028/ast.txt b/tests/fixtures/0028/ast.txt similarity index 100% rename from tests/0028/ast.txt rename to tests/fixtures/0028/ast.txt diff --git a/tests/0028/code.php b/tests/fixtures/0028/code.php similarity index 100% rename from tests/0028/code.php rename to tests/fixtures/0028/code.php diff --git a/tests/0028/tokens.txt b/tests/fixtures/0028/tokens.txt similarity index 100% rename from tests/0028/tokens.txt rename to tests/fixtures/0028/tokens.txt diff --git a/tests/0029/ast.txt b/tests/fixtures/0029/ast.txt similarity index 100% rename from tests/0029/ast.txt rename to tests/fixtures/0029/ast.txt diff --git a/tests/0029/code.php b/tests/fixtures/0029/code.php similarity index 100% rename from tests/0029/code.php rename to tests/fixtures/0029/code.php diff --git a/tests/0029/tokens.txt b/tests/fixtures/0029/tokens.txt similarity index 100% rename from tests/0029/tokens.txt rename to tests/fixtures/0029/tokens.txt diff --git a/tests/0030/ast.txt b/tests/fixtures/0030/ast.txt similarity index 100% rename from tests/0030/ast.txt rename to tests/fixtures/0030/ast.txt diff --git a/tests/0030/code.php b/tests/fixtures/0030/code.php similarity index 100% rename from tests/0030/code.php rename to tests/fixtures/0030/code.php diff --git a/tests/0030/tokens.txt b/tests/fixtures/0030/tokens.txt similarity index 100% rename from tests/0030/tokens.txt rename to tests/fixtures/0030/tokens.txt diff --git a/tests/0031/ast.txt b/tests/fixtures/0031/ast.txt similarity index 100% rename from tests/0031/ast.txt rename to tests/fixtures/0031/ast.txt diff --git a/tests/0031/code.php b/tests/fixtures/0031/code.php similarity index 100% rename from tests/0031/code.php rename to tests/fixtures/0031/code.php diff --git a/tests/0031/tokens.txt b/tests/fixtures/0031/tokens.txt similarity index 100% rename from tests/0031/tokens.txt rename to tests/fixtures/0031/tokens.txt diff --git a/tests/0032/ast.txt b/tests/fixtures/0032/ast.txt similarity index 100% rename from tests/0032/ast.txt rename to tests/fixtures/0032/ast.txt diff --git a/tests/0032/code.php b/tests/fixtures/0032/code.php similarity index 100% rename from tests/0032/code.php rename to tests/fixtures/0032/code.php diff --git a/tests/0032/tokens.txt b/tests/fixtures/0032/tokens.txt similarity index 100% rename from tests/0032/tokens.txt rename to tests/fixtures/0032/tokens.txt diff --git a/tests/0033/ast.txt b/tests/fixtures/0033/ast.txt similarity index 100% rename from tests/0033/ast.txt rename to tests/fixtures/0033/ast.txt diff --git a/tests/0033/code.php b/tests/fixtures/0033/code.php similarity index 100% rename from tests/0033/code.php rename to tests/fixtures/0033/code.php diff --git a/tests/0033/tokens.txt b/tests/fixtures/0033/tokens.txt similarity index 100% rename from tests/0033/tokens.txt rename to tests/fixtures/0033/tokens.txt diff --git a/tests/0034/ast.txt b/tests/fixtures/0034/ast.txt similarity index 100% rename from tests/0034/ast.txt rename to tests/fixtures/0034/ast.txt diff --git a/tests/0034/code.php b/tests/fixtures/0034/code.php similarity index 100% rename from tests/0034/code.php rename to tests/fixtures/0034/code.php diff --git a/tests/0034/tokens.txt b/tests/fixtures/0034/tokens.txt similarity index 100% rename from tests/0034/tokens.txt rename to tests/fixtures/0034/tokens.txt diff --git a/tests/0035/ast.txt b/tests/fixtures/0035/ast.txt similarity index 100% rename from tests/0035/ast.txt rename to tests/fixtures/0035/ast.txt diff --git a/tests/0035/code.php b/tests/fixtures/0035/code.php similarity index 100% rename from tests/0035/code.php rename to tests/fixtures/0035/code.php diff --git a/tests/0035/tokens.txt b/tests/fixtures/0035/tokens.txt similarity index 100% rename from tests/0035/tokens.txt rename to tests/fixtures/0035/tokens.txt diff --git a/tests/0036/ast.txt b/tests/fixtures/0036/ast.txt similarity index 100% rename from tests/0036/ast.txt rename to tests/fixtures/0036/ast.txt diff --git a/tests/0036/code.php b/tests/fixtures/0036/code.php similarity index 100% rename from tests/0036/code.php rename to tests/fixtures/0036/code.php diff --git a/tests/0036/tokens.txt b/tests/fixtures/0036/tokens.txt similarity index 100% rename from tests/0036/tokens.txt rename to tests/fixtures/0036/tokens.txt diff --git a/tests/0037/ast.txt b/tests/fixtures/0037/ast.txt similarity index 100% rename from tests/0037/ast.txt rename to tests/fixtures/0037/ast.txt diff --git a/tests/0037/code.php b/tests/fixtures/0037/code.php similarity index 100% rename from tests/0037/code.php rename to tests/fixtures/0037/code.php diff --git a/tests/0037/tokens.txt b/tests/fixtures/0037/tokens.txt similarity index 100% rename from tests/0037/tokens.txt rename to tests/fixtures/0037/tokens.txt diff --git a/tests/0038/ast.txt b/tests/fixtures/0038/ast.txt similarity index 100% rename from tests/0038/ast.txt rename to tests/fixtures/0038/ast.txt diff --git a/tests/0038/code.php b/tests/fixtures/0038/code.php similarity index 100% rename from tests/0038/code.php rename to tests/fixtures/0038/code.php diff --git a/tests/0038/tokens.txt b/tests/fixtures/0038/tokens.txt similarity index 100% rename from tests/0038/tokens.txt rename to tests/fixtures/0038/tokens.txt diff --git a/tests/0039/ast.txt b/tests/fixtures/0039/ast.txt similarity index 100% rename from tests/0039/ast.txt rename to tests/fixtures/0039/ast.txt diff --git a/tests/0039/code.php b/tests/fixtures/0039/code.php similarity index 100% rename from tests/0039/code.php rename to tests/fixtures/0039/code.php diff --git a/tests/0039/tokens.txt b/tests/fixtures/0039/tokens.txt similarity index 100% rename from tests/0039/tokens.txt rename to tests/fixtures/0039/tokens.txt diff --git a/tests/0040/ast.txt b/tests/fixtures/0040/ast.txt similarity index 100% rename from tests/0040/ast.txt rename to tests/fixtures/0040/ast.txt diff --git a/tests/0040/code.php b/tests/fixtures/0040/code.php similarity index 100% rename from tests/0040/code.php rename to tests/fixtures/0040/code.php diff --git a/tests/0040/tokens.txt b/tests/fixtures/0040/tokens.txt similarity index 100% rename from tests/0040/tokens.txt rename to tests/fixtures/0040/tokens.txt diff --git a/tests/0041/ast.txt b/tests/fixtures/0041/ast.txt similarity index 100% rename from tests/0041/ast.txt rename to tests/fixtures/0041/ast.txt diff --git a/tests/0041/code.php b/tests/fixtures/0041/code.php similarity index 100% rename from tests/0041/code.php rename to tests/fixtures/0041/code.php diff --git a/tests/0041/tokens.txt b/tests/fixtures/0041/tokens.txt similarity index 100% rename from tests/0041/tokens.txt rename to tests/fixtures/0041/tokens.txt diff --git a/tests/0042/ast.txt b/tests/fixtures/0042/ast.txt similarity index 100% rename from tests/0042/ast.txt rename to tests/fixtures/0042/ast.txt diff --git a/tests/0042/code.php b/tests/fixtures/0042/code.php similarity index 100% rename from tests/0042/code.php rename to tests/fixtures/0042/code.php diff --git a/tests/0042/tokens.txt b/tests/fixtures/0042/tokens.txt similarity index 100% rename from tests/0042/tokens.txt rename to tests/fixtures/0042/tokens.txt diff --git a/tests/0043/ast.txt b/tests/fixtures/0043/ast.txt similarity index 100% rename from tests/0043/ast.txt rename to tests/fixtures/0043/ast.txt diff --git a/tests/0043/code.php b/tests/fixtures/0043/code.php similarity index 100% rename from tests/0043/code.php rename to tests/fixtures/0043/code.php diff --git a/tests/0043/tokens.txt b/tests/fixtures/0043/tokens.txt similarity index 100% rename from tests/0043/tokens.txt rename to tests/fixtures/0043/tokens.txt diff --git a/tests/0044/code.php b/tests/fixtures/0044/code.php similarity index 100% rename from tests/0044/code.php rename to tests/fixtures/0044/code.php diff --git a/tests/0044/parser-error.txt b/tests/fixtures/0044/parser-error.txt similarity index 100% rename from tests/0044/parser-error.txt rename to tests/fixtures/0044/parser-error.txt diff --git a/tests/0044/tokens.txt b/tests/fixtures/0044/tokens.txt similarity index 100% rename from tests/0044/tokens.txt rename to tests/fixtures/0044/tokens.txt diff --git a/tests/0045/ast.txt b/tests/fixtures/0045/ast.txt similarity index 100% rename from tests/0045/ast.txt rename to tests/fixtures/0045/ast.txt diff --git a/tests/0045/code.php b/tests/fixtures/0045/code.php similarity index 100% rename from tests/0045/code.php rename to tests/fixtures/0045/code.php diff --git a/tests/0045/tokens.txt b/tests/fixtures/0045/tokens.txt similarity index 100% rename from tests/0045/tokens.txt rename to tests/fixtures/0045/tokens.txt diff --git a/tests/0046/ast.txt b/tests/fixtures/0046/ast.txt similarity index 100% rename from tests/0046/ast.txt rename to tests/fixtures/0046/ast.txt diff --git a/tests/0046/code.php b/tests/fixtures/0046/code.php similarity index 100% rename from tests/0046/code.php rename to tests/fixtures/0046/code.php diff --git a/tests/0046/tokens.txt b/tests/fixtures/0046/tokens.txt similarity index 100% rename from tests/0046/tokens.txt rename to tests/fixtures/0046/tokens.txt diff --git a/tests/0047/ast.txt b/tests/fixtures/0047/ast.txt similarity index 100% rename from tests/0047/ast.txt rename to tests/fixtures/0047/ast.txt diff --git a/tests/0047/code.php b/tests/fixtures/0047/code.php similarity index 100% rename from tests/0047/code.php rename to tests/fixtures/0047/code.php diff --git a/tests/0047/tokens.txt b/tests/fixtures/0047/tokens.txt similarity index 100% rename from tests/0047/tokens.txt rename to tests/fixtures/0047/tokens.txt diff --git a/tests/0048/ast.txt b/tests/fixtures/0048/ast.txt similarity index 100% rename from tests/0048/ast.txt rename to tests/fixtures/0048/ast.txt diff --git a/tests/0048/code.php b/tests/fixtures/0048/code.php similarity index 100% rename from tests/0048/code.php rename to tests/fixtures/0048/code.php diff --git a/tests/0048/tokens.txt b/tests/fixtures/0048/tokens.txt similarity index 100% rename from tests/0048/tokens.txt rename to tests/fixtures/0048/tokens.txt diff --git a/tests/0049/ast.txt b/tests/fixtures/0049/ast.txt similarity index 100% rename from tests/0049/ast.txt rename to tests/fixtures/0049/ast.txt diff --git a/tests/0049/code.php b/tests/fixtures/0049/code.php similarity index 100% rename from tests/0049/code.php rename to tests/fixtures/0049/code.php diff --git a/tests/0049/tokens.txt b/tests/fixtures/0049/tokens.txt similarity index 100% rename from tests/0049/tokens.txt rename to tests/fixtures/0049/tokens.txt diff --git a/tests/0050/ast.txt b/tests/fixtures/0050/ast.txt similarity index 100% rename from tests/0050/ast.txt rename to tests/fixtures/0050/ast.txt diff --git a/tests/0050/code.php b/tests/fixtures/0050/code.php similarity index 100% rename from tests/0050/code.php rename to tests/fixtures/0050/code.php diff --git a/tests/0050/tokens.txt b/tests/fixtures/0050/tokens.txt similarity index 100% rename from tests/0050/tokens.txt rename to tests/fixtures/0050/tokens.txt diff --git a/tests/0051/ast.txt b/tests/fixtures/0051/ast.txt similarity index 100% rename from tests/0051/ast.txt rename to tests/fixtures/0051/ast.txt diff --git a/tests/0051/code.php b/tests/fixtures/0051/code.php similarity index 100% rename from tests/0051/code.php rename to tests/fixtures/0051/code.php diff --git a/tests/0051/tokens.txt b/tests/fixtures/0051/tokens.txt similarity index 100% rename from tests/0051/tokens.txt rename to tests/fixtures/0051/tokens.txt diff --git a/tests/0052/ast.txt b/tests/fixtures/0052/ast.txt similarity index 100% rename from tests/0052/ast.txt rename to tests/fixtures/0052/ast.txt diff --git a/tests/0052/code.php b/tests/fixtures/0052/code.php similarity index 100% rename from tests/0052/code.php rename to tests/fixtures/0052/code.php diff --git a/tests/0052/tokens.txt b/tests/fixtures/0052/tokens.txt similarity index 100% rename from tests/0052/tokens.txt rename to tests/fixtures/0052/tokens.txt diff --git a/tests/0053/ast.txt b/tests/fixtures/0053/ast.txt similarity index 100% rename from tests/0053/ast.txt rename to tests/fixtures/0053/ast.txt diff --git a/tests/0053/code.php b/tests/fixtures/0053/code.php similarity index 100% rename from tests/0053/code.php rename to tests/fixtures/0053/code.php diff --git a/tests/0053/tokens.txt b/tests/fixtures/0053/tokens.txt similarity index 100% rename from tests/0053/tokens.txt rename to tests/fixtures/0053/tokens.txt diff --git a/tests/0054/ast.txt b/tests/fixtures/0054/ast.txt similarity index 100% rename from tests/0054/ast.txt rename to tests/fixtures/0054/ast.txt diff --git a/tests/0054/code.php b/tests/fixtures/0054/code.php similarity index 100% rename from tests/0054/code.php rename to tests/fixtures/0054/code.php diff --git a/tests/0054/tokens.txt b/tests/fixtures/0054/tokens.txt similarity index 100% rename from tests/0054/tokens.txt rename to tests/fixtures/0054/tokens.txt diff --git a/tests/0055/ast.txt b/tests/fixtures/0055/ast.txt similarity index 100% rename from tests/0055/ast.txt rename to tests/fixtures/0055/ast.txt diff --git a/tests/0055/code.php b/tests/fixtures/0055/code.php similarity index 100% rename from tests/0055/code.php rename to tests/fixtures/0055/code.php diff --git a/tests/0055/tokens.txt b/tests/fixtures/0055/tokens.txt similarity index 100% rename from tests/0055/tokens.txt rename to tests/fixtures/0055/tokens.txt diff --git a/tests/0056/ast.txt b/tests/fixtures/0056/ast.txt similarity index 100% rename from tests/0056/ast.txt rename to tests/fixtures/0056/ast.txt diff --git a/tests/0056/code.php b/tests/fixtures/0056/code.php similarity index 100% rename from tests/0056/code.php rename to tests/fixtures/0056/code.php diff --git a/tests/0056/tokens.txt b/tests/fixtures/0056/tokens.txt similarity index 100% rename from tests/0056/tokens.txt rename to tests/fixtures/0056/tokens.txt diff --git a/tests/0057/ast.txt b/tests/fixtures/0057/ast.txt similarity index 100% rename from tests/0057/ast.txt rename to tests/fixtures/0057/ast.txt diff --git a/tests/0057/code.php b/tests/fixtures/0057/code.php similarity index 100% rename from tests/0057/code.php rename to tests/fixtures/0057/code.php diff --git a/tests/0057/tokens.txt b/tests/fixtures/0057/tokens.txt similarity index 100% rename from tests/0057/tokens.txt rename to tests/fixtures/0057/tokens.txt diff --git a/tests/0058/ast.txt b/tests/fixtures/0058/ast.txt similarity index 100% rename from tests/0058/ast.txt rename to tests/fixtures/0058/ast.txt diff --git a/tests/0058/code.php b/tests/fixtures/0058/code.php similarity index 100% rename from tests/0058/code.php rename to tests/fixtures/0058/code.php diff --git a/tests/0058/tokens.txt b/tests/fixtures/0058/tokens.txt similarity index 100% rename from tests/0058/tokens.txt rename to tests/fixtures/0058/tokens.txt diff --git a/tests/0059/ast.txt b/tests/fixtures/0059/ast.txt similarity index 100% rename from tests/0059/ast.txt rename to tests/fixtures/0059/ast.txt diff --git a/tests/0059/code.php b/tests/fixtures/0059/code.php similarity index 100% rename from tests/0059/code.php rename to tests/fixtures/0059/code.php diff --git a/tests/0059/tokens.txt b/tests/fixtures/0059/tokens.txt similarity index 100% rename from tests/0059/tokens.txt rename to tests/fixtures/0059/tokens.txt diff --git a/tests/0060/ast.txt b/tests/fixtures/0060/ast.txt similarity index 100% rename from tests/0060/ast.txt rename to tests/fixtures/0060/ast.txt diff --git a/tests/0060/code.php b/tests/fixtures/0060/code.php similarity index 100% rename from tests/0060/code.php rename to tests/fixtures/0060/code.php diff --git a/tests/0060/tokens.txt b/tests/fixtures/0060/tokens.txt similarity index 100% rename from tests/0060/tokens.txt rename to tests/fixtures/0060/tokens.txt diff --git a/tests/0061/ast.txt b/tests/fixtures/0061/ast.txt similarity index 100% rename from tests/0061/ast.txt rename to tests/fixtures/0061/ast.txt diff --git a/tests/0061/code.php b/tests/fixtures/0061/code.php similarity index 100% rename from tests/0061/code.php rename to tests/fixtures/0061/code.php diff --git a/tests/0061/tokens.txt b/tests/fixtures/0061/tokens.txt similarity index 100% rename from tests/0061/tokens.txt rename to tests/fixtures/0061/tokens.txt diff --git a/tests/0062/ast.txt b/tests/fixtures/0062/ast.txt similarity index 100% rename from tests/0062/ast.txt rename to tests/fixtures/0062/ast.txt diff --git a/tests/0062/code.php b/tests/fixtures/0062/code.php similarity index 100% rename from tests/0062/code.php rename to tests/fixtures/0062/code.php diff --git a/tests/0062/tokens.txt b/tests/fixtures/0062/tokens.txt similarity index 100% rename from tests/0062/tokens.txt rename to tests/fixtures/0062/tokens.txt diff --git a/tests/0063/ast.txt b/tests/fixtures/0063/ast.txt similarity index 100% rename from tests/0063/ast.txt rename to tests/fixtures/0063/ast.txt diff --git a/tests/0063/code.php b/tests/fixtures/0063/code.php similarity index 100% rename from tests/0063/code.php rename to tests/fixtures/0063/code.php diff --git a/tests/0063/tokens.txt b/tests/fixtures/0063/tokens.txt similarity index 100% rename from tests/0063/tokens.txt rename to tests/fixtures/0063/tokens.txt diff --git a/tests/0064/ast.txt b/tests/fixtures/0064/ast.txt similarity index 100% rename from tests/0064/ast.txt rename to tests/fixtures/0064/ast.txt diff --git a/tests/0064/code.php b/tests/fixtures/0064/code.php similarity index 100% rename from tests/0064/code.php rename to tests/fixtures/0064/code.php diff --git a/tests/0064/tokens.txt b/tests/fixtures/0064/tokens.txt similarity index 100% rename from tests/0064/tokens.txt rename to tests/fixtures/0064/tokens.txt diff --git a/tests/0065/ast.txt b/tests/fixtures/0065/ast.txt similarity index 100% rename from tests/0065/ast.txt rename to tests/fixtures/0065/ast.txt diff --git a/tests/0065/code.php b/tests/fixtures/0065/code.php similarity index 100% rename from tests/0065/code.php rename to tests/fixtures/0065/code.php diff --git a/tests/0065/tokens.txt b/tests/fixtures/0065/tokens.txt similarity index 100% rename from tests/0065/tokens.txt rename to tests/fixtures/0065/tokens.txt diff --git a/tests/0066/ast.txt b/tests/fixtures/0066/ast.txt similarity index 100% rename from tests/0066/ast.txt rename to tests/fixtures/0066/ast.txt diff --git a/tests/0066/code.php b/tests/fixtures/0066/code.php similarity index 100% rename from tests/0066/code.php rename to tests/fixtures/0066/code.php diff --git a/tests/0066/tokens.txt b/tests/fixtures/0066/tokens.txt similarity index 100% rename from tests/0066/tokens.txt rename to tests/fixtures/0066/tokens.txt diff --git a/tests/0067/ast.txt b/tests/fixtures/0067/ast.txt similarity index 100% rename from tests/0067/ast.txt rename to tests/fixtures/0067/ast.txt diff --git a/tests/0067/code.php b/tests/fixtures/0067/code.php similarity index 100% rename from tests/0067/code.php rename to tests/fixtures/0067/code.php diff --git a/tests/0067/tokens.txt b/tests/fixtures/0067/tokens.txt similarity index 100% rename from tests/0067/tokens.txt rename to tests/fixtures/0067/tokens.txt diff --git a/tests/0068/ast.txt b/tests/fixtures/0068/ast.txt similarity index 100% rename from tests/0068/ast.txt rename to tests/fixtures/0068/ast.txt diff --git a/tests/0068/code.php b/tests/fixtures/0068/code.php similarity index 100% rename from tests/0068/code.php rename to tests/fixtures/0068/code.php diff --git a/tests/0068/tokens.txt b/tests/fixtures/0068/tokens.txt similarity index 100% rename from tests/0068/tokens.txt rename to tests/fixtures/0068/tokens.txt diff --git a/tests/0069/ast.txt b/tests/fixtures/0069/ast.txt similarity index 100% rename from tests/0069/ast.txt rename to tests/fixtures/0069/ast.txt diff --git a/tests/0069/code.php b/tests/fixtures/0069/code.php similarity index 100% rename from tests/0069/code.php rename to tests/fixtures/0069/code.php diff --git a/tests/0069/tokens.txt b/tests/fixtures/0069/tokens.txt similarity index 100% rename from tests/0069/tokens.txt rename to tests/fixtures/0069/tokens.txt diff --git a/tests/0070/ast.txt b/tests/fixtures/0070/ast.txt similarity index 100% rename from tests/0070/ast.txt rename to tests/fixtures/0070/ast.txt diff --git a/tests/0070/code.php b/tests/fixtures/0070/code.php similarity index 100% rename from tests/0070/code.php rename to tests/fixtures/0070/code.php diff --git a/tests/0070/tokens.txt b/tests/fixtures/0070/tokens.txt similarity index 100% rename from tests/0070/tokens.txt rename to tests/fixtures/0070/tokens.txt diff --git a/tests/0071/ast.txt b/tests/fixtures/0071/ast.txt similarity index 100% rename from tests/0071/ast.txt rename to tests/fixtures/0071/ast.txt diff --git a/tests/0071/code.php b/tests/fixtures/0071/code.php similarity index 100% rename from tests/0071/code.php rename to tests/fixtures/0071/code.php diff --git a/tests/0071/tokens.txt b/tests/fixtures/0071/tokens.txt similarity index 100% rename from tests/0071/tokens.txt rename to tests/fixtures/0071/tokens.txt diff --git a/tests/0072/ast.txt b/tests/fixtures/0072/ast.txt similarity index 100% rename from tests/0072/ast.txt rename to tests/fixtures/0072/ast.txt diff --git a/tests/0072/code.php b/tests/fixtures/0072/code.php similarity index 100% rename from tests/0072/code.php rename to tests/fixtures/0072/code.php diff --git a/tests/0072/tokens.txt b/tests/fixtures/0072/tokens.txt similarity index 100% rename from tests/0072/tokens.txt rename to tests/fixtures/0072/tokens.txt diff --git a/tests/0073/ast.txt b/tests/fixtures/0073/ast.txt similarity index 100% rename from tests/0073/ast.txt rename to tests/fixtures/0073/ast.txt diff --git a/tests/0073/code.php b/tests/fixtures/0073/code.php similarity index 100% rename from tests/0073/code.php rename to tests/fixtures/0073/code.php diff --git a/tests/0073/tokens.txt b/tests/fixtures/0073/tokens.txt similarity index 100% rename from tests/0073/tokens.txt rename to tests/fixtures/0073/tokens.txt diff --git a/tests/0074/ast.txt b/tests/fixtures/0074/ast.txt similarity index 100% rename from tests/0074/ast.txt rename to tests/fixtures/0074/ast.txt diff --git a/tests/0074/code.php b/tests/fixtures/0074/code.php similarity index 100% rename from tests/0074/code.php rename to tests/fixtures/0074/code.php diff --git a/tests/0074/tokens.txt b/tests/fixtures/0074/tokens.txt similarity index 100% rename from tests/0074/tokens.txt rename to tests/fixtures/0074/tokens.txt diff --git a/tests/0075/ast.txt b/tests/fixtures/0075/ast.txt similarity index 100% rename from tests/0075/ast.txt rename to tests/fixtures/0075/ast.txt diff --git a/tests/0075/code.php b/tests/fixtures/0075/code.php similarity index 100% rename from tests/0075/code.php rename to tests/fixtures/0075/code.php diff --git a/tests/0075/tokens.txt b/tests/fixtures/0075/tokens.txt similarity index 100% rename from tests/0075/tokens.txt rename to tests/fixtures/0075/tokens.txt diff --git a/tests/0076/ast.txt b/tests/fixtures/0076/ast.txt similarity index 100% rename from tests/0076/ast.txt rename to tests/fixtures/0076/ast.txt diff --git a/tests/0076/code.php b/tests/fixtures/0076/code.php similarity index 100% rename from tests/0076/code.php rename to tests/fixtures/0076/code.php diff --git a/tests/0076/tokens.txt b/tests/fixtures/0076/tokens.txt similarity index 100% rename from tests/0076/tokens.txt rename to tests/fixtures/0076/tokens.txt diff --git a/tests/0077/ast.txt b/tests/fixtures/0077/ast.txt similarity index 100% rename from tests/0077/ast.txt rename to tests/fixtures/0077/ast.txt diff --git a/tests/0077/code.php b/tests/fixtures/0077/code.php similarity index 100% rename from tests/0077/code.php rename to tests/fixtures/0077/code.php diff --git a/tests/0077/tokens.txt b/tests/fixtures/0077/tokens.txt similarity index 100% rename from tests/0077/tokens.txt rename to tests/fixtures/0077/tokens.txt diff --git a/tests/0078/ast.txt b/tests/fixtures/0078/ast.txt similarity index 100% rename from tests/0078/ast.txt rename to tests/fixtures/0078/ast.txt diff --git a/tests/0078/code.php b/tests/fixtures/0078/code.php similarity index 100% rename from tests/0078/code.php rename to tests/fixtures/0078/code.php diff --git a/tests/0078/tokens.txt b/tests/fixtures/0078/tokens.txt similarity index 100% rename from tests/0078/tokens.txt rename to tests/fixtures/0078/tokens.txt diff --git a/tests/0079/ast.txt b/tests/fixtures/0079/ast.txt similarity index 100% rename from tests/0079/ast.txt rename to tests/fixtures/0079/ast.txt diff --git a/tests/0079/code.php b/tests/fixtures/0079/code.php similarity index 100% rename from tests/0079/code.php rename to tests/fixtures/0079/code.php diff --git a/tests/0079/tokens.txt b/tests/fixtures/0079/tokens.txt similarity index 100% rename from tests/0079/tokens.txt rename to tests/fixtures/0079/tokens.txt diff --git a/tests/0080/ast.txt b/tests/fixtures/0080/ast.txt similarity index 100% rename from tests/0080/ast.txt rename to tests/fixtures/0080/ast.txt diff --git a/tests/0080/code.php b/tests/fixtures/0080/code.php similarity index 100% rename from tests/0080/code.php rename to tests/fixtures/0080/code.php diff --git a/tests/0080/tokens.txt b/tests/fixtures/0080/tokens.txt similarity index 100% rename from tests/0080/tokens.txt rename to tests/fixtures/0080/tokens.txt diff --git a/tests/0081/ast.txt b/tests/fixtures/0081/ast.txt similarity index 100% rename from tests/0081/ast.txt rename to tests/fixtures/0081/ast.txt diff --git a/tests/0081/code.php b/tests/fixtures/0081/code.php similarity index 100% rename from tests/0081/code.php rename to tests/fixtures/0081/code.php diff --git a/tests/0081/tokens.txt b/tests/fixtures/0081/tokens.txt similarity index 100% rename from tests/0081/tokens.txt rename to tests/fixtures/0081/tokens.txt diff --git a/tests/0082/ast.txt b/tests/fixtures/0082/ast.txt similarity index 100% rename from tests/0082/ast.txt rename to tests/fixtures/0082/ast.txt diff --git a/tests/0082/code.php b/tests/fixtures/0082/code.php similarity index 100% rename from tests/0082/code.php rename to tests/fixtures/0082/code.php diff --git a/tests/0082/tokens.txt b/tests/fixtures/0082/tokens.txt similarity index 100% rename from tests/0082/tokens.txt rename to tests/fixtures/0082/tokens.txt diff --git a/tests/0083/ast.txt b/tests/fixtures/0083/ast.txt similarity index 100% rename from tests/0083/ast.txt rename to tests/fixtures/0083/ast.txt diff --git a/tests/0083/code.php b/tests/fixtures/0083/code.php similarity index 100% rename from tests/0083/code.php rename to tests/fixtures/0083/code.php diff --git a/tests/0083/tokens.txt b/tests/fixtures/0083/tokens.txt similarity index 100% rename from tests/0083/tokens.txt rename to tests/fixtures/0083/tokens.txt diff --git a/tests/0084/ast.txt b/tests/fixtures/0084/ast.txt similarity index 100% rename from tests/0084/ast.txt rename to tests/fixtures/0084/ast.txt diff --git a/tests/0084/code.php b/tests/fixtures/0084/code.php similarity index 100% rename from tests/0084/code.php rename to tests/fixtures/0084/code.php diff --git a/tests/0084/tokens.txt b/tests/fixtures/0084/tokens.txt similarity index 100% rename from tests/0084/tokens.txt rename to tests/fixtures/0084/tokens.txt diff --git a/tests/0085/ast.txt b/tests/fixtures/0085/ast.txt similarity index 100% rename from tests/0085/ast.txt rename to tests/fixtures/0085/ast.txt diff --git a/tests/0085/code.php b/tests/fixtures/0085/code.php similarity index 100% rename from tests/0085/code.php rename to tests/fixtures/0085/code.php diff --git a/tests/0085/tokens.txt b/tests/fixtures/0085/tokens.txt similarity index 100% rename from tests/0085/tokens.txt rename to tests/fixtures/0085/tokens.txt diff --git a/tests/0086/code.php b/tests/fixtures/0086/code.php similarity index 100% rename from tests/0086/code.php rename to tests/fixtures/0086/code.php diff --git a/tests/0086/parser-error.txt b/tests/fixtures/0086/parser-error.txt similarity index 100% rename from tests/0086/parser-error.txt rename to tests/fixtures/0086/parser-error.txt diff --git a/tests/0086/tokens.txt b/tests/fixtures/0086/tokens.txt similarity index 100% rename from tests/0086/tokens.txt rename to tests/fixtures/0086/tokens.txt diff --git a/tests/0087/code.php b/tests/fixtures/0087/code.php similarity index 100% rename from tests/0087/code.php rename to tests/fixtures/0087/code.php diff --git a/tests/0087/parser-error.txt b/tests/fixtures/0087/parser-error.txt similarity index 100% rename from tests/0087/parser-error.txt rename to tests/fixtures/0087/parser-error.txt diff --git a/tests/0087/tokens.txt b/tests/fixtures/0087/tokens.txt similarity index 100% rename from tests/0087/tokens.txt rename to tests/fixtures/0087/tokens.txt diff --git a/tests/0088/code.php b/tests/fixtures/0088/code.php similarity index 100% rename from tests/0088/code.php rename to tests/fixtures/0088/code.php diff --git a/tests/0088/parser-error.txt b/tests/fixtures/0088/parser-error.txt similarity index 100% rename from tests/0088/parser-error.txt rename to tests/fixtures/0088/parser-error.txt diff --git a/tests/0088/tokens.txt b/tests/fixtures/0088/tokens.txt similarity index 100% rename from tests/0088/tokens.txt rename to tests/fixtures/0088/tokens.txt diff --git a/tests/0089/ast.txt b/tests/fixtures/0089/ast.txt similarity index 100% rename from tests/0089/ast.txt rename to tests/fixtures/0089/ast.txt diff --git a/tests/0089/code.php b/tests/fixtures/0089/code.php similarity index 100% rename from tests/0089/code.php rename to tests/fixtures/0089/code.php diff --git a/tests/0089/tokens.txt b/tests/fixtures/0089/tokens.txt similarity index 100% rename from tests/0089/tokens.txt rename to tests/fixtures/0089/tokens.txt diff --git a/tests/0090/ast.txt b/tests/fixtures/0090/ast.txt similarity index 100% rename from tests/0090/ast.txt rename to tests/fixtures/0090/ast.txt diff --git a/tests/0090/code.php b/tests/fixtures/0090/code.php similarity index 100% rename from tests/0090/code.php rename to tests/fixtures/0090/code.php diff --git a/tests/0090/tokens.txt b/tests/fixtures/0090/tokens.txt similarity index 100% rename from tests/0090/tokens.txt rename to tests/fixtures/0090/tokens.txt diff --git a/tests/0091/ast.txt b/tests/fixtures/0091/ast.txt similarity index 100% rename from tests/0091/ast.txt rename to tests/fixtures/0091/ast.txt diff --git a/tests/0091/code.php b/tests/fixtures/0091/code.php similarity index 100% rename from tests/0091/code.php rename to tests/fixtures/0091/code.php diff --git a/tests/0091/tokens.txt b/tests/fixtures/0091/tokens.txt similarity index 100% rename from tests/0091/tokens.txt rename to tests/fixtures/0091/tokens.txt diff --git a/tests/0092/ast.txt b/tests/fixtures/0092/ast.txt similarity index 100% rename from tests/0092/ast.txt rename to tests/fixtures/0092/ast.txt diff --git a/tests/0092/code.php b/tests/fixtures/0092/code.php similarity index 100% rename from tests/0092/code.php rename to tests/fixtures/0092/code.php diff --git a/tests/0092/tokens.txt b/tests/fixtures/0092/tokens.txt similarity index 100% rename from tests/0092/tokens.txt rename to tests/fixtures/0092/tokens.txt diff --git a/tests/0093/ast.txt b/tests/fixtures/0093/ast.txt similarity index 100% rename from tests/0093/ast.txt rename to tests/fixtures/0093/ast.txt diff --git a/tests/0093/code.php b/tests/fixtures/0093/code.php similarity index 100% rename from tests/0093/code.php rename to tests/fixtures/0093/code.php diff --git a/tests/0093/tokens.txt b/tests/fixtures/0093/tokens.txt similarity index 100% rename from tests/0093/tokens.txt rename to tests/fixtures/0093/tokens.txt diff --git a/tests/0094/ast.txt b/tests/fixtures/0094/ast.txt similarity index 100% rename from tests/0094/ast.txt rename to tests/fixtures/0094/ast.txt diff --git a/tests/0094/code.php b/tests/fixtures/0094/code.php similarity index 100% rename from tests/0094/code.php rename to tests/fixtures/0094/code.php diff --git a/tests/0094/tokens.txt b/tests/fixtures/0094/tokens.txt similarity index 100% rename from tests/0094/tokens.txt rename to tests/fixtures/0094/tokens.txt diff --git a/tests/0095/ast.txt b/tests/fixtures/0095/ast.txt similarity index 100% rename from tests/0095/ast.txt rename to tests/fixtures/0095/ast.txt diff --git a/tests/0095/code.php b/tests/fixtures/0095/code.php similarity index 100% rename from tests/0095/code.php rename to tests/fixtures/0095/code.php diff --git a/tests/0095/tokens.txt b/tests/fixtures/0095/tokens.txt similarity index 100% rename from tests/0095/tokens.txt rename to tests/fixtures/0095/tokens.txt diff --git a/tests/0096/ast.txt b/tests/fixtures/0096/ast.txt similarity index 100% rename from tests/0096/ast.txt rename to tests/fixtures/0096/ast.txt diff --git a/tests/0096/code.php b/tests/fixtures/0096/code.php similarity index 100% rename from tests/0096/code.php rename to tests/fixtures/0096/code.php diff --git a/tests/0096/tokens.txt b/tests/fixtures/0096/tokens.txt similarity index 100% rename from tests/0096/tokens.txt rename to tests/fixtures/0096/tokens.txt diff --git a/tests/0097/ast.txt b/tests/fixtures/0097/ast.txt similarity index 100% rename from tests/0097/ast.txt rename to tests/fixtures/0097/ast.txt diff --git a/tests/0097/code.php b/tests/fixtures/0097/code.php similarity index 100% rename from tests/0097/code.php rename to tests/fixtures/0097/code.php diff --git a/tests/0097/tokens.txt b/tests/fixtures/0097/tokens.txt similarity index 100% rename from tests/0097/tokens.txt rename to tests/fixtures/0097/tokens.txt diff --git a/tests/0098/ast.txt b/tests/fixtures/0098/ast.txt similarity index 100% rename from tests/0098/ast.txt rename to tests/fixtures/0098/ast.txt diff --git a/tests/0098/code.php b/tests/fixtures/0098/code.php similarity index 100% rename from tests/0098/code.php rename to tests/fixtures/0098/code.php diff --git a/tests/0098/tokens.txt b/tests/fixtures/0098/tokens.txt similarity index 100% rename from tests/0098/tokens.txt rename to tests/fixtures/0098/tokens.txt diff --git a/tests/0099/ast.txt b/tests/fixtures/0099/ast.txt similarity index 100% rename from tests/0099/ast.txt rename to tests/fixtures/0099/ast.txt diff --git a/tests/0099/code.php b/tests/fixtures/0099/code.php similarity index 100% rename from tests/0099/code.php rename to tests/fixtures/0099/code.php diff --git a/tests/0099/tokens.txt b/tests/fixtures/0099/tokens.txt similarity index 100% rename from tests/0099/tokens.txt rename to tests/fixtures/0099/tokens.txt diff --git a/tests/0100/ast.txt b/tests/fixtures/0100/ast.txt similarity index 100% rename from tests/0100/ast.txt rename to tests/fixtures/0100/ast.txt diff --git a/tests/0100/code.php b/tests/fixtures/0100/code.php similarity index 100% rename from tests/0100/code.php rename to tests/fixtures/0100/code.php diff --git a/tests/0100/tokens.txt b/tests/fixtures/0100/tokens.txt similarity index 100% rename from tests/0100/tokens.txt rename to tests/fixtures/0100/tokens.txt diff --git a/tests/0101/ast.txt b/tests/fixtures/0101/ast.txt similarity index 100% rename from tests/0101/ast.txt rename to tests/fixtures/0101/ast.txt diff --git a/tests/0101/code.php b/tests/fixtures/0101/code.php similarity index 100% rename from tests/0101/code.php rename to tests/fixtures/0101/code.php diff --git a/tests/0101/tokens.txt b/tests/fixtures/0101/tokens.txt similarity index 100% rename from tests/0101/tokens.txt rename to tests/fixtures/0101/tokens.txt diff --git a/tests/0102/ast.txt b/tests/fixtures/0102/ast.txt similarity index 100% rename from tests/0102/ast.txt rename to tests/fixtures/0102/ast.txt diff --git a/tests/0102/code.php b/tests/fixtures/0102/code.php similarity index 100% rename from tests/0102/code.php rename to tests/fixtures/0102/code.php diff --git a/tests/0102/tokens.txt b/tests/fixtures/0102/tokens.txt similarity index 100% rename from tests/0102/tokens.txt rename to tests/fixtures/0102/tokens.txt diff --git a/tests/0103/ast.txt b/tests/fixtures/0103/ast.txt similarity index 100% rename from tests/0103/ast.txt rename to tests/fixtures/0103/ast.txt diff --git a/tests/0103/code.php b/tests/fixtures/0103/code.php similarity index 100% rename from tests/0103/code.php rename to tests/fixtures/0103/code.php diff --git a/tests/0103/tokens.txt b/tests/fixtures/0103/tokens.txt similarity index 100% rename from tests/0103/tokens.txt rename to tests/fixtures/0103/tokens.txt diff --git a/tests/0105/ast.txt b/tests/fixtures/0105/ast.txt similarity index 100% rename from tests/0105/ast.txt rename to tests/fixtures/0105/ast.txt diff --git a/tests/0105/code.php b/tests/fixtures/0105/code.php similarity index 100% rename from tests/0105/code.php rename to tests/fixtures/0105/code.php diff --git a/tests/0105/tokens.txt b/tests/fixtures/0105/tokens.txt similarity index 100% rename from tests/0105/tokens.txt rename to tests/fixtures/0105/tokens.txt diff --git a/tests/0106/ast.txt b/tests/fixtures/0106/ast.txt similarity index 100% rename from tests/0106/ast.txt rename to tests/fixtures/0106/ast.txt diff --git a/tests/0106/code.php b/tests/fixtures/0106/code.php similarity index 100% rename from tests/0106/code.php rename to tests/fixtures/0106/code.php diff --git a/tests/0106/tokens.txt b/tests/fixtures/0106/tokens.txt similarity index 100% rename from tests/0106/tokens.txt rename to tests/fixtures/0106/tokens.txt diff --git a/tests/0107/ast.txt b/tests/fixtures/0107/ast.txt similarity index 100% rename from tests/0107/ast.txt rename to tests/fixtures/0107/ast.txt diff --git a/tests/0107/code.php b/tests/fixtures/0107/code.php similarity index 100% rename from tests/0107/code.php rename to tests/fixtures/0107/code.php diff --git a/tests/0107/tokens.txt b/tests/fixtures/0107/tokens.txt similarity index 100% rename from tests/0107/tokens.txt rename to tests/fixtures/0107/tokens.txt diff --git a/tests/0108/ast.txt b/tests/fixtures/0108/ast.txt similarity index 100% rename from tests/0108/ast.txt rename to tests/fixtures/0108/ast.txt diff --git a/tests/0108/code.php b/tests/fixtures/0108/code.php similarity index 100% rename from tests/0108/code.php rename to tests/fixtures/0108/code.php diff --git a/tests/0108/tokens.txt b/tests/fixtures/0108/tokens.txt similarity index 100% rename from tests/0108/tokens.txt rename to tests/fixtures/0108/tokens.txt diff --git a/tests/0109/ast.txt b/tests/fixtures/0109/ast.txt similarity index 100% rename from tests/0109/ast.txt rename to tests/fixtures/0109/ast.txt diff --git a/tests/0109/code.php b/tests/fixtures/0109/code.php similarity index 100% rename from tests/0109/code.php rename to tests/fixtures/0109/code.php diff --git a/tests/0109/tokens.txt b/tests/fixtures/0109/tokens.txt similarity index 100% rename from tests/0109/tokens.txt rename to tests/fixtures/0109/tokens.txt diff --git a/tests/0110/ast.txt b/tests/fixtures/0110/ast.txt similarity index 100% rename from tests/0110/ast.txt rename to tests/fixtures/0110/ast.txt diff --git a/tests/0110/code.php b/tests/fixtures/0110/code.php similarity index 100% rename from tests/0110/code.php rename to tests/fixtures/0110/code.php diff --git a/tests/0110/tokens.txt b/tests/fixtures/0110/tokens.txt similarity index 100% rename from tests/0110/tokens.txt rename to tests/fixtures/0110/tokens.txt diff --git a/tests/0111/code.php b/tests/fixtures/0111/code.php similarity index 100% rename from tests/0111/code.php rename to tests/fixtures/0111/code.php diff --git a/tests/0111/parser-error.txt b/tests/fixtures/0111/parser-error.txt similarity index 100% rename from tests/0111/parser-error.txt rename to tests/fixtures/0111/parser-error.txt diff --git a/tests/0111/tokens.txt b/tests/fixtures/0111/tokens.txt similarity index 100% rename from tests/0111/tokens.txt rename to tests/fixtures/0111/tokens.txt diff --git a/tests/0112/code.php b/tests/fixtures/0112/code.php similarity index 100% rename from tests/0112/code.php rename to tests/fixtures/0112/code.php diff --git a/tests/0112/parser-error.txt b/tests/fixtures/0112/parser-error.txt similarity index 100% rename from tests/0112/parser-error.txt rename to tests/fixtures/0112/parser-error.txt diff --git a/tests/0112/tokens.txt b/tests/fixtures/0112/tokens.txt similarity index 100% rename from tests/0112/tokens.txt rename to tests/fixtures/0112/tokens.txt diff --git a/tests/0113/code.php b/tests/fixtures/0113/code.php similarity index 100% rename from tests/0113/code.php rename to tests/fixtures/0113/code.php diff --git a/tests/0113/parser-error.txt b/tests/fixtures/0113/parser-error.txt similarity index 100% rename from tests/0113/parser-error.txt rename to tests/fixtures/0113/parser-error.txt diff --git a/tests/0113/tokens.txt b/tests/fixtures/0113/tokens.txt similarity index 100% rename from tests/0113/tokens.txt rename to tests/fixtures/0113/tokens.txt diff --git a/tests/0114/code.php b/tests/fixtures/0114/code.php similarity index 100% rename from tests/0114/code.php rename to tests/fixtures/0114/code.php diff --git a/tests/0114/parser-error.txt b/tests/fixtures/0114/parser-error.txt similarity index 100% rename from tests/0114/parser-error.txt rename to tests/fixtures/0114/parser-error.txt diff --git a/tests/0114/tokens.txt b/tests/fixtures/0114/tokens.txt similarity index 100% rename from tests/0114/tokens.txt rename to tests/fixtures/0114/tokens.txt diff --git a/tests/0115/code.php b/tests/fixtures/0115/code.php similarity index 100% rename from tests/0115/code.php rename to tests/fixtures/0115/code.php diff --git a/tests/0115/parser-error.txt b/tests/fixtures/0115/parser-error.txt similarity index 100% rename from tests/0115/parser-error.txt rename to tests/fixtures/0115/parser-error.txt diff --git a/tests/0115/tokens.txt b/tests/fixtures/0115/tokens.txt similarity index 100% rename from tests/0115/tokens.txt rename to tests/fixtures/0115/tokens.txt diff --git a/tests/0116/code.php b/tests/fixtures/0116/code.php similarity index 100% rename from tests/0116/code.php rename to tests/fixtures/0116/code.php diff --git a/tests/0116/parser-error.txt b/tests/fixtures/0116/parser-error.txt similarity index 100% rename from tests/0116/parser-error.txt rename to tests/fixtures/0116/parser-error.txt diff --git a/tests/0116/tokens.txt b/tests/fixtures/0116/tokens.txt similarity index 100% rename from tests/0116/tokens.txt rename to tests/fixtures/0116/tokens.txt diff --git a/tests/0117/ast.txt b/tests/fixtures/0117/ast.txt similarity index 100% rename from tests/0117/ast.txt rename to tests/fixtures/0117/ast.txt diff --git a/tests/0117/code.php b/tests/fixtures/0117/code.php similarity index 100% rename from tests/0117/code.php rename to tests/fixtures/0117/code.php diff --git a/tests/0117/tokens.txt b/tests/fixtures/0117/tokens.txt similarity index 100% rename from tests/0117/tokens.txt rename to tests/fixtures/0117/tokens.txt diff --git a/tests/0118/ast.txt b/tests/fixtures/0118/ast.txt similarity index 100% rename from tests/0118/ast.txt rename to tests/fixtures/0118/ast.txt diff --git a/tests/0118/code.php b/tests/fixtures/0118/code.php similarity index 100% rename from tests/0118/code.php rename to tests/fixtures/0118/code.php diff --git a/tests/0118/tokens.txt b/tests/fixtures/0118/tokens.txt similarity index 100% rename from tests/0118/tokens.txt rename to tests/fixtures/0118/tokens.txt diff --git a/tests/0119/ast.txt b/tests/fixtures/0119/ast.txt similarity index 100% rename from tests/0119/ast.txt rename to tests/fixtures/0119/ast.txt diff --git a/tests/0119/code.php b/tests/fixtures/0119/code.php similarity index 100% rename from tests/0119/code.php rename to tests/fixtures/0119/code.php diff --git a/tests/0119/tokens.txt b/tests/fixtures/0119/tokens.txt similarity index 100% rename from tests/0119/tokens.txt rename to tests/fixtures/0119/tokens.txt diff --git a/tests/0120/code.php b/tests/fixtures/0120/code.php similarity index 100% rename from tests/0120/code.php rename to tests/fixtures/0120/code.php diff --git a/tests/0120/parser-error.txt b/tests/fixtures/0120/parser-error.txt similarity index 100% rename from tests/0120/parser-error.txt rename to tests/fixtures/0120/parser-error.txt diff --git a/tests/0120/tokens.txt b/tests/fixtures/0120/tokens.txt similarity index 100% rename from tests/0120/tokens.txt rename to tests/fixtures/0120/tokens.txt diff --git a/tests/0121/code.php b/tests/fixtures/0121/code.php similarity index 100% rename from tests/0121/code.php rename to tests/fixtures/0121/code.php diff --git a/tests/0121/parser-error.txt b/tests/fixtures/0121/parser-error.txt similarity index 100% rename from tests/0121/parser-error.txt rename to tests/fixtures/0121/parser-error.txt diff --git a/tests/0121/tokens.txt b/tests/fixtures/0121/tokens.txt similarity index 100% rename from tests/0121/tokens.txt rename to tests/fixtures/0121/tokens.txt diff --git a/tests/0122/code.php b/tests/fixtures/0122/code.php similarity index 100% rename from tests/0122/code.php rename to tests/fixtures/0122/code.php diff --git a/tests/0122/parser-error.txt b/tests/fixtures/0122/parser-error.txt similarity index 100% rename from tests/0122/parser-error.txt rename to tests/fixtures/0122/parser-error.txt diff --git a/tests/0122/tokens.txt b/tests/fixtures/0122/tokens.txt similarity index 100% rename from tests/0122/tokens.txt rename to tests/fixtures/0122/tokens.txt diff --git a/tests/0123/code.php b/tests/fixtures/0123/code.php similarity index 100% rename from tests/0123/code.php rename to tests/fixtures/0123/code.php diff --git a/tests/0123/parser-error.txt b/tests/fixtures/0123/parser-error.txt similarity index 100% rename from tests/0123/parser-error.txt rename to tests/fixtures/0123/parser-error.txt diff --git a/tests/0123/tokens.txt b/tests/fixtures/0123/tokens.txt similarity index 100% rename from tests/0123/tokens.txt rename to tests/fixtures/0123/tokens.txt diff --git a/tests/0124/code.php b/tests/fixtures/0124/code.php similarity index 100% rename from tests/0124/code.php rename to tests/fixtures/0124/code.php diff --git a/tests/0124/parser-error.txt b/tests/fixtures/0124/parser-error.txt similarity index 100% rename from tests/0124/parser-error.txt rename to tests/fixtures/0124/parser-error.txt diff --git a/tests/0124/tokens.txt b/tests/fixtures/0124/tokens.txt similarity index 100% rename from tests/0124/tokens.txt rename to tests/fixtures/0124/tokens.txt diff --git a/tests/0125/code.php b/tests/fixtures/0125/code.php similarity index 100% rename from tests/0125/code.php rename to tests/fixtures/0125/code.php diff --git a/tests/0125/parser-error.txt b/tests/fixtures/0125/parser-error.txt similarity index 100% rename from tests/0125/parser-error.txt rename to tests/fixtures/0125/parser-error.txt diff --git a/tests/0125/tokens.txt b/tests/fixtures/0125/tokens.txt similarity index 100% rename from tests/0125/tokens.txt rename to tests/fixtures/0125/tokens.txt diff --git a/tests/0126/code.php b/tests/fixtures/0126/code.php similarity index 100% rename from tests/0126/code.php rename to tests/fixtures/0126/code.php diff --git a/tests/0126/parser-error.txt b/tests/fixtures/0126/parser-error.txt similarity index 100% rename from tests/0126/parser-error.txt rename to tests/fixtures/0126/parser-error.txt diff --git a/tests/0126/tokens.txt b/tests/fixtures/0126/tokens.txt similarity index 100% rename from tests/0126/tokens.txt rename to tests/fixtures/0126/tokens.txt diff --git a/tests/0127/ast.txt b/tests/fixtures/0127/ast.txt similarity index 100% rename from tests/0127/ast.txt rename to tests/fixtures/0127/ast.txt diff --git a/tests/0127/code.php b/tests/fixtures/0127/code.php similarity index 100% rename from tests/0127/code.php rename to tests/fixtures/0127/code.php diff --git a/tests/0127/tokens.txt b/tests/fixtures/0127/tokens.txt similarity index 100% rename from tests/0127/tokens.txt rename to tests/fixtures/0127/tokens.txt diff --git a/tests/0128/code.php b/tests/fixtures/0128/code.php similarity index 100% rename from tests/0128/code.php rename to tests/fixtures/0128/code.php diff --git a/tests/0128/parser-error.txt b/tests/fixtures/0128/parser-error.txt similarity index 100% rename from tests/0128/parser-error.txt rename to tests/fixtures/0128/parser-error.txt diff --git a/tests/0128/tokens.txt b/tests/fixtures/0128/tokens.txt similarity index 100% rename from tests/0128/tokens.txt rename to tests/fixtures/0128/tokens.txt diff --git a/tests/0129/code.php b/tests/fixtures/0129/code.php similarity index 100% rename from tests/0129/code.php rename to tests/fixtures/0129/code.php diff --git a/tests/0129/parser-error.txt b/tests/fixtures/0129/parser-error.txt similarity index 100% rename from tests/0129/parser-error.txt rename to tests/fixtures/0129/parser-error.txt diff --git a/tests/0129/tokens.txt b/tests/fixtures/0129/tokens.txt similarity index 100% rename from tests/0129/tokens.txt rename to tests/fixtures/0129/tokens.txt diff --git a/tests/0130/ast.txt b/tests/fixtures/0130/ast.txt similarity index 100% rename from tests/0130/ast.txt rename to tests/fixtures/0130/ast.txt diff --git a/tests/0130/code.php b/tests/fixtures/0130/code.php similarity index 100% rename from tests/0130/code.php rename to tests/fixtures/0130/code.php diff --git a/tests/0130/tokens.txt b/tests/fixtures/0130/tokens.txt similarity index 100% rename from tests/0130/tokens.txt rename to tests/fixtures/0130/tokens.txt diff --git a/tests/0131/code.php b/tests/fixtures/0131/code.php similarity index 100% rename from tests/0131/code.php rename to tests/fixtures/0131/code.php diff --git a/tests/0131/parser-error.txt b/tests/fixtures/0131/parser-error.txt similarity index 100% rename from tests/0131/parser-error.txt rename to tests/fixtures/0131/parser-error.txt diff --git a/tests/0131/tokens.txt b/tests/fixtures/0131/tokens.txt similarity index 100% rename from tests/0131/tokens.txt rename to tests/fixtures/0131/tokens.txt diff --git a/tests/0132/code.php b/tests/fixtures/0132/code.php similarity index 100% rename from tests/0132/code.php rename to tests/fixtures/0132/code.php diff --git a/tests/0132/parser-error.txt b/tests/fixtures/0132/parser-error.txt similarity index 100% rename from tests/0132/parser-error.txt rename to tests/fixtures/0132/parser-error.txt diff --git a/tests/0132/tokens.txt b/tests/fixtures/0132/tokens.txt similarity index 100% rename from tests/0132/tokens.txt rename to tests/fixtures/0132/tokens.txt diff --git a/tests/0133/code.php b/tests/fixtures/0133/code.php similarity index 100% rename from tests/0133/code.php rename to tests/fixtures/0133/code.php diff --git a/tests/0133/lexer-error.txt b/tests/fixtures/0133/lexer-error.txt similarity index 100% rename from tests/0133/lexer-error.txt rename to tests/fixtures/0133/lexer-error.txt diff --git a/tests/0134/code.php b/tests/fixtures/0134/code.php similarity index 100% rename from tests/0134/code.php rename to tests/fixtures/0134/code.php diff --git a/tests/0134/lexer-error.txt b/tests/fixtures/0134/lexer-error.txt similarity index 100% rename from tests/0134/lexer-error.txt rename to tests/fixtures/0134/lexer-error.txt diff --git a/tests/0135/code.php b/tests/fixtures/0135/code.php similarity index 100% rename from tests/0135/code.php rename to tests/fixtures/0135/code.php diff --git a/tests/0135/lexer-error.txt b/tests/fixtures/0135/lexer-error.txt similarity index 100% rename from tests/0135/lexer-error.txt rename to tests/fixtures/0135/lexer-error.txt diff --git a/tests/0136/code.php b/tests/fixtures/0136/code.php similarity index 100% rename from tests/0136/code.php rename to tests/fixtures/0136/code.php diff --git a/tests/0136/lexer-error.txt b/tests/fixtures/0136/lexer-error.txt similarity index 100% rename from tests/0136/lexer-error.txt rename to tests/fixtures/0136/lexer-error.txt diff --git a/tests/0137/code.php b/tests/fixtures/0137/code.php similarity index 100% rename from tests/0137/code.php rename to tests/fixtures/0137/code.php diff --git a/tests/0137/lexer-error.txt b/tests/fixtures/0137/lexer-error.txt similarity index 100% rename from tests/0137/lexer-error.txt rename to tests/fixtures/0137/lexer-error.txt diff --git a/tests/0138/code.php b/tests/fixtures/0138/code.php similarity index 100% rename from tests/0138/code.php rename to tests/fixtures/0138/code.php diff --git a/tests/0138/lexer-error.txt b/tests/fixtures/0138/lexer-error.txt similarity index 100% rename from tests/0138/lexer-error.txt rename to tests/fixtures/0138/lexer-error.txt diff --git a/tests/0139/code.php b/tests/fixtures/0139/code.php similarity index 100% rename from tests/0139/code.php rename to tests/fixtures/0139/code.php diff --git a/tests/0139/lexer-error.txt b/tests/fixtures/0139/lexer-error.txt similarity index 100% rename from tests/0139/lexer-error.txt rename to tests/fixtures/0139/lexer-error.txt diff --git a/tests/0140/code.php b/tests/fixtures/0140/code.php similarity index 100% rename from tests/0140/code.php rename to tests/fixtures/0140/code.php diff --git a/tests/0140/lexer-error.txt b/tests/fixtures/0140/lexer-error.txt similarity index 100% rename from tests/0140/lexer-error.txt rename to tests/fixtures/0140/lexer-error.txt diff --git a/tests/0141/code.php b/tests/fixtures/0141/code.php similarity index 100% rename from tests/0141/code.php rename to tests/fixtures/0141/code.php diff --git a/tests/0141/parser-error.txt b/tests/fixtures/0141/parser-error.txt similarity index 100% rename from tests/0141/parser-error.txt rename to tests/fixtures/0141/parser-error.txt diff --git a/tests/0141/tokens.txt b/tests/fixtures/0141/tokens.txt similarity index 100% rename from tests/0141/tokens.txt rename to tests/fixtures/0141/tokens.txt diff --git a/tests/0142/code.php b/tests/fixtures/0142/code.php similarity index 100% rename from tests/0142/code.php rename to tests/fixtures/0142/code.php diff --git a/tests/0142/parser-error.txt b/tests/fixtures/0142/parser-error.txt similarity index 100% rename from tests/0142/parser-error.txt rename to tests/fixtures/0142/parser-error.txt diff --git a/tests/0142/tokens.txt b/tests/fixtures/0142/tokens.txt similarity index 100% rename from tests/0142/tokens.txt rename to tests/fixtures/0142/tokens.txt diff --git a/tests/0143/ast.txt b/tests/fixtures/0143/ast.txt similarity index 100% rename from tests/0143/ast.txt rename to tests/fixtures/0143/ast.txt diff --git a/tests/0143/code.php b/tests/fixtures/0143/code.php similarity index 100% rename from tests/0143/code.php rename to tests/fixtures/0143/code.php diff --git a/tests/0143/tokens.txt b/tests/fixtures/0143/tokens.txt similarity index 100% rename from tests/0143/tokens.txt rename to tests/fixtures/0143/tokens.txt diff --git a/tests/0144/code.php b/tests/fixtures/0144/code.php similarity index 100% rename from tests/0144/code.php rename to tests/fixtures/0144/code.php diff --git a/tests/0144/parser-error.txt b/tests/fixtures/0144/parser-error.txt similarity index 100% rename from tests/0144/parser-error.txt rename to tests/fixtures/0144/parser-error.txt diff --git a/tests/0144/tokens.txt b/tests/fixtures/0144/tokens.txt similarity index 100% rename from tests/0144/tokens.txt rename to tests/fixtures/0144/tokens.txt diff --git a/tests/0145/ast.txt b/tests/fixtures/0145/ast.txt similarity index 100% rename from tests/0145/ast.txt rename to tests/fixtures/0145/ast.txt diff --git a/tests/0145/code.php b/tests/fixtures/0145/code.php similarity index 100% rename from tests/0145/code.php rename to tests/fixtures/0145/code.php diff --git a/tests/0145/tokens.txt b/tests/fixtures/0145/tokens.txt similarity index 100% rename from tests/0145/tokens.txt rename to tests/fixtures/0145/tokens.txt diff --git a/tests/0146/code.php b/tests/fixtures/0146/code.php similarity index 100% rename from tests/0146/code.php rename to tests/fixtures/0146/code.php diff --git a/tests/0146/parser-error.txt b/tests/fixtures/0146/parser-error.txt similarity index 100% rename from tests/0146/parser-error.txt rename to tests/fixtures/0146/parser-error.txt diff --git a/tests/0146/tokens.txt b/tests/fixtures/0146/tokens.txt similarity index 100% rename from tests/0146/tokens.txt rename to tests/fixtures/0146/tokens.txt diff --git a/tests/0147/code.php b/tests/fixtures/0147/code.php similarity index 100% rename from tests/0147/code.php rename to tests/fixtures/0147/code.php diff --git a/tests/0147/parser-error.txt b/tests/fixtures/0147/parser-error.txt similarity index 100% rename from tests/0147/parser-error.txt rename to tests/fixtures/0147/parser-error.txt diff --git a/tests/0147/tokens.txt b/tests/fixtures/0147/tokens.txt similarity index 100% rename from tests/0147/tokens.txt rename to tests/fixtures/0147/tokens.txt diff --git a/tests/0148/code.php b/tests/fixtures/0148/code.php similarity index 100% rename from tests/0148/code.php rename to tests/fixtures/0148/code.php diff --git a/tests/0148/parser-error.txt b/tests/fixtures/0148/parser-error.txt similarity index 100% rename from tests/0148/parser-error.txt rename to tests/fixtures/0148/parser-error.txt diff --git a/tests/0148/tokens.txt b/tests/fixtures/0148/tokens.txt similarity index 100% rename from tests/0148/tokens.txt rename to tests/fixtures/0148/tokens.txt diff --git a/tests/0149/code.php b/tests/fixtures/0149/code.php similarity index 100% rename from tests/0149/code.php rename to tests/fixtures/0149/code.php diff --git a/tests/0149/parser-error.txt b/tests/fixtures/0149/parser-error.txt similarity index 100% rename from tests/0149/parser-error.txt rename to tests/fixtures/0149/parser-error.txt diff --git a/tests/0149/tokens.txt b/tests/fixtures/0149/tokens.txt similarity index 100% rename from tests/0149/tokens.txt rename to tests/fixtures/0149/tokens.txt diff --git a/tests/0150/code.php b/tests/fixtures/0150/code.php similarity index 100% rename from tests/0150/code.php rename to tests/fixtures/0150/code.php diff --git a/tests/0150/parser-error.txt b/tests/fixtures/0150/parser-error.txt similarity index 100% rename from tests/0150/parser-error.txt rename to tests/fixtures/0150/parser-error.txt diff --git a/tests/0150/tokens.txt b/tests/fixtures/0150/tokens.txt similarity index 100% rename from tests/0150/tokens.txt rename to tests/fixtures/0150/tokens.txt diff --git a/tests/0151/code.php b/tests/fixtures/0151/code.php similarity index 100% rename from tests/0151/code.php rename to tests/fixtures/0151/code.php diff --git a/tests/0151/parser-error.txt b/tests/fixtures/0151/parser-error.txt similarity index 100% rename from tests/0151/parser-error.txt rename to tests/fixtures/0151/parser-error.txt diff --git a/tests/0151/tokens.txt b/tests/fixtures/0151/tokens.txt similarity index 100% rename from tests/0151/tokens.txt rename to tests/fixtures/0151/tokens.txt diff --git a/tests/0152/code.php b/tests/fixtures/0152/code.php similarity index 100% rename from tests/0152/code.php rename to tests/fixtures/0152/code.php diff --git a/tests/0152/parser-error.txt b/tests/fixtures/0152/parser-error.txt similarity index 100% rename from tests/0152/parser-error.txt rename to tests/fixtures/0152/parser-error.txt diff --git a/tests/0152/tokens.txt b/tests/fixtures/0152/tokens.txt similarity index 100% rename from tests/0152/tokens.txt rename to tests/fixtures/0152/tokens.txt diff --git a/tests/0153/ast.txt b/tests/fixtures/0153/ast.txt similarity index 100% rename from tests/0153/ast.txt rename to tests/fixtures/0153/ast.txt diff --git a/tests/0153/code.php b/tests/fixtures/0153/code.php similarity index 100% rename from tests/0153/code.php rename to tests/fixtures/0153/code.php diff --git a/tests/0153/tokens.txt b/tests/fixtures/0153/tokens.txt similarity index 100% rename from tests/0153/tokens.txt rename to tests/fixtures/0153/tokens.txt diff --git a/tests/0154/code.php b/tests/fixtures/0154/code.php similarity index 100% rename from tests/0154/code.php rename to tests/fixtures/0154/code.php diff --git a/tests/0154/parser-error.txt b/tests/fixtures/0154/parser-error.txt similarity index 100% rename from tests/0154/parser-error.txt rename to tests/fixtures/0154/parser-error.txt diff --git a/tests/0154/tokens.txt b/tests/fixtures/0154/tokens.txt similarity index 100% rename from tests/0154/tokens.txt rename to tests/fixtures/0154/tokens.txt diff --git a/tests/0155/ast.txt b/tests/fixtures/0155/ast.txt similarity index 100% rename from tests/0155/ast.txt rename to tests/fixtures/0155/ast.txt diff --git a/tests/0155/code.php b/tests/fixtures/0155/code.php similarity index 100% rename from tests/0155/code.php rename to tests/fixtures/0155/code.php diff --git a/tests/0155/tokens.txt b/tests/fixtures/0155/tokens.txt similarity index 100% rename from tests/0155/tokens.txt rename to tests/fixtures/0155/tokens.txt diff --git a/tests/0156/code.php b/tests/fixtures/0156/code.php similarity index 100% rename from tests/0156/code.php rename to tests/fixtures/0156/code.php diff --git a/tests/0156/parser-error.txt b/tests/fixtures/0156/parser-error.txt similarity index 100% rename from tests/0156/parser-error.txt rename to tests/fixtures/0156/parser-error.txt diff --git a/tests/0156/tokens.txt b/tests/fixtures/0156/tokens.txt similarity index 100% rename from tests/0156/tokens.txt rename to tests/fixtures/0156/tokens.txt diff --git a/tests/0157/ast.txt b/tests/fixtures/0157/ast.txt similarity index 100% rename from tests/0157/ast.txt rename to tests/fixtures/0157/ast.txt diff --git a/tests/0157/code.php b/tests/fixtures/0157/code.php similarity index 100% rename from tests/0157/code.php rename to tests/fixtures/0157/code.php diff --git a/tests/0157/tokens.txt b/tests/fixtures/0157/tokens.txt similarity index 100% rename from tests/0157/tokens.txt rename to tests/fixtures/0157/tokens.txt diff --git a/tests/0158/ast.txt b/tests/fixtures/0158/ast.txt similarity index 100% rename from tests/0158/ast.txt rename to tests/fixtures/0158/ast.txt diff --git a/tests/0158/code.php b/tests/fixtures/0158/code.php similarity index 100% rename from tests/0158/code.php rename to tests/fixtures/0158/code.php diff --git a/tests/0158/tokens.txt b/tests/fixtures/0158/tokens.txt similarity index 100% rename from tests/0158/tokens.txt rename to tests/fixtures/0158/tokens.txt diff --git a/tests/0159/code.php b/tests/fixtures/0159/code.php similarity index 100% rename from tests/0159/code.php rename to tests/fixtures/0159/code.php diff --git a/tests/0159/parser-error.txt b/tests/fixtures/0159/parser-error.txt similarity index 100% rename from tests/0159/parser-error.txt rename to tests/fixtures/0159/parser-error.txt diff --git a/tests/0159/tokens.txt b/tests/fixtures/0159/tokens.txt similarity index 100% rename from tests/0159/tokens.txt rename to tests/fixtures/0159/tokens.txt diff --git a/tests/0160/code.php b/tests/fixtures/0160/code.php similarity index 100% rename from tests/0160/code.php rename to tests/fixtures/0160/code.php diff --git a/tests/0160/parser-error.txt b/tests/fixtures/0160/parser-error.txt similarity index 100% rename from tests/0160/parser-error.txt rename to tests/fixtures/0160/parser-error.txt diff --git a/tests/0160/tokens.txt b/tests/fixtures/0160/tokens.txt similarity index 100% rename from tests/0160/tokens.txt rename to tests/fixtures/0160/tokens.txt diff --git a/tests/0161/code.php b/tests/fixtures/0161/code.php similarity index 100% rename from tests/0161/code.php rename to tests/fixtures/0161/code.php diff --git a/tests/0161/parser-error.txt b/tests/fixtures/0161/parser-error.txt similarity index 100% rename from tests/0161/parser-error.txt rename to tests/fixtures/0161/parser-error.txt diff --git a/tests/0161/tokens.txt b/tests/fixtures/0161/tokens.txt similarity index 100% rename from tests/0161/tokens.txt rename to tests/fixtures/0161/tokens.txt diff --git a/tests/0162/code.php b/tests/fixtures/0162/code.php similarity index 100% rename from tests/0162/code.php rename to tests/fixtures/0162/code.php diff --git a/tests/0162/parser-error.txt b/tests/fixtures/0162/parser-error.txt similarity index 100% rename from tests/0162/parser-error.txt rename to tests/fixtures/0162/parser-error.txt diff --git a/tests/0162/tokens.txt b/tests/fixtures/0162/tokens.txt similarity index 100% rename from tests/0162/tokens.txt rename to tests/fixtures/0162/tokens.txt diff --git a/tests/0163/code.php b/tests/fixtures/0163/code.php similarity index 100% rename from tests/0163/code.php rename to tests/fixtures/0163/code.php diff --git a/tests/0163/parser-error.txt b/tests/fixtures/0163/parser-error.txt similarity index 100% rename from tests/0163/parser-error.txt rename to tests/fixtures/0163/parser-error.txt diff --git a/tests/0163/tokens.txt b/tests/fixtures/0163/tokens.txt similarity index 100% rename from tests/0163/tokens.txt rename to tests/fixtures/0163/tokens.txt diff --git a/tests/0164/ast.txt b/tests/fixtures/0164/ast.txt similarity index 100% rename from tests/0164/ast.txt rename to tests/fixtures/0164/ast.txt diff --git a/tests/0164/code.php b/tests/fixtures/0164/code.php similarity index 100% rename from tests/0164/code.php rename to tests/fixtures/0164/code.php diff --git a/tests/0164/tokens.txt b/tests/fixtures/0164/tokens.txt similarity index 100% rename from tests/0164/tokens.txt rename to tests/fixtures/0164/tokens.txt diff --git a/tests/0165/0166/code.php b/tests/fixtures/0165/0166/code.php similarity index 100% rename from tests/0165/0166/code.php rename to tests/fixtures/0165/0166/code.php diff --git a/tests/0165/0166/parser-error.txt b/tests/fixtures/0165/0166/parser-error.txt similarity index 100% rename from tests/0165/0166/parser-error.txt rename to tests/fixtures/0165/0166/parser-error.txt diff --git a/tests/0165/0166/tokens.txt b/tests/fixtures/0165/0166/tokens.txt similarity index 100% rename from tests/0165/0166/tokens.txt rename to tests/fixtures/0165/0166/tokens.txt diff --git a/tests/0165/0167/code.php b/tests/fixtures/0165/0167/code.php similarity index 100% rename from tests/0165/0167/code.php rename to tests/fixtures/0165/0167/code.php diff --git a/tests/0165/0167/parser-error.txt b/tests/fixtures/0165/0167/parser-error.txt similarity index 100% rename from tests/0165/0167/parser-error.txt rename to tests/fixtures/0165/0167/parser-error.txt diff --git a/tests/0165/0167/tokens.txt b/tests/fixtures/0165/0167/tokens.txt similarity index 100% rename from tests/0165/0167/tokens.txt rename to tests/fixtures/0165/0167/tokens.txt diff --git a/tests/0165/0168/code.php b/tests/fixtures/0165/0168/code.php similarity index 100% rename from tests/0165/0168/code.php rename to tests/fixtures/0165/0168/code.php diff --git a/tests/0165/0168/parser-error.txt b/tests/fixtures/0165/0168/parser-error.txt similarity index 100% rename from tests/0165/0168/parser-error.txt rename to tests/fixtures/0165/0168/parser-error.txt diff --git a/tests/0165/0168/tokens.txt b/tests/fixtures/0165/0168/tokens.txt similarity index 100% rename from tests/0165/0168/tokens.txt rename to tests/fixtures/0165/0168/tokens.txt diff --git a/tests/0165/code.php b/tests/fixtures/0165/code.php similarity index 100% rename from tests/0165/code.php rename to tests/fixtures/0165/code.php diff --git a/tests/0165/parser-error.txt b/tests/fixtures/0165/parser-error.txt similarity index 100% rename from tests/0165/parser-error.txt rename to tests/fixtures/0165/parser-error.txt diff --git a/tests/0165/tokens.txt b/tests/fixtures/0165/tokens.txt similarity index 100% rename from tests/0165/tokens.txt rename to tests/fixtures/0165/tokens.txt diff --git a/tests/0166/code.php b/tests/fixtures/0166/code.php similarity index 100% rename from tests/0166/code.php rename to tests/fixtures/0166/code.php diff --git a/tests/0166/parser-error.txt b/tests/fixtures/0166/parser-error.txt similarity index 100% rename from tests/0166/parser-error.txt rename to tests/fixtures/0166/parser-error.txt diff --git a/tests/0166/tokens.txt b/tests/fixtures/0166/tokens.txt similarity index 100% rename from tests/0166/tokens.txt rename to tests/fixtures/0166/tokens.txt diff --git a/tests/0167/code.php b/tests/fixtures/0167/code.php similarity index 100% rename from tests/0167/code.php rename to tests/fixtures/0167/code.php diff --git a/tests/0167/parser-error.txt b/tests/fixtures/0167/parser-error.txt similarity index 100% rename from tests/0167/parser-error.txt rename to tests/fixtures/0167/parser-error.txt diff --git a/tests/0167/tokens.txt b/tests/fixtures/0167/tokens.txt similarity index 100% rename from tests/0167/tokens.txt rename to tests/fixtures/0167/tokens.txt diff --git a/tests/0168/code.php b/tests/fixtures/0168/code.php similarity index 100% rename from tests/0168/code.php rename to tests/fixtures/0168/code.php diff --git a/tests/0168/parser-error.txt b/tests/fixtures/0168/parser-error.txt similarity index 100% rename from tests/0168/parser-error.txt rename to tests/fixtures/0168/parser-error.txt diff --git a/tests/0168/tokens.txt b/tests/fixtures/0168/tokens.txt similarity index 100% rename from tests/0168/tokens.txt rename to tests/fixtures/0168/tokens.txt diff --git a/tests/0169/code.php b/tests/fixtures/0169/code.php similarity index 100% rename from tests/0169/code.php rename to tests/fixtures/0169/code.php diff --git a/tests/0169/parser-error.txt b/tests/fixtures/0169/parser-error.txt similarity index 100% rename from tests/0169/parser-error.txt rename to tests/fixtures/0169/parser-error.txt diff --git a/tests/0169/tokens.txt b/tests/fixtures/0169/tokens.txt similarity index 100% rename from tests/0169/tokens.txt rename to tests/fixtures/0169/tokens.txt diff --git a/tests/0170/code.php b/tests/fixtures/0170/code.php similarity index 100% rename from tests/0170/code.php rename to tests/fixtures/0170/code.php diff --git a/tests/0170/parser-error.txt b/tests/fixtures/0170/parser-error.txt similarity index 100% rename from tests/0170/parser-error.txt rename to tests/fixtures/0170/parser-error.txt diff --git a/tests/0170/tokens.txt b/tests/fixtures/0170/tokens.txt similarity index 100% rename from tests/0170/tokens.txt rename to tests/fixtures/0170/tokens.txt diff --git a/tests/0171/code.php b/tests/fixtures/0171/code.php similarity index 100% rename from tests/0171/code.php rename to tests/fixtures/0171/code.php diff --git a/tests/0171/parser-error.txt b/tests/fixtures/0171/parser-error.txt similarity index 100% rename from tests/0171/parser-error.txt rename to tests/fixtures/0171/parser-error.txt diff --git a/tests/0171/tokens.txt b/tests/fixtures/0171/tokens.txt similarity index 100% rename from tests/0171/tokens.txt rename to tests/fixtures/0171/tokens.txt diff --git a/tests/0172/code.php b/tests/fixtures/0172/code.php similarity index 100% rename from tests/0172/code.php rename to tests/fixtures/0172/code.php diff --git a/tests/0172/parser-error.txt b/tests/fixtures/0172/parser-error.txt similarity index 100% rename from tests/0172/parser-error.txt rename to tests/fixtures/0172/parser-error.txt diff --git a/tests/0172/tokens.txt b/tests/fixtures/0172/tokens.txt similarity index 100% rename from tests/0172/tokens.txt rename to tests/fixtures/0172/tokens.txt diff --git a/tests/0173/code.php b/tests/fixtures/0173/code.php similarity index 100% rename from tests/0173/code.php rename to tests/fixtures/0173/code.php diff --git a/tests/0173/parser-error.txt b/tests/fixtures/0173/parser-error.txt similarity index 100% rename from tests/0173/parser-error.txt rename to tests/fixtures/0173/parser-error.txt diff --git a/tests/0173/tokens.txt b/tests/fixtures/0173/tokens.txt similarity index 100% rename from tests/0173/tokens.txt rename to tests/fixtures/0173/tokens.txt diff --git a/tests/0174/code.php b/tests/fixtures/0174/code.php similarity index 100% rename from tests/0174/code.php rename to tests/fixtures/0174/code.php diff --git a/tests/0174/parser-error.txt b/tests/fixtures/0174/parser-error.txt similarity index 100% rename from tests/0174/parser-error.txt rename to tests/fixtures/0174/parser-error.txt diff --git a/tests/0174/tokens.txt b/tests/fixtures/0174/tokens.txt similarity index 100% rename from tests/0174/tokens.txt rename to tests/fixtures/0174/tokens.txt diff --git a/tests/0175/code.php b/tests/fixtures/0175/code.php similarity index 100% rename from tests/0175/code.php rename to tests/fixtures/0175/code.php diff --git a/tests/0175/parser-error.txt b/tests/fixtures/0175/parser-error.txt similarity index 100% rename from tests/0175/parser-error.txt rename to tests/fixtures/0175/parser-error.txt diff --git a/tests/0175/tokens.txt b/tests/fixtures/0175/tokens.txt similarity index 100% rename from tests/0175/tokens.txt rename to tests/fixtures/0175/tokens.txt diff --git a/tests/0176/ast.txt b/tests/fixtures/0176/ast.txt similarity index 100% rename from tests/0176/ast.txt rename to tests/fixtures/0176/ast.txt diff --git a/tests/0176/code.php b/tests/fixtures/0176/code.php similarity index 100% rename from tests/0176/code.php rename to tests/fixtures/0176/code.php diff --git a/tests/0176/tokens.txt b/tests/fixtures/0176/tokens.txt similarity index 100% rename from tests/0176/tokens.txt rename to tests/fixtures/0176/tokens.txt diff --git a/tests/0177/ast.txt b/tests/fixtures/0177/ast.txt similarity index 100% rename from tests/0177/ast.txt rename to tests/fixtures/0177/ast.txt diff --git a/tests/0177/code.php b/tests/fixtures/0177/code.php similarity index 100% rename from tests/0177/code.php rename to tests/fixtures/0177/code.php diff --git a/tests/0177/tokens.txt b/tests/fixtures/0177/tokens.txt similarity index 100% rename from tests/0177/tokens.txt rename to tests/fixtures/0177/tokens.txt diff --git a/tests/0178/ast.txt b/tests/fixtures/0178/ast.txt similarity index 100% rename from tests/0178/ast.txt rename to tests/fixtures/0178/ast.txt diff --git a/tests/0178/code.php b/tests/fixtures/0178/code.php similarity index 100% rename from tests/0178/code.php rename to tests/fixtures/0178/code.php diff --git a/tests/0178/tokens.txt b/tests/fixtures/0178/tokens.txt similarity index 100% rename from tests/0178/tokens.txt rename to tests/fixtures/0178/tokens.txt diff --git a/tests/0179/code.php b/tests/fixtures/0179/code.php similarity index 100% rename from tests/0179/code.php rename to tests/fixtures/0179/code.php diff --git a/tests/0179/parser-error.txt b/tests/fixtures/0179/parser-error.txt similarity index 100% rename from tests/0179/parser-error.txt rename to tests/fixtures/0179/parser-error.txt diff --git a/tests/0179/tokens.txt b/tests/fixtures/0179/tokens.txt similarity index 100% rename from tests/0179/tokens.txt rename to tests/fixtures/0179/tokens.txt diff --git a/tests/0180/code.php b/tests/fixtures/0180/code.php similarity index 100% rename from tests/0180/code.php rename to tests/fixtures/0180/code.php diff --git a/tests/0180/parser-error.txt b/tests/fixtures/0180/parser-error.txt similarity index 100% rename from tests/0180/parser-error.txt rename to tests/fixtures/0180/parser-error.txt diff --git a/tests/0180/tokens.txt b/tests/fixtures/0180/tokens.txt similarity index 100% rename from tests/0180/tokens.txt rename to tests/fixtures/0180/tokens.txt diff --git a/tests/0181/code.php b/tests/fixtures/0181/code.php similarity index 100% rename from tests/0181/code.php rename to tests/fixtures/0181/code.php diff --git a/tests/0181/parser-error.txt b/tests/fixtures/0181/parser-error.txt similarity index 100% rename from tests/0181/parser-error.txt rename to tests/fixtures/0181/parser-error.txt diff --git a/tests/0181/tokens.txt b/tests/fixtures/0181/tokens.txt similarity index 100% rename from tests/0181/tokens.txt rename to tests/fixtures/0181/tokens.txt diff --git a/tests/0182/ast.txt b/tests/fixtures/0182/ast.txt similarity index 100% rename from tests/0182/ast.txt rename to tests/fixtures/0182/ast.txt diff --git a/tests/0182/code.php b/tests/fixtures/0182/code.php similarity index 100% rename from tests/0182/code.php rename to tests/fixtures/0182/code.php diff --git a/tests/0182/tokens.txt b/tests/fixtures/0182/tokens.txt similarity index 100% rename from tests/0182/tokens.txt rename to tests/fixtures/0182/tokens.txt diff --git a/tests/0183/ast.txt b/tests/fixtures/0183/ast.txt similarity index 100% rename from tests/0183/ast.txt rename to tests/fixtures/0183/ast.txt diff --git a/tests/0183/code.php b/tests/fixtures/0183/code.php similarity index 100% rename from tests/0183/code.php rename to tests/fixtures/0183/code.php diff --git a/tests/0183/tokens.txt b/tests/fixtures/0183/tokens.txt similarity index 100% rename from tests/0183/tokens.txt rename to tests/fixtures/0183/tokens.txt diff --git a/tests/0184/ast.txt b/tests/fixtures/0184/ast.txt similarity index 100% rename from tests/0184/ast.txt rename to tests/fixtures/0184/ast.txt diff --git a/tests/0184/code.php b/tests/fixtures/0184/code.php similarity index 100% rename from tests/0184/code.php rename to tests/fixtures/0184/code.php diff --git a/tests/0184/tokens.txt b/tests/fixtures/0184/tokens.txt similarity index 100% rename from tests/0184/tokens.txt rename to tests/fixtures/0184/tokens.txt diff --git a/tests/0185/ast.txt b/tests/fixtures/0185/ast.txt similarity index 100% rename from tests/0185/ast.txt rename to tests/fixtures/0185/ast.txt diff --git a/tests/0185/code.php b/tests/fixtures/0185/code.php similarity index 100% rename from tests/0185/code.php rename to tests/fixtures/0185/code.php diff --git a/tests/0185/tokens.txt b/tests/fixtures/0185/tokens.txt similarity index 100% rename from tests/0185/tokens.txt rename to tests/fixtures/0185/tokens.txt diff --git a/tests/0186/code.php b/tests/fixtures/0186/code.php similarity index 100% rename from tests/0186/code.php rename to tests/fixtures/0186/code.php diff --git a/tests/0186/parser-error.txt b/tests/fixtures/0186/parser-error.txt similarity index 100% rename from tests/0186/parser-error.txt rename to tests/fixtures/0186/parser-error.txt diff --git a/tests/0186/tokens.txt b/tests/fixtures/0186/tokens.txt similarity index 100% rename from tests/0186/tokens.txt rename to tests/fixtures/0186/tokens.txt diff --git a/tests/0187/ast.txt b/tests/fixtures/0187/ast.txt similarity index 100% rename from tests/0187/ast.txt rename to tests/fixtures/0187/ast.txt diff --git a/tests/0187/code.php b/tests/fixtures/0187/code.php similarity index 100% rename from tests/0187/code.php rename to tests/fixtures/0187/code.php diff --git a/tests/0187/tokens.txt b/tests/fixtures/0187/tokens.txt similarity index 100% rename from tests/0187/tokens.txt rename to tests/fixtures/0187/tokens.txt diff --git a/tests/0188/code.php b/tests/fixtures/0188/code.php similarity index 100% rename from tests/0188/code.php rename to tests/fixtures/0188/code.php diff --git a/tests/0188/parser-error.txt b/tests/fixtures/0188/parser-error.txt similarity index 100% rename from tests/0188/parser-error.txt rename to tests/fixtures/0188/parser-error.txt diff --git a/tests/0188/tokens.txt b/tests/fixtures/0188/tokens.txt similarity index 100% rename from tests/0188/tokens.txt rename to tests/fixtures/0188/tokens.txt diff --git a/tests/0189/ast.txt b/tests/fixtures/0189/ast.txt similarity index 100% rename from tests/0189/ast.txt rename to tests/fixtures/0189/ast.txt diff --git a/tests/0189/code.php b/tests/fixtures/0189/code.php similarity index 100% rename from tests/0189/code.php rename to tests/fixtures/0189/code.php diff --git a/tests/0189/tokens.txt b/tests/fixtures/0189/tokens.txt similarity index 100% rename from tests/0189/tokens.txt rename to tests/fixtures/0189/tokens.txt diff --git a/tests/0190/ast.txt b/tests/fixtures/0190/ast.txt similarity index 100% rename from tests/0190/ast.txt rename to tests/fixtures/0190/ast.txt diff --git a/tests/0190/code.php b/tests/fixtures/0190/code.php similarity index 100% rename from tests/0190/code.php rename to tests/fixtures/0190/code.php diff --git a/tests/0190/tokens.txt b/tests/fixtures/0190/tokens.txt similarity index 100% rename from tests/0190/tokens.txt rename to tests/fixtures/0190/tokens.txt diff --git a/tests/0191/code.php b/tests/fixtures/0191/code.php similarity index 100% rename from tests/0191/code.php rename to tests/fixtures/0191/code.php diff --git a/tests/0191/parser-error.txt b/tests/fixtures/0191/parser-error.txt similarity index 100% rename from tests/0191/parser-error.txt rename to tests/fixtures/0191/parser-error.txt diff --git a/tests/0191/tokens.txt b/tests/fixtures/0191/tokens.txt similarity index 100% rename from tests/0191/tokens.txt rename to tests/fixtures/0191/tokens.txt diff --git a/tests/0192/code.php b/tests/fixtures/0192/code.php similarity index 100% rename from tests/0192/code.php rename to tests/fixtures/0192/code.php diff --git a/tests/0192/parser-error.txt b/tests/fixtures/0192/parser-error.txt similarity index 100% rename from tests/0192/parser-error.txt rename to tests/fixtures/0192/parser-error.txt diff --git a/tests/0192/tokens.txt b/tests/fixtures/0192/tokens.txt similarity index 100% rename from tests/0192/tokens.txt rename to tests/fixtures/0192/tokens.txt diff --git a/tests/0193/ast.txt b/tests/fixtures/0193/ast.txt similarity index 100% rename from tests/0193/ast.txt rename to tests/fixtures/0193/ast.txt diff --git a/tests/0193/code.php b/tests/fixtures/0193/code.php similarity index 100% rename from tests/0193/code.php rename to tests/fixtures/0193/code.php diff --git a/tests/0193/tokens.txt b/tests/fixtures/0193/tokens.txt similarity index 100% rename from tests/0193/tokens.txt rename to tests/fixtures/0193/tokens.txt diff --git a/tests/0194/ast.txt b/tests/fixtures/0194/ast.txt similarity index 100% rename from tests/0194/ast.txt rename to tests/fixtures/0194/ast.txt diff --git a/tests/0194/code.php b/tests/fixtures/0194/code.php similarity index 100% rename from tests/0194/code.php rename to tests/fixtures/0194/code.php diff --git a/tests/0194/tokens.txt b/tests/fixtures/0194/tokens.txt similarity index 100% rename from tests/0194/tokens.txt rename to tests/fixtures/0194/tokens.txt diff --git a/tests/0195/ast.txt b/tests/fixtures/0195/ast.txt similarity index 100% rename from tests/0195/ast.txt rename to tests/fixtures/0195/ast.txt diff --git a/tests/0195/code.php b/tests/fixtures/0195/code.php similarity index 100% rename from tests/0195/code.php rename to tests/fixtures/0195/code.php diff --git a/tests/0195/tokens.txt b/tests/fixtures/0195/tokens.txt similarity index 100% rename from tests/0195/tokens.txt rename to tests/fixtures/0195/tokens.txt diff --git a/tests/0196/ast.txt b/tests/fixtures/0196/ast.txt similarity index 100% rename from tests/0196/ast.txt rename to tests/fixtures/0196/ast.txt diff --git a/tests/0196/code.php b/tests/fixtures/0196/code.php similarity index 100% rename from tests/0196/code.php rename to tests/fixtures/0196/code.php diff --git a/tests/0196/tokens.txt b/tests/fixtures/0196/tokens.txt similarity index 100% rename from tests/0196/tokens.txt rename to tests/fixtures/0196/tokens.txt diff --git a/tests/0197/ast.txt b/tests/fixtures/0197/ast.txt similarity index 100% rename from tests/0197/ast.txt rename to tests/fixtures/0197/ast.txt diff --git a/tests/0197/code.php b/tests/fixtures/0197/code.php similarity index 100% rename from tests/0197/code.php rename to tests/fixtures/0197/code.php diff --git a/tests/0197/tokens.txt b/tests/fixtures/0197/tokens.txt similarity index 100% rename from tests/0197/tokens.txt rename to tests/fixtures/0197/tokens.txt diff --git a/tests/0198/code.php b/tests/fixtures/0198/code.php similarity index 100% rename from tests/0198/code.php rename to tests/fixtures/0198/code.php diff --git a/tests/0198/parser-error.txt b/tests/fixtures/0198/parser-error.txt similarity index 100% rename from tests/0198/parser-error.txt rename to tests/fixtures/0198/parser-error.txt diff --git a/tests/0198/tokens.txt b/tests/fixtures/0198/tokens.txt similarity index 100% rename from tests/0198/tokens.txt rename to tests/fixtures/0198/tokens.txt diff --git a/tests/0199/code.php b/tests/fixtures/0199/code.php similarity index 100% rename from tests/0199/code.php rename to tests/fixtures/0199/code.php diff --git a/tests/0199/parser-error.txt b/tests/fixtures/0199/parser-error.txt similarity index 100% rename from tests/0199/parser-error.txt rename to tests/fixtures/0199/parser-error.txt diff --git a/tests/0199/tokens.txt b/tests/fixtures/0199/tokens.txt similarity index 100% rename from tests/0199/tokens.txt rename to tests/fixtures/0199/tokens.txt diff --git a/tests/0200/code.php b/tests/fixtures/0200/code.php similarity index 100% rename from tests/0200/code.php rename to tests/fixtures/0200/code.php diff --git a/tests/0200/parser-error.txt b/tests/fixtures/0200/parser-error.txt similarity index 100% rename from tests/0200/parser-error.txt rename to tests/fixtures/0200/parser-error.txt diff --git a/tests/0200/tokens.txt b/tests/fixtures/0200/tokens.txt similarity index 100% rename from tests/0200/tokens.txt rename to tests/fixtures/0200/tokens.txt diff --git a/tests/0201/ast.txt b/tests/fixtures/0201/ast.txt similarity index 100% rename from tests/0201/ast.txt rename to tests/fixtures/0201/ast.txt diff --git a/tests/0201/code.php b/tests/fixtures/0201/code.php similarity index 100% rename from tests/0201/code.php rename to tests/fixtures/0201/code.php diff --git a/tests/0201/tokens.txt b/tests/fixtures/0201/tokens.txt similarity index 100% rename from tests/0201/tokens.txt rename to tests/fixtures/0201/tokens.txt diff --git a/tests/0202/code.php b/tests/fixtures/0202/code.php similarity index 100% rename from tests/0202/code.php rename to tests/fixtures/0202/code.php diff --git a/tests/0202/parser-error.txt b/tests/fixtures/0202/parser-error.txt similarity index 100% rename from tests/0202/parser-error.txt rename to tests/fixtures/0202/parser-error.txt diff --git a/tests/0202/tokens.txt b/tests/fixtures/0202/tokens.txt similarity index 100% rename from tests/0202/tokens.txt rename to tests/fixtures/0202/tokens.txt diff --git a/tests/0203/ast.txt b/tests/fixtures/0203/ast.txt similarity index 100% rename from tests/0203/ast.txt rename to tests/fixtures/0203/ast.txt diff --git a/tests/0203/code.php b/tests/fixtures/0203/code.php similarity index 100% rename from tests/0203/code.php rename to tests/fixtures/0203/code.php diff --git a/tests/0203/tokens.txt b/tests/fixtures/0203/tokens.txt similarity index 100% rename from tests/0203/tokens.txt rename to tests/fixtures/0203/tokens.txt diff --git a/tests/0204/ast.txt b/tests/fixtures/0204/ast.txt similarity index 100% rename from tests/0204/ast.txt rename to tests/fixtures/0204/ast.txt diff --git a/tests/0204/code.php b/tests/fixtures/0204/code.php similarity index 100% rename from tests/0204/code.php rename to tests/fixtures/0204/code.php diff --git a/tests/0204/tokens.txt b/tests/fixtures/0204/tokens.txt similarity index 100% rename from tests/0204/tokens.txt rename to tests/fixtures/0204/tokens.txt diff --git a/tests/0205/ast.txt b/tests/fixtures/0205/ast.txt similarity index 100% rename from tests/0205/ast.txt rename to tests/fixtures/0205/ast.txt diff --git a/tests/0205/code.php b/tests/fixtures/0205/code.php similarity index 100% rename from tests/0205/code.php rename to tests/fixtures/0205/code.php diff --git a/tests/0205/tokens.txt b/tests/fixtures/0205/tokens.txt similarity index 100% rename from tests/0205/tokens.txt rename to tests/fixtures/0205/tokens.txt diff --git a/tests/0206/code.php b/tests/fixtures/0206/code.php similarity index 100% rename from tests/0206/code.php rename to tests/fixtures/0206/code.php diff --git a/tests/0206/parser-error.txt b/tests/fixtures/0206/parser-error.txt similarity index 100% rename from tests/0206/parser-error.txt rename to tests/fixtures/0206/parser-error.txt diff --git a/tests/0206/tokens.txt b/tests/fixtures/0206/tokens.txt similarity index 100% rename from tests/0206/tokens.txt rename to tests/fixtures/0206/tokens.txt diff --git a/tests/0207/ast.txt b/tests/fixtures/0207/ast.txt similarity index 100% rename from tests/0207/ast.txt rename to tests/fixtures/0207/ast.txt diff --git a/tests/0207/code.php b/tests/fixtures/0207/code.php similarity index 100% rename from tests/0207/code.php rename to tests/fixtures/0207/code.php diff --git a/tests/0207/tokens.txt b/tests/fixtures/0207/tokens.txt similarity index 100% rename from tests/0207/tokens.txt rename to tests/fixtures/0207/tokens.txt diff --git a/tests/0208/code.php b/tests/fixtures/0208/code.php similarity index 100% rename from tests/0208/code.php rename to tests/fixtures/0208/code.php diff --git a/tests/0208/parser-error.txt b/tests/fixtures/0208/parser-error.txt similarity index 100% rename from tests/0208/parser-error.txt rename to tests/fixtures/0208/parser-error.txt diff --git a/tests/0208/tokens.txt b/tests/fixtures/0208/tokens.txt similarity index 100% rename from tests/0208/tokens.txt rename to tests/fixtures/0208/tokens.txt diff --git a/tests/0209/code.php b/tests/fixtures/0209/code.php similarity index 100% rename from tests/0209/code.php rename to tests/fixtures/0209/code.php diff --git a/tests/0209/parser-error.txt b/tests/fixtures/0209/parser-error.txt similarity index 100% rename from tests/0209/parser-error.txt rename to tests/fixtures/0209/parser-error.txt diff --git a/tests/0209/tokens.txt b/tests/fixtures/0209/tokens.txt similarity index 100% rename from tests/0209/tokens.txt rename to tests/fixtures/0209/tokens.txt diff --git a/tests/0210/code.php b/tests/fixtures/0210/code.php similarity index 100% rename from tests/0210/code.php rename to tests/fixtures/0210/code.php diff --git a/tests/0210/parser-error.txt b/tests/fixtures/0210/parser-error.txt similarity index 100% rename from tests/0210/parser-error.txt rename to tests/fixtures/0210/parser-error.txt diff --git a/tests/0210/tokens.txt b/tests/fixtures/0210/tokens.txt similarity index 100% rename from tests/0210/tokens.txt rename to tests/fixtures/0210/tokens.txt diff --git a/tests/0211/ast.txt b/tests/fixtures/0211/ast.txt similarity index 100% rename from tests/0211/ast.txt rename to tests/fixtures/0211/ast.txt diff --git a/tests/0211/code.php b/tests/fixtures/0211/code.php similarity index 100% rename from tests/0211/code.php rename to tests/fixtures/0211/code.php diff --git a/tests/0211/tokens.txt b/tests/fixtures/0211/tokens.txt similarity index 100% rename from tests/0211/tokens.txt rename to tests/fixtures/0211/tokens.txt diff --git a/tests/0212/code.php b/tests/fixtures/0212/code.php similarity index 100% rename from tests/0212/code.php rename to tests/fixtures/0212/code.php diff --git a/tests/0212/parser-error.txt b/tests/fixtures/0212/parser-error.txt similarity index 100% rename from tests/0212/parser-error.txt rename to tests/fixtures/0212/parser-error.txt diff --git a/tests/0212/tokens.txt b/tests/fixtures/0212/tokens.txt similarity index 100% rename from tests/0212/tokens.txt rename to tests/fixtures/0212/tokens.txt diff --git a/tests/0213/code.php b/tests/fixtures/0213/code.php similarity index 100% rename from tests/0213/code.php rename to tests/fixtures/0213/code.php diff --git a/tests/0213/parser-error.txt b/tests/fixtures/0213/parser-error.txt similarity index 100% rename from tests/0213/parser-error.txt rename to tests/fixtures/0213/parser-error.txt diff --git a/tests/0213/tokens.txt b/tests/fixtures/0213/tokens.txt similarity index 100% rename from tests/0213/tokens.txt rename to tests/fixtures/0213/tokens.txt diff --git a/tests/0214/code.php b/tests/fixtures/0214/code.php similarity index 100% rename from tests/0214/code.php rename to tests/fixtures/0214/code.php diff --git a/tests/0214/parser-error.txt b/tests/fixtures/0214/parser-error.txt similarity index 100% rename from tests/0214/parser-error.txt rename to tests/fixtures/0214/parser-error.txt diff --git a/tests/0214/tokens.txt b/tests/fixtures/0214/tokens.txt similarity index 100% rename from tests/0214/tokens.txt rename to tests/fixtures/0214/tokens.txt diff --git a/tests/0215/ast.txt b/tests/fixtures/0215/ast.txt similarity index 100% rename from tests/0215/ast.txt rename to tests/fixtures/0215/ast.txt diff --git a/tests/0215/code.php b/tests/fixtures/0215/code.php similarity index 100% rename from tests/0215/code.php rename to tests/fixtures/0215/code.php diff --git a/tests/0215/tokens.txt b/tests/fixtures/0215/tokens.txt similarity index 100% rename from tests/0215/tokens.txt rename to tests/fixtures/0215/tokens.txt diff --git a/tests/0216/code.php b/tests/fixtures/0216/code.php similarity index 100% rename from tests/0216/code.php rename to tests/fixtures/0216/code.php diff --git a/tests/0216/parser-error.txt b/tests/fixtures/0216/parser-error.txt similarity index 100% rename from tests/0216/parser-error.txt rename to tests/fixtures/0216/parser-error.txt diff --git a/tests/0216/tokens.txt b/tests/fixtures/0216/tokens.txt similarity index 100% rename from tests/0216/tokens.txt rename to tests/fixtures/0216/tokens.txt diff --git a/tests/0217/ast.txt b/tests/fixtures/0217/ast.txt similarity index 100% rename from tests/0217/ast.txt rename to tests/fixtures/0217/ast.txt diff --git a/tests/0217/code.php b/tests/fixtures/0217/code.php similarity index 100% rename from tests/0217/code.php rename to tests/fixtures/0217/code.php diff --git a/tests/0217/tokens.txt b/tests/fixtures/0217/tokens.txt similarity index 100% rename from tests/0217/tokens.txt rename to tests/fixtures/0217/tokens.txt diff --git a/tests/0218/code.php b/tests/fixtures/0218/code.php similarity index 100% rename from tests/0218/code.php rename to tests/fixtures/0218/code.php diff --git a/tests/0218/parser-error.txt b/tests/fixtures/0218/parser-error.txt similarity index 100% rename from tests/0218/parser-error.txt rename to tests/fixtures/0218/parser-error.txt diff --git a/tests/0218/tokens.txt b/tests/fixtures/0218/tokens.txt similarity index 100% rename from tests/0218/tokens.txt rename to tests/fixtures/0218/tokens.txt diff --git a/tests/0219/code.php b/tests/fixtures/0219/code.php similarity index 100% rename from tests/0219/code.php rename to tests/fixtures/0219/code.php diff --git a/tests/0219/parser-error.txt b/tests/fixtures/0219/parser-error.txt similarity index 100% rename from tests/0219/parser-error.txt rename to tests/fixtures/0219/parser-error.txt diff --git a/tests/0219/tokens.txt b/tests/fixtures/0219/tokens.txt similarity index 100% rename from tests/0219/tokens.txt rename to tests/fixtures/0219/tokens.txt diff --git a/tests/0220/ast.txt b/tests/fixtures/0220/ast.txt similarity index 100% rename from tests/0220/ast.txt rename to tests/fixtures/0220/ast.txt diff --git a/tests/0220/code.php b/tests/fixtures/0220/code.php similarity index 100% rename from tests/0220/code.php rename to tests/fixtures/0220/code.php diff --git a/tests/0220/tokens.txt b/tests/fixtures/0220/tokens.txt similarity index 100% rename from tests/0220/tokens.txt rename to tests/fixtures/0220/tokens.txt diff --git a/tests/0221/ast.txt b/tests/fixtures/0221/ast.txt similarity index 100% rename from tests/0221/ast.txt rename to tests/fixtures/0221/ast.txt diff --git a/tests/0221/code.php b/tests/fixtures/0221/code.php similarity index 100% rename from tests/0221/code.php rename to tests/fixtures/0221/code.php diff --git a/tests/0221/tokens.txt b/tests/fixtures/0221/tokens.txt similarity index 100% rename from tests/0221/tokens.txt rename to tests/fixtures/0221/tokens.txt diff --git a/tests/0222/ast.txt b/tests/fixtures/0222/ast.txt similarity index 100% rename from tests/0222/ast.txt rename to tests/fixtures/0222/ast.txt diff --git a/tests/0222/code.php b/tests/fixtures/0222/code.php similarity index 100% rename from tests/0222/code.php rename to tests/fixtures/0222/code.php diff --git a/tests/0222/tokens.txt b/tests/fixtures/0222/tokens.txt similarity index 100% rename from tests/0222/tokens.txt rename to tests/fixtures/0222/tokens.txt diff --git a/tests/0223/ast.txt b/tests/fixtures/0223/ast.txt similarity index 100% rename from tests/0223/ast.txt rename to tests/fixtures/0223/ast.txt diff --git a/tests/0223/code.php b/tests/fixtures/0223/code.php similarity index 100% rename from tests/0223/code.php rename to tests/fixtures/0223/code.php diff --git a/tests/0223/tokens.txt b/tests/fixtures/0223/tokens.txt similarity index 100% rename from tests/0223/tokens.txt rename to tests/fixtures/0223/tokens.txt diff --git a/tests/0224/ast.txt b/tests/fixtures/0224/ast.txt similarity index 100% rename from tests/0224/ast.txt rename to tests/fixtures/0224/ast.txt diff --git a/tests/0224/code.php b/tests/fixtures/0224/code.php similarity index 100% rename from tests/0224/code.php rename to tests/fixtures/0224/code.php diff --git a/tests/0224/tokens.txt b/tests/fixtures/0224/tokens.txt similarity index 100% rename from tests/0224/tokens.txt rename to tests/fixtures/0224/tokens.txt diff --git a/tests/0225/ast.txt b/tests/fixtures/0225/ast.txt similarity index 100% rename from tests/0225/ast.txt rename to tests/fixtures/0225/ast.txt diff --git a/tests/0225/code.php b/tests/fixtures/0225/code.php similarity index 100% rename from tests/0225/code.php rename to tests/fixtures/0225/code.php diff --git a/tests/0225/tokens.txt b/tests/fixtures/0225/tokens.txt similarity index 100% rename from tests/0225/tokens.txt rename to tests/fixtures/0225/tokens.txt diff --git a/tests/0226/code.php b/tests/fixtures/0226/code.php similarity index 100% rename from tests/0226/code.php rename to tests/fixtures/0226/code.php diff --git a/tests/0226/lexer-error.txt b/tests/fixtures/0226/lexer-error.txt similarity index 100% rename from tests/0226/lexer-error.txt rename to tests/fixtures/0226/lexer-error.txt diff --git a/tests/0227/code.php b/tests/fixtures/0227/code.php similarity index 100% rename from tests/0227/code.php rename to tests/fixtures/0227/code.php diff --git a/tests/0227/lexer-error.txt b/tests/fixtures/0227/lexer-error.txt similarity index 100% rename from tests/0227/lexer-error.txt rename to tests/fixtures/0227/lexer-error.txt diff --git a/tests/0228/ast.txt b/tests/fixtures/0228/ast.txt similarity index 100% rename from tests/0228/ast.txt rename to tests/fixtures/0228/ast.txt diff --git a/tests/0228/code.php b/tests/fixtures/0228/code.php similarity index 100% rename from tests/0228/code.php rename to tests/fixtures/0228/code.php diff --git a/tests/0228/tokens.txt b/tests/fixtures/0228/tokens.txt similarity index 100% rename from tests/0228/tokens.txt rename to tests/fixtures/0228/tokens.txt diff --git a/tests/0229/ast.txt b/tests/fixtures/0229/ast.txt similarity index 100% rename from tests/0229/ast.txt rename to tests/fixtures/0229/ast.txt diff --git a/tests/0229/code.php b/tests/fixtures/0229/code.php similarity index 100% rename from tests/0229/code.php rename to tests/fixtures/0229/code.php diff --git a/tests/0229/tokens.txt b/tests/fixtures/0229/tokens.txt similarity index 100% rename from tests/0229/tokens.txt rename to tests/fixtures/0229/tokens.txt diff --git a/tests/0230/ast.txt b/tests/fixtures/0230/ast.txt similarity index 100% rename from tests/0230/ast.txt rename to tests/fixtures/0230/ast.txt diff --git a/tests/0230/code.php b/tests/fixtures/0230/code.php similarity index 100% rename from tests/0230/code.php rename to tests/fixtures/0230/code.php diff --git a/tests/0230/tokens.txt b/tests/fixtures/0230/tokens.txt similarity index 100% rename from tests/0230/tokens.txt rename to tests/fixtures/0230/tokens.txt diff --git a/tests/0231/ast.txt b/tests/fixtures/0231/ast.txt similarity index 100% rename from tests/0231/ast.txt rename to tests/fixtures/0231/ast.txt diff --git a/tests/0231/code.php b/tests/fixtures/0231/code.php similarity index 100% rename from tests/0231/code.php rename to tests/fixtures/0231/code.php diff --git a/tests/0231/tokens.txt b/tests/fixtures/0231/tokens.txt similarity index 100% rename from tests/0231/tokens.txt rename to tests/fixtures/0231/tokens.txt diff --git a/tests/0232/ast.txt b/tests/fixtures/0232/ast.txt similarity index 100% rename from tests/0232/ast.txt rename to tests/fixtures/0232/ast.txt diff --git a/tests/0232/code.php b/tests/fixtures/0232/code.php similarity index 100% rename from tests/0232/code.php rename to tests/fixtures/0232/code.php diff --git a/tests/0232/tokens.txt b/tests/fixtures/0232/tokens.txt similarity index 100% rename from tests/0232/tokens.txt rename to tests/fixtures/0232/tokens.txt diff --git a/tests/0233/code.php b/tests/fixtures/0233/code.php similarity index 100% rename from tests/0233/code.php rename to tests/fixtures/0233/code.php diff --git a/tests/0233/lexer-error.txt b/tests/fixtures/0233/lexer-error.txt similarity index 100% rename from tests/0233/lexer-error.txt rename to tests/fixtures/0233/lexer-error.txt diff --git a/tests/0234/code.php b/tests/fixtures/0234/code.php similarity index 100% rename from tests/0234/code.php rename to tests/fixtures/0234/code.php diff --git a/tests/0234/lexer-error.txt b/tests/fixtures/0234/lexer-error.txt similarity index 100% rename from tests/0234/lexer-error.txt rename to tests/fixtures/0234/lexer-error.txt diff --git a/tests/0235/ast.txt b/tests/fixtures/0235/ast.txt similarity index 100% rename from tests/0235/ast.txt rename to tests/fixtures/0235/ast.txt diff --git a/tests/0235/code.php b/tests/fixtures/0235/code.php similarity index 100% rename from tests/0235/code.php rename to tests/fixtures/0235/code.php diff --git a/tests/0235/tokens.txt b/tests/fixtures/0235/tokens.txt similarity index 100% rename from tests/0235/tokens.txt rename to tests/fixtures/0235/tokens.txt diff --git a/tests/0236/ast.txt b/tests/fixtures/0236/ast.txt similarity index 100% rename from tests/0236/ast.txt rename to tests/fixtures/0236/ast.txt diff --git a/tests/0236/code.php b/tests/fixtures/0236/code.php similarity index 100% rename from tests/0236/code.php rename to tests/fixtures/0236/code.php diff --git a/tests/0236/tokens.txt b/tests/fixtures/0236/tokens.txt similarity index 100% rename from tests/0236/tokens.txt rename to tests/fixtures/0236/tokens.txt diff --git a/tests/0237/ast.txt b/tests/fixtures/0237/ast.txt similarity index 100% rename from tests/0237/ast.txt rename to tests/fixtures/0237/ast.txt diff --git a/tests/0237/code.php b/tests/fixtures/0237/code.php similarity index 100% rename from tests/0237/code.php rename to tests/fixtures/0237/code.php diff --git a/tests/0237/tokens.txt b/tests/fixtures/0237/tokens.txt similarity index 100% rename from tests/0237/tokens.txt rename to tests/fixtures/0237/tokens.txt diff --git a/tests/0238/ast.txt b/tests/fixtures/0238/ast.txt similarity index 100% rename from tests/0238/ast.txt rename to tests/fixtures/0238/ast.txt diff --git a/tests/0238/code.php b/tests/fixtures/0238/code.php similarity index 100% rename from tests/0238/code.php rename to tests/fixtures/0238/code.php diff --git a/tests/0238/tokens.txt b/tests/fixtures/0238/tokens.txt similarity index 100% rename from tests/0238/tokens.txt rename to tests/fixtures/0238/tokens.txt diff --git a/tests/0239/ast.txt b/tests/fixtures/0239/ast.txt similarity index 100% rename from tests/0239/ast.txt rename to tests/fixtures/0239/ast.txt diff --git a/tests/0239/code.php b/tests/fixtures/0239/code.php similarity index 100% rename from tests/0239/code.php rename to tests/fixtures/0239/code.php diff --git a/tests/0239/tokens.txt b/tests/fixtures/0239/tokens.txt similarity index 100% rename from tests/0239/tokens.txt rename to tests/fixtures/0239/tokens.txt diff --git a/tests/0240/ast.txt b/tests/fixtures/0240/ast.txt similarity index 100% rename from tests/0240/ast.txt rename to tests/fixtures/0240/ast.txt diff --git a/tests/0240/code.php b/tests/fixtures/0240/code.php similarity index 100% rename from tests/0240/code.php rename to tests/fixtures/0240/code.php diff --git a/tests/0240/tokens.txt b/tests/fixtures/0240/tokens.txt similarity index 100% rename from tests/0240/tokens.txt rename to tests/fixtures/0240/tokens.txt diff --git a/tests/0241/ast.txt b/tests/fixtures/0241/ast.txt similarity index 100% rename from tests/0241/ast.txt rename to tests/fixtures/0241/ast.txt diff --git a/tests/0241/code.php b/tests/fixtures/0241/code.php similarity index 100% rename from tests/0241/code.php rename to tests/fixtures/0241/code.php diff --git a/tests/0241/tokens.txt b/tests/fixtures/0241/tokens.txt similarity index 100% rename from tests/0241/tokens.txt rename to tests/fixtures/0241/tokens.txt diff --git a/tests/0242/ast.txt b/tests/fixtures/0242/ast.txt similarity index 100% rename from tests/0242/ast.txt rename to tests/fixtures/0242/ast.txt diff --git a/tests/0242/code.php b/tests/fixtures/0242/code.php similarity index 100% rename from tests/0242/code.php rename to tests/fixtures/0242/code.php diff --git a/tests/0242/tokens.txt b/tests/fixtures/0242/tokens.txt similarity index 100% rename from tests/0242/tokens.txt rename to tests/fixtures/0242/tokens.txt diff --git a/tests/0243/ast.txt b/tests/fixtures/0243/ast.txt similarity index 100% rename from tests/0243/ast.txt rename to tests/fixtures/0243/ast.txt diff --git a/tests/0243/code.php b/tests/fixtures/0243/code.php similarity index 100% rename from tests/0243/code.php rename to tests/fixtures/0243/code.php diff --git a/tests/0243/tokens.txt b/tests/fixtures/0243/tokens.txt similarity index 100% rename from tests/0243/tokens.txt rename to tests/fixtures/0243/tokens.txt diff --git a/tests/0244/ast.txt b/tests/fixtures/0244/ast.txt similarity index 100% rename from tests/0244/ast.txt rename to tests/fixtures/0244/ast.txt diff --git a/tests/0244/code.php b/tests/fixtures/0244/code.php similarity index 100% rename from tests/0244/code.php rename to tests/fixtures/0244/code.php diff --git a/tests/0244/tokens.txt b/tests/fixtures/0244/tokens.txt similarity index 100% rename from tests/0244/tokens.txt rename to tests/fixtures/0244/tokens.txt diff --git a/tests/0245/ast.txt b/tests/fixtures/0245/ast.txt similarity index 100% rename from tests/0245/ast.txt rename to tests/fixtures/0245/ast.txt diff --git a/tests/0245/code.php b/tests/fixtures/0245/code.php similarity index 100% rename from tests/0245/code.php rename to tests/fixtures/0245/code.php diff --git a/tests/0245/tokens.txt b/tests/fixtures/0245/tokens.txt similarity index 100% rename from tests/0245/tokens.txt rename to tests/fixtures/0245/tokens.txt diff --git a/tests/0246/ast.txt b/tests/fixtures/0246/ast.txt similarity index 100% rename from tests/0246/ast.txt rename to tests/fixtures/0246/ast.txt diff --git a/tests/0246/code.php b/tests/fixtures/0246/code.php similarity index 100% rename from tests/0246/code.php rename to tests/fixtures/0246/code.php diff --git a/tests/0246/tokens.txt b/tests/fixtures/0246/tokens.txt similarity index 100% rename from tests/0246/tokens.txt rename to tests/fixtures/0246/tokens.txt diff --git a/tests/0247/code.php b/tests/fixtures/0247/code.php similarity index 100% rename from tests/0247/code.php rename to tests/fixtures/0247/code.php diff --git a/tests/0247/parser-error.txt b/tests/fixtures/0247/parser-error.txt similarity index 100% rename from tests/0247/parser-error.txt rename to tests/fixtures/0247/parser-error.txt diff --git a/tests/0247/tokens.txt b/tests/fixtures/0247/tokens.txt similarity index 100% rename from tests/0247/tokens.txt rename to tests/fixtures/0247/tokens.txt diff --git a/tests/0248/ast.txt b/tests/fixtures/0248/ast.txt similarity index 100% rename from tests/0248/ast.txt rename to tests/fixtures/0248/ast.txt diff --git a/tests/0248/code.php b/tests/fixtures/0248/code.php similarity index 100% rename from tests/0248/code.php rename to tests/fixtures/0248/code.php diff --git a/tests/0248/tokens.txt b/tests/fixtures/0248/tokens.txt similarity index 100% rename from tests/0248/tokens.txt rename to tests/fixtures/0248/tokens.txt diff --git a/tests/0249/ast.txt b/tests/fixtures/0249/ast.txt similarity index 100% rename from tests/0249/ast.txt rename to tests/fixtures/0249/ast.txt diff --git a/tests/0249/code.php b/tests/fixtures/0249/code.php similarity index 100% rename from tests/0249/code.php rename to tests/fixtures/0249/code.php diff --git a/tests/0249/tokens.txt b/tests/fixtures/0249/tokens.txt similarity index 100% rename from tests/0249/tokens.txt rename to tests/fixtures/0249/tokens.txt diff --git a/tests/0250/ast.txt b/tests/fixtures/0250/ast.txt similarity index 100% rename from tests/0250/ast.txt rename to tests/fixtures/0250/ast.txt diff --git a/tests/0250/code.php b/tests/fixtures/0250/code.php similarity index 100% rename from tests/0250/code.php rename to tests/fixtures/0250/code.php diff --git a/tests/0250/tokens.txt b/tests/fixtures/0250/tokens.txt similarity index 100% rename from tests/0250/tokens.txt rename to tests/fixtures/0250/tokens.txt diff --git a/tests/test.rs b/tests/test.rs new file mode 100644 index 0000000..8b73633 --- /dev/null +++ b/tests/test.rs @@ -0,0 +1,100 @@ +use std::env; +use std::fs::read_dir; +use std::path::PathBuf; + +use pretty_assertions::assert_str_eq; + +use php_parser_rs::prelude::{Lexer, Parser}; + +static LEXER: Lexer = Lexer::new(); +static PARSER: Parser = Parser::new(); + +#[test] +fn test_fixtures() { + let manifest = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()); + let tests = manifest.join("tests").join("fixtures"); + + let mut entries = read_dir(tests) + .unwrap() + .flatten() + .map(|entry| entry.path()) + .filter(|entry| entry.is_dir()) + .collect::>(); + + entries.sort(); + + for entry in entries { + let fixture = entry.file_name().unwrap().to_string_lossy(); + + let code_file = entry.join("code.php"); + let ast_file = entry.join("ast.txt"); + let tokens_file = entry.join("tokens.txt"); + let lex_err_file = entry.join("lexer-error.txt"); + let parse_err_file = entry.join("parser-error.txt"); + + if !code_file.exists() { + continue; + } + + let code = std::fs::read_to_string(&code_file).unwrap(); + + if lex_err_file.exists() { + let expected_error = std::fs::read_to_string(&lex_err_file).unwrap(); + let error = LEXER.tokenize(code.as_bytes()).err().unwrap(); + + assert_str_eq!( + expected_error.trim(), + format!("{:?} -> {}", error, error), + "lexer error mismatch for fixture `{}`", + fixture + ); + + continue; + } + + assert!( + tokens_file.exists(), + "unable to find `tokens.txt` for `{}`.", + fixture + ); + + let expected_tokens = std::fs::read_to_string(&tokens_file).unwrap(); + let tokens = LEXER.tokenize(code.as_bytes()).unwrap(); + + assert_str_eq!( + expected_tokens.trim(), + format!("{:#?}", tokens), + "tokens mismatch for fixture `{}`", + fixture + ); + + if ast_file.exists() { + let expected_ast = std::fs::read_to_string(&ast_file).unwrap(); + let ast = PARSER.parse(tokens).unwrap(); + assert_str_eq!( + expected_ast.trim(), + format!("{:#?}", ast), + "ast mismatch for fixture `{}`", + fixture + ); + + continue; + } + + assert!( + parse_err_file.exists(), + "unable to find `parser-error.txt` for `{}`.", + fixture + ); + + let expected_error = std::fs::read_to_string(&parse_err_file).unwrap(); + let error = PARSER.parse(tokens).err().unwrap(); + + assert_str_eq!( + expected_error.trim(), + format!("{:?} -> {}", error, error), + "parse error mismatch for fixture `{}`", + fixture + ); + } +}