Index: tests/phpunit/tests/option/sanitize-option.php
===================================================================
--- tests/phpunit/tests/option/sanitize-option.php	(revision 0)
+++ tests/phpunit/tests/option/sanitize-option.php	(working copy)
@@ -0,0 +1,72 @@
+<?php
+
+/**
+ * @group option
+ */
+class Tests_Sanitize_Option extends WP_UnitTestCase {
+
+	/**
+	 * Data provider to test all of the sanitize_option() case
+	 *
+	 * Inner array params: $option_name, $sanitized, $original
+	 * @return array
+	 *
+	 */
+	public function sanitize_option_provider() {
+		return array(
+			array( 'admin_email', 'mail@email.com', 'mail@email.com' ),
+			array( 'page_on_front', 0, 0 ),
+			array( 'posts_per_page', 10, 10 ),
+			array( 'default_ping_status', 'open', 'open' ),
+			array( 'blogname', 'My Site', 'My Site' ),
+			array( 'blog_charset', 'UTF-8', 'UTF-8' ),
+			array( 'blog_public', 1, 1 ),
+			array( 'date_format', 'F j, Y', 'F j, Y' ),
+			array( 'ping_sites', 'http://rpc.pingomatic.com/', 'http://rpc.pingomatic.com/' ),
+			array( 'gmt_offset', 0, 0 ),
+			array( 'siteurl', 'http://example.org', 'http://example.org' ),
+			array( 'home', 'http://example.org', 'http://example.org' ),
+			array( 'WPLANG', 0, 0 ),
+			array(
+				'illegal_names',
+				array( 'www', 'web', 'root', 'admin', 'main', 'invite', 'administrator', 'files' ),
+				array( 'www', 'web', 'root', 'admin', 'main', 'invite', 'administrator', 'files' ),
+			),
+			array(
+				'banned_email_domains',
+				array( 'mail.com', 'gmail.com' ),
+				array( 'mail.com', 'gmail.com' ),
+			),
+			array( 'timezone_string', 0, 0 ),
+
+			array( 'permalink_structure', 0, 0 ),
+			array( 'default_role', 'subscriber', 'subscriber' ),
+			array( 'moderation_keys', 'string of words', 'string of words' ),
+
+
+		);
+	}
+
+	/**
+	 * @dataProvider sanitize_option_provider
+	 */
+	function test_sanitize_option( $option_name, $sanitized, $original ) {
+		$this->assertEquals( $sanitized , sanitize_option( $option_name, $original ) );
+	}
+
+	public function upload_path_provider()  {
+		return array(
+			array( '<a href="http://www.website.com">Link</a>', 'Link' ),
+			array( '<script>url</script>', 'url' ),
+			array( '/path/to/things', '/path/to/things' ),
+			array( '\path\to\things', '\path\to\things' ),
+		);
+	}
+
+	/**
+	 * @dataProvider upload_path_provider
+	 */
+	function test_sanitize_option_upload_path( $provided, $expected ) {
+		$this->assertEquals( $expected , sanitize_option( 'upload_path', $provided ) );
+	}
+}
\ No newline at end of file
