Interfaces, that can be queried from browser control:
	webclient.BrowserControlCanvas
	webclient.CurrentPage 
	webclient.EventRegistration 
	webclient.History 
	webclient.Navigation 
	webclient.WindowControl 

Next interfaces skipped, because they are not implemented now(04/26/2000):
 
	webclient.cache.NetDataCacheManager <SKIP> Not implemented
	webclient.Preferences               <SKIP> Not implemented
	webclient.Print                     <SKIP> Not implemented
	webclient.ExtendedEventRegistration <SKIP> Not implemented


Abstract class: org.mozilla.webclient.BrowserControlCanvas
		Method: public  void addNotify()
			- 1 test, just for invoke and not crash 
		Method: public  org.mozilla.webclient.BrowserControl getWebShell()
			- 1 test: just for invoke and compare returned BrowserControl with original ?
		Method: public  void setBounds(Rectangle r)
			- 2 tests: null and well constructed rectangle
		Method: public  void setBounds(int,int,int,int)
			- 12 tests: Integer.MIN_VALUE,Integer.MAX_VALUE,0 on each parameters,when other parameters good
			- 3 tests: correct formed rectangle, all coordinates are equals to 0, and inverted rectangle(Xleft >Xright)

         Non-public methods doesn't accessible for API's end-user, so will not be tested there   
		Method: non-public  java.awt.Point getEventCoordsLocalToWindow(MouseEvent)
		Method: non-public  java.awt.Rectangle getWindowBounds()
		Method: non-public  java.awt.Rectangle getBoundsRelativeToWindow()
		Method: non-public  void initialize(BrowserControl)
		Method: non-public  int getWindow(DrawingSurfaceInfo)


 Interface: org.mozilla.webclient.CurrentPage
                Method: public  void copyCurrentSelectionToSystemClipboard()
                        - 3 tests: without selection, with selection and without URL
                Method: public  void findInPage(String pattern, boolean forward,boolean matchcase)
                        - 5 tests: null,empty, incorrect, correct string and correct string without URL
                        - 4 tests: find (backward,forward)x(match,unmatch case)
                Method: public  void findNextInPage(boolean forward)
                        - 4 tests: find forward, backward, without previous find and at the end of docume
