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 Not implemented webclient.Preferences Not implemented webclient.Print Not implemented webclient.ExtendedEventRegistration 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 - < URL 1 > - < URL 2 > (do back here to URL 1) | 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 Interface: org.mozilla.webclient.Preferences Interface: org.mozilla.webclient.Print Interface: org.mozilla.webclient.ExtendedEventRegistration Summary 120-150 simple tests