/**
  * Tests that updateSubTreePath() does not mess up a previously defined
  * alias for a node.
  */
 public function testUpdateSubTreePathLeavesAliasesAlone()
 {
     $random = mt_rand();
     $folder = new ezpObject("folder", 2);
     $folder->name = __FUNCTION__ . " Folder " . $random;
     $folder->publish();
     $child = new ezpObject("article", $folder->mainNode->node_id);
     $child->title = __FUNCTION__ . " Child " . $random;
     $child->publish();
     $folderURL = eZURLAliasML::fetchByAction('eznode', $child->mainNode->node_id);
     // Create an alias element using storePath()
     $path = "ThisIsATestAlias_{$random}";
     $action = "eznode:" . $child->mainNode->node_id;
     $alias = eZURLALiasML::storePath($path, $action, false, $folderURL[0]->attribute('id'));
     $child->mainNode->updateSubTreePath();
     // Refetch the alias ezurlalias_ml element
     $db = eZDB::instance();
     $actionValues = array($child->mainNode->node_id);
     $extraConditions = array('id' => $alias['element']->attribute('id'));
     $aliases = $db->arrayQuery(self::buildSql($actionValues, false, $extraConditions));
     self::assertEquals(1, (int) $aliases[0]['is_alias']);
     self::assertEquals(1, (int) $aliases[0]['is_original']);
 }