diff -urPp modules/path/path.test modules/pathNew/path.test
--- modules/path/path.test	2011-02-09 11:17:50.000000000 -0500
+++ modules/pathNew/path.test	2011-02-09 11:12:48.000000000 -0500
@@ -503,3 +503,58 @@ class PathMonolingualTestCase extends Dr
     $this->assertText(t('Add language'), 'Page contains the add language text');
   }
 }
+
+/**
+ * Tests for path hook invocation.
+ */
+class PathHooksTestCase extends DrupalWebTestCase {
+  public static function getInfo() {
+    return array(
+      'name' => 'Path hooks',
+      'description' => 'Test hooks for path deletion',
+      'group' => 'Path'
+    );      
+  }
+
+  function setUp() {
+    parent::setUp('path_test');
+    $web_user = $this->drupalCreateUser(array('create page content', 'delete own page content', 'administer url aliases', 'create url aliases'));
+    $this->drupalLogin($web_user);
+  }
+
+  function testPathHooks() {
+    // Create test node.
+    $node1 = $this->drupalCreateNode();
+
+    // Generate two test aliases.
+    $alias1 = $this->randomName(8);
+    $alias2 = $this->randomName(8);
+
+    // Insert aliases.
+    $edit = array();
+    $edit['source'] = 'node/' . $node1->nid;
+    $edit['alias'] = $alias1;
+    $this->drupalPost('admin/config/search/path/add', $edit, t('Save'));
+    $edit['alias'] = $alias2;
+    $this->drupalPost('admin/config/search/path/add', $edit, t('Save'));
+
+    // Test hook_path_insert.
+    $this->assertText('hook_path_insert: node/' . $node1->nid . ' => ' . $alias2);
+
+    // Test hook_path_update.
+    /*
+    $edit['alias'] = $alias2 = $this->randomName(8);
+    $this->drupalPost('admin/config/search/path/edit/' . ##PID##, $edit, t('Save'));
+    $this->assertText('hook_path_update: ' . $edit['source'] . ' => ' . $edit['alias'], 'hook_path_update called.');
+    */
+    // Test hook_path_delete
+    $this->drupalPost('node/' . $node1->nid . '/delete', array(), t('Delete'));
+    $this->assertText('hook_path_delete: node/' . $node1->nid . ' => ' . $alias1);
+    $this->assertText('hook_path_delete: node/' . $node1->nid . ' => ' . $alias2);
+
+    // Test nonalias node deletion.
+    $node2 = $this->drupalCreateNode();
+    $this->drupalPost('node/' . $node2->nid . '/delete', array(), t('Delete'));
+    $this->assertNoText('hook_path_delete called', 'hook_path_delete not called');
+  }
+}
diff -urPp modules/path/tests/path_test.info modules/pathNew/tests/path_test.info
--- modules/path/tests/path_test.info	1969-12-31 19:00:00.000000000 -0500
+++ modules/pathNew/tests/path_test.info	2011-02-09 11:12:48.000000000 -0500
@@ -0,0 +1,9 @@
+; $Id$
+
+name = "Path test"
+description = "Support module for Path tests."
+package = "Testing"
+version = VERSION
+core = 7.x
+files[] = path_test.module
+hidden = TRUE
diff -urPp modules/path/tests/path_test.module modules/pathNew/tests/path_test.module
--- modules/path/tests/path_test.module	1969-12-31 19:00:00.000000000 -0500
+++ modules/pathNew/tests/path_test.module	2011-02-09 11:12:48.000000000 -0500
@@ -0,0 +1,14 @@
+<?php
+
+function path_test_path_delete($path) {
+  drupal_set_message("hook_path_delete called");
+  drupal_set_message('hook_path_delete: ' . $path['source'] . ' => ' . $path['alias']);
+}
+
+function path_test_path_insert($path) {
+  drupal_set_message('hook_path_insert: ' . $path['source'] . ' => ' . $path['alias']);
+}
+
+function path_test_path_update($path) {
+  drupal_set_message('hook_path_update: ' . $path['source'] . ' => ' . $path['alias']);
+}
