root/trunk/sumatra/examples/2_browser/ExpandElementTest.groovy

Revision 2, 2.0 KB (checked in by scottvlaminck, 3 years ago)

rename rhinounit package to sumatra

Line 
1class ExpandElementTest extends sumatra.groovy.SumatraTestCase
2{
3        void setUp()
4        {
5                // load simple default implementation of browser-provided objects
6                initBrowser()
7               
8                // load the javascript file to test
9                load('examples/2_browser/expandElement.js')
10        }
11       
12        void testMockElement()
13        {               
14                def stubElement = createStubElement('div', 'settings', [className:'closed', innerHTML:'Hello World'])
15/*              def stubElement = new StubElementFor('div', 'settings', [className:'closed', innerHTML:'Hello World'])*/
16
17                assert 'closed' == stubElement.className
18                assert 'Hello World' == stubElement.innerHTML
19                assert 'settings' == stubElement.id
20                assert 'DIV' == stubElement.tagName
21               
22                // call javascript function
23                def returnedElement = f('expandSettings')()
24                // TODO: Consider ...
25                // vs: def returnedElement = js.expandSettings()
26
27                // className was changed
28                assert 'expanded' == returnedElement.className
29               
30                // the other attributes have not changed
31                assert 'Hello World' == returnedElement.innerHTML
32                assert 'settings' == returnedElement.id
33                assert 'DIV' == returnedElement.tagName
34               
35                // our stubElement also changed, since they refer to the same object instance
36                assert 'expanded' == stubElement.className
37        }
38       
39        void testMockElementUsingExecJs()
40        {
41                def stubElement = createStubElement('div', 'settings', [className:'closed', innerHTML:'Hello World'])
42
43                assert 'closed' == stubElement.className
44                assert 'Hello World' == stubElement.innerHTML
45                assert 'settings' == stubElement.id
46                assert 'DIV' == stubElement.tagName
47               
48
49                // call javascript function using execJs
50                def returnedElement = execJs('expandSettings()')
51
52
53                // className was changed
54                assert 'expanded' == returnedElement.className
55               
56                // the other attributes have not changed
57                assert 'Hello World' == returnedElement.innerHTML
58                assert 'settings' == returnedElement.id
59                assert 'DIV' == returnedElement.tagName
60               
61                // our stubElement also changed, since they refer to the same object
62                assert 'expanded' == stubElement.className
63        }
64}
Note: See TracBrowser for help on using the browser.