? filter_administration_2_.patch
? sites/default/files
? sites/default/settings.php
Index: modules/filter/filter.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.test,v
retrieving revision 1.6
diff -u -p -r1.6 filter.test
--- modules/filter/filter.test	15 Aug 2008 07:49:42 -0000	1.6
+++ modules/filter/filter.test	21 Sep 2008 19:26:34 -0000
@@ -146,6 +146,51 @@ class FilterAdminTestCase extends Drupal
     $edit['weights[filter/' . $first_filter . ']'] = 1;
     $this->drupalPost('admin/settings/filters/' . $filtered . '/order', $edit, t('Save configuration'));
     $this->assertText(t('The filter ordering has been saved.'), t('Order successfully reverted.'));
+
+    // Create format with no filters.
+    $empty_format = array(
+        'name'     => $this->randomName(),
+        'roles[2]' => 1,
+    );
+    $this->drupalPost('admin/settings/filters/add', $empty_format, t('Save configuration'));
+    $this->assertRaw(t('Added input format %format.', array('%format' => $empty_format['name'])), t('New empty filter created.'));
+
+    // Switch user.
+    $this->drupalLogout();
+    $this->drupalLogin($web_user);
+
+    $filter_id = db_result(db_query("SELECT format FROM {filter_formats} WHERE name = '%s'", $empty_format['name']));
+
+    $random_text = $this->randomName(2);
+    $node_body =  $random_text. '<?php print "'. $random_text .'"; ?>'. $random_text .'<img src="'. $random_text .'" />'. $random_text; 
+    
+    $node = $this->drupalCreateNode(array(
+      'body'   => $node_body,
+      'format' => $filter_id
+    ));
+
+    $this->drupalGet('node/'. $node->nid);
+    $content = $this->drupalGetContent();
+    $this->assertRaw($node_body, t('Everything comes across and php not eval-ed.'));
+
+    // Switch user.
+    $this->drupalLogout();
+    $this->drupalLogin($admin_user);
+
+    // Create format with same name.
+    $edit = array(
+      'name'     => $empty_format['name'],
+      'roles[2]' => 1,
+    );
+    $this->drupalPost('admin/settings/filters/add', $edit, t('Save configuration'));
+    $this->assertRaw(t('Filter format names need to be unique. A format named %format already exists.', array('%format' => $edit['name'])), t('Cannot create format with same name.'));
+
+    // Attempt to delete default format.
+    $filter_id = variable_get('filter_default_format', 1);
+    
+    // Should redirect back to filter settings page.
+    $this->drupalGet('admin/settings/filters/delete/'. $filter_id);
+    $this->assertRaw(t('The default format cannot be deleted.'), t('The default format cannot be deleted.'));
   }
 
   /**
@@ -179,60 +224,4 @@ class FilterAdminTestCase extends Drupal
   function getFilter($name) {
     return db_fetch_object(db_query("SELECT * FROM {filter_formats} WHERE name = '%s'", $name));
   }
-}
-
-class FilterTestCase extends DrupalWebTestCase {
-  protected $format;
-
-  /**
-   * Implementation of getInfo().
-   */
-  function getInfo() {
-    return array(
-      'name' => t('Core filters'),
-      'description' => t('Filter each filter individually: Convert URLs into links, Convert line breaks, Correct broken HTML, Escape all HTML, Limit allowed HTML tags.'),
-      'group' => t('Filter'),
-    );
-  }
-
-  /**
-   * Implementation of setUp().
-   */
-  function setUp() {
-    parent::setUp();
-
-    $admin_user = $this->drupalCreateUser(array('administer filters', 'create page content'));
-    $this->drupalLogin($admin_user);
-  }
-
-  /**
-   * Test the line break filter
-   */
-  function testLineBreakFilter() {
-
-  }
-
-  /**
-   * Test the HTML filter
-   */
-  function testHtmlFilter() {
-
-  }
-
-  function createFormat($filter) {
-    $edit = array(
-      'name' => $this->randomName(),
-      'roles[2]' => TRUE,
-      'filters[filter/' . $filter . ']' => TRUE,
-    );
-    $this->drupalPost('admin/settings/filters/add', $edit, t('Save configuration'));
-    return db_fetch_object(db_query("SELECT * FROM {filter_formats} WHERE name = '%s'", $edit['name']));
-  }
-
-  function deleteFormat($format) {
-    if ($format !== NULL) {
-      // Delete new filter.
-      $this->drupalPost('admin/settings/filters/delete/' . $format->format, array(), t('Delete'));
-    }
-  }
-}
+}
\ No newline at end of file
