From c4eb4b2e4ed933d00586a227915abae37acf8643 Mon Sep 17 00:00:00 2001 From: Manuel Woelker Date: Tue, 7 Feb 2017 21:05:44 +0100 Subject: [PATCH] ty: add tests for Type.is_invalid_named_type() (#460) --- src/ir/ty.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/ir/ty.rs b/src/ir/ty.rs index 5903430c91..f1e439838c 100644 --- a/src/ir/ty.rs +++ b/src/ir/ty.rs @@ -392,6 +392,51 @@ impl Type { } } } +#[test] +fn is_invalid_named_type_valid() { + let ty = Type::new(Some("foo".into()), None, TypeKind::Named, false); + assert!(!ty.is_invalid_named_type()) +} + +#[test] +fn is_invalid_named_type_valid_underscore_and_numbers() { + let ty = + Type::new(Some("_foo123456789_".into()), None, TypeKind::Named, false); + assert!(!ty.is_invalid_named_type()) +} + +#[test] +fn is_invalid_named_type_valid_unnamed_kind() { + let ty = Type::new(Some("foo".into()), None, TypeKind::Void, false); + assert!(!ty.is_invalid_named_type()) +} + +#[test] +fn is_invalid_named_type_invalid_start() { + let ty = Type::new(Some("1foo".into()), None, TypeKind::Named, false); + assert!(ty.is_invalid_named_type()) +} + +#[test] +fn is_invalid_named_type_invalid_remaing() { + let ty = Type::new(Some("foo-".into()), None, TypeKind::Named, false); + assert!(ty.is_invalid_named_type()) +} + +#[test] +#[should_panic] +fn is_invalid_named_type_unnamed() { + let ty = Type::new(None, None, TypeKind::Named, false); + assert!(ty.is_invalid_named_type()) +} + +#[test] +#[should_panic] +fn is_invalid_named_type_empty_name() { + let ty = Type::new(Some("".into()), None, TypeKind::Named, false); + assert!(ty.is_invalid_named_type()) +} + impl CanDeriveDebug for Type { type Extra = ();