diff --git a/SpoofTest.php b/SpoofTest.php
index fc61331..73178bd 100644
--- a/SpoofTest.php
+++ b/SpoofTest.php
@@ -20,11 +20,14 @@ class TestSpoof extends PHPUnit_Framework_TestCase {
 	public function providePositives() {
 		return array(
 			array( 'Laura Fiorucci', 'Låura Fiorucci' ),
-			array( 'Lucien leGrey', 'Lucien le6rey' ),
 			array( 'Poco a poco', 'Poco a ƿoco' ),
-			array( 'Comae', 'Comæ' ),
+			array( 'Comae', 'Comæ' ), // test fails, æ normalizes to 'a'
 			array( 'Sabbut', 'ЅаЬЬцт'),
-			array( 'BetoCG', 'ВетоС6' )
+			array( 'BetoCG', 'ВетоС6' ),
+			# Some simple confused ASCII characters
+			array( 'Lucien leGrey', 'Lucien le6rey' ),
+			array( 'Swailing', 'Swalling' ),
+			array( 'Blue', 'BIue' )
 		);
 	}
 
@@ -40,4 +43,30 @@ class TestSpoof extends PHPUnit_Framework_TestCase {
 			$this->assertEquals( $Alice->getNormalized(), $Eve->getNormalized(), "Check that '$spooferName' can't spoof account '$userName'");
 		}
 	}
+
+	public function provideBadChars() {
+		return array(
+			// Some "naughty characters we don't ever want to see" from
+			// $character_blacklist.
+			array( 'Fraction slash ⁄' ),
+			array( 'Fullwidth solidus ／' ),
+			// Some SCRIPT_DEPRECATED glyphs
+			// XXX These should fail due to typo in AntiSpoof_body.php (bug
+			// 40649), but don't?
+			array( 'Kangxi radical U+2F04 ⼄' ),
+			array( 'CJK Compat ideograph U+F967 不' ),
+			array( 'CJK Compat ideographs Suppllement U+2F800 丽' ),
+			// Test, this should be fine, therefore fail.
+			array( 'CJK Unified Ideograph U+4E01 丁' )
+		);
+	}
+
+	/**
+	 * @dataProvider provideBadChars
+	 */
+	public function testCheckBadChars( $badName) {
+		$Eve = new SpoofUser( $badName );
+
+		$this->assertFalse( $Eve->isLegal(), "Check that '$badName' is rejected");
+	}
 }
