<html><head><title>Common Toolbar Buttons</title>
<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
<meta NAME="keywords" content="">
<meta NAME="since" content="">
</head><body><h2>Common Toolbar Buttons</h2>
<p>Since: 3.2 RC2 <br>
Last Modified: $Date: 2006/04/25 20:20:14 $</p>

<p><b>Purpose:</b> Test the functionality of the various buttons common to both the Local File History page and the CVS History page</p>

Note: Even though the functionality is the same for both pages, the tests should be conducted on both an unmanaged file and a CVS file as each history page has its own respective implementation for the following actions.
<hr></hr>
<h3>Compare Mode</h3>
<p>
<ol>
  <li>With a file history in the History View and the Compare Mode button <b>off</b>, click on any revision and
  verify that it opens that revision.</li>
  <li>Click the Compare Mode button <b>on</b> and verify that clicking on any local file revision will now bring up the compare editor.</li>
  <li>Verify that turning the Compare Mode button off again switches back to Open mode.</li>
</ol>
</p>
<hr></hr>
<h3>Collapse All</h3>
<p>
<ol>
  <li>With a file history in the History View, and the Group by Date button <b>on</b>, click the Collapse All button.</li>
  <li>Verify that all of the items in the tree are collapsed.</li>
</ol>
</p>
<hr></hr>
<h3>Group Revisions By Date</h3>
<p>See <a href="groupByDateUMFile00001.html">Group Revisions By Date</a></p>
<hr></hr>
<h3>Pin History View</h3>
<p>See <a href="pinHistoryView00001.html">Pin History View</a></p>
<hr></hr>
<h3>Link With Editor</h3>
<p>See <a href="00018.html">Link With Editor</a></p>
<hr></hr>
<h3>Refresh</h3>
<p>See <a href="refreshHistory00002.html">Refresh</a></p>
</body></html>