nt
                Method: public  java.lang.String getCurrentURL()
                        - 3 tests: during loading URL, during fully loaded URL and without URL
                Method: public  java.lang.String getSource()
                        - 2 tests: with correct page and without URL
                Method: public  [B getSourceBytes(boolean viewMode)
                        - 4 tests:  (with correct page and without URL)x(true and false viewMode)
                Method: public  void resetFind()
                        - 3 tests: without previous find, with correct find and without URL
                Method: public  void selectAll()
                        - 2 tests: with correct page and without URL
                Method: public  void getDOM()
                        - 2 tests: with correct page and without URL
                Method: public  void getPageInfo()
                        - 2 tests: with correct page and without URL


Interface:  org.mozilla.webclient.EventRegistration
		Method: public  void addDocumentLoadListener(DocumentLoadListener)
			- 8 tests: for each DocumentLoad event
			- 3 tests: null listener, several same listeners and several different listeners
		Method: public  void addMouseListener(java.awt.event.MouseListener)
			- 6 tests: for each Mouse event
			- 3 tests: null listener,several same listeners and several different listeners
		Method: public  void removeDocumentLoadListener(DocumentLoadListener)
			- 3 tests: null,registered DocumentLoadListener and non-registered DocumentLoadListener
		Method: public  void removeMouseListener(java.awt.event.MouseListener)
			- 3 tests: null,registered MouseListener and non-registered MouseListener


Interface:  org.mozilla.webclient.History
		Method: public  void back()
			- 2 tests: When previous page exists and when unexist
		Method: public  boolean canBack()
			- 2 tests: When previous page exists and when unexist
		Method: public  [Lorg.mozilla.webclient.HistoryEntry; getBackList()
			- 3 tests:  For 0,1,3 previous pages
		Method: public  void clearHistory()
			- 2 tests:  For empty and nonempty history
		Method: public  void forward()
			- 2 tests: When next page exists and when unexist
		Method: public  boolean canForward()
			- 2 tests: When next page exists and when unexist
		Method: public  [Lorg.mozilla.webclient.HistoryEntry; getForwardList()
			- 3 tests:  For 0,1,3 next pages
		Method: public  [Lorg.mozilla.webclient.HistoryEntry; getHistory()
			- 2 test: only with current page and with several pages (3-4),
				possible add 2 tests when current page first and last 
		Method: public  org.mozilla.webclient.HistoryEntry getHistoryEntry(int)
			- 4 tests: Integer.MIN_VALUE,Integer.MAX_VALUE,0,legal value
		Method: public  int getCurrentHistoryIndex()
			- 3 tests: when current page last, first, and in the middle of the history
		Method: public  void setCurrentHistoryIndex(int)
			- 5 tests: Integer.MIN_VALUE,Integer.MAX_VALUE,0,legal value,current index
		Method: public  int getHistoryLength()
			- 1 test: just get HistoryLength
		Method: public  java.lang.String getURLForIndex(int)
			- 5 tests: Integer.MIN_VALUE,Integer.MAX_VALUE, first and last

Comment:
	1. Also one test on each method can be added for situations, when history is empty
	2. Should be modeled situation, when history has several branches, for example
	
	<Start URL> - < URL 1 > - < URL 2 > (do back here to URL 1)
			|
		      <URL 3>
	We should verify, that URL 2 correctly removed from history when < URL 3 > loaded
			

Interface:  org.mozilla.webclient.Navigation
		Method: public  void stop() 
			- 3 tests: When loading in progress, when url loaded, when no URL's loaded at ALL 
		Method: public  void refresh(long)
			- 3 tests: When loading in progress, when url loaded, when no URL's loaded at ALL
			- 4 test: tests on parameter values(0, 512, Long.MIN_VALUE,Long.MAX_VALUE) 
		Method: public  void loadURL(String)
			- 2 tests: empty and null string
			- 3 tests: When loading in progress, when url loaded, when no URL's loaded at ALL 
			- 4 test: ftp://, http://, file://, bad protocol


Interface:  org.mozilla.webclient.WindowControl
		Method: public  void setBounds(Rectangle)
			- 2 tests: null and well constructed rectangle
		Method: public  void createWindow(int,Rectangle)
			- 3 tests: Integer.MIN_VALUE,Integer.MAX_VALUE,0 
			- 2 tests: with valid int use null and well constructed rectangle
		Method: public  int getNativeWebShell()
			- 1 test: just call
		Method: public  void moveWindowTo(int_int)
			- 6 tests: Integer.MIN_VALUE,Integer.MAX_VALUE,0 for each parameter when other parameter is good
			- 2 tests: move to good coordinates and move out of screen bounds  
		Method: public  void removeFocus()
			- 1 test: just call
		Method: public  void repaint(boolean)
			- 2 tests: force repaint and not
		Method: public  void setVisible(boolean)
			- 2 tests: with false and with true
		Method: public  void setFocus()
			- 1 test: just call


Interface:  org.mozilla.webclient.BookmarkEntry

		Method: public Properties getProperties()
		      - 3 tests: When bookmark entry recieved via TreeModel,via newBookmarkEntry,via newBookmarkFolder
		Method: public boolean isFolder()
		      - 2 tests: via newBookmarkEntry,via newBookmarkFolder

	Inherited from interface javax.swing.tree.MutableTreeNode:
            
		Method: public void insert(MutableTreeNode child, int index) 
		      - 5 tests: with null and existed child, with correct, 0, MIN_INTEGER and MAX_INTEGER index
		Method: public void remove(int index) 
		      - 4 tests: with correct, 0, MIN_INTEGER and MAX_INTEGER index
		Method: public void remove(MutableTreeNode node) 
		      - 2 tests: with null and existed node
		Method: public void removeFromParent() 
		      - 2 tests: with and without parent
		Method: public void setParent(MutableTreeNode newParent)
		      - 2 tests: with null and existed newParent 
		Method: public void setUserObject(Object object) 
		      - 2 tests: with null and correct object

	Inherited from interface javax.swing.tree.TreeNode:
		
		Method: public Enumeration children()
			- 2 tests: via newBookmarkEntry, newBookmarkFolder
		Method: public boolean getAllowsChildren()
			- 2 tests: via newBookmarkEntry, newBookmarkFolder
		Method: public TreeNode getChildAt(int index)
			- 5 tests: via newBookmarkEntry, newBookmarkFolder, with correct index, index=0, MIN_INTEGER and MAX_INTEGER
		Method: public int getChildCount()
			- 2 tests: via newBookmarkEntry, newBookmarkFolder
		Method: public int getIndex(TreeNode node)
			- 5 tests: via newBookmarkEntry, newBookmarkFolder, with correct, incorrect and null node
		Method: public TreeNode getParent()
			- 4 tests: via newBookmarkEntry, newBookmarkFolder, with existed and unexisted parent
		Method: public boolean isLeaf()
			- 2 tests: via newBookmarkEntry, newBookmarkFolder


Interface:  org.mozilla.webclient.cache.NetDataCacheManager  <SKIP>

Interface:  org.mozilla.webclient.Preferences		     <SKIP>

Interface:  org.mozilla.webclient.Print			     <SKIP>

Interface:  org.mozilla.webclient.ExtendedEventRegistration   <SKIP>

Summary 120-150 simple tests 



