@@ -14,4 +14,72 @@ describe('hidden thingy', function() {
14
14
var expectedValue = browser . params . browser === 'safari' ? '{{ 7 * 6 }}' : '' ;
15
15
expect ( element ( by . css ( 'input' ) ) . getAttribute ( 'value' ) ) . toEqual ( expectedValue ) ;
16
16
} ) ;
17
+
18
+ it ( 'should prevent browser autofill on browser.refresh' , function ( ) {
19
+
20
+ loadFixture ( 'back2dom' ) ;
21
+ expect ( element ( by . css ( '#input1' ) ) . getAttribute ( 'value' ) ) . toEqual ( '' ) ;
22
+ expect ( element ( by . css ( '#input2' ) ) . getAttribute ( 'value' ) ) . toEqual ( '' ) ;
23
+
24
+ element ( by . css ( 'textarea' ) ) . sendKeys ( '{{ internalFn() }}' ) ;
25
+
26
+ expect ( element ( by . css ( '#input1' ) ) . getAttribute ( 'value' ) ) . toEqual ( '{{ internalFn() }}' ) ;
27
+ expect ( element ( by . css ( '#input2' ) ) . getAttribute ( 'value' ) ) . toEqual ( '{{ internalFn() }}' ) ;
28
+ expect ( element ( by . css ( 'body' ) ) . getAttribute ( 'class' ) ) . toBe ( '' ) ;
29
+
30
+ browser . refresh ( ) ;
31
+ expect ( element ( by . css ( 'body' ) ) . getAttribute ( 'class' ) ) . toBe ( '' ) ;
32
+ } ) ;
33
+
34
+ it ( 'should prevent browser autofill on location.reload' , function ( ) {
35
+
36
+ loadFixture ( 'back2dom' ) ;
37
+ expect ( element ( by . css ( '#input1' ) ) . getAttribute ( 'value' ) ) . toEqual ( '' ) ;
38
+ expect ( element ( by . css ( '#input2' ) ) . getAttribute ( 'value' ) ) . toEqual ( '' ) ;
39
+
40
+ element ( by . css ( 'textarea' ) ) . sendKeys ( '{{ internalFn() }}' ) ;
41
+
42
+ expect ( element ( by . css ( '#input1' ) ) . getAttribute ( 'value' ) ) . toEqual ( '{{ internalFn() }}' ) ;
43
+ expect ( element ( by . css ( '#input2' ) ) . getAttribute ( 'value' ) ) . toEqual ( '{{ internalFn() }}' ) ;
44
+ expect ( element ( by . css ( 'body' ) ) . getAttribute ( 'class' ) ) . toBe ( '' ) ;
45
+
46
+ browser . driver . executeScript ( 'location.reload()' ) ;
47
+ expect ( element ( by . css ( 'body' ) ) . getAttribute ( 'class' ) ) . toBe ( '' ) ;
48
+ } ) ;
49
+
50
+ it ( 'should prevent browser autofill on history.back' , function ( ) {
51
+
52
+ loadFixture ( 'back2dom' ) ;
53
+ expect ( element ( by . css ( '#input1' ) ) . getAttribute ( 'value' ) ) . toEqual ( '' ) ;
54
+ expect ( element ( by . css ( '#input2' ) ) . getAttribute ( 'value' ) ) . toEqual ( '' ) ;
55
+
56
+ element ( by . css ( 'textarea' ) ) . sendKeys ( '{{ internalFn() }}' ) ;
57
+
58
+ expect ( element ( by . css ( '#input1' ) ) . getAttribute ( 'value' ) ) . toEqual ( '{{ internalFn() }}' ) ;
59
+ expect ( element ( by . css ( '#input2' ) ) . getAttribute ( 'value' ) ) . toEqual ( '{{ internalFn() }}' ) ;
60
+ expect ( element ( by . css ( 'body' ) ) . getAttribute ( 'class' ) ) . toBe ( '' ) ;
61
+
62
+ loadFixture ( 'sample' ) ;
63
+
64
+ browser . driver . executeScript ( 'history.back()' ) ;
65
+ expect ( element ( by . css ( 'body' ) ) . getAttribute ( 'class' ) ) . toBe ( '' ) ;
66
+ } ) ;
67
+
68
+ it ( 'should prevent browser autofill on history.forward' , function ( ) {
69
+
70
+ loadFixture ( 'sample' ) ;
71
+ loadFixture ( 'back2dom' ) ;
72
+ expect ( element ( by . css ( '#input1' ) ) . getAttribute ( 'value' ) ) . toEqual ( '' ) ;
73
+ expect ( element ( by . css ( '#input2' ) ) . getAttribute ( 'value' ) ) . toEqual ( '' ) ;
74
+
75
+ element ( by . css ( 'textarea' ) ) . sendKeys ( '{{ internalFn() }}' ) ;
76
+
77
+ expect ( element ( by . css ( '#input1' ) ) . getAttribute ( 'value' ) ) . toEqual ( '{{ internalFn() }}' ) ;
78
+ expect ( element ( by . css ( '#input2' ) ) . getAttribute ( 'value' ) ) . toEqual ( '{{ internalFn() }}' ) ;
79
+ expect ( element ( by . css ( 'body' ) ) . getAttribute ( 'class' ) ) . toBe ( '' ) ;
80
+
81
+ browser . driver . executeScript ( 'history.back()' ) ;
82
+ browser . driver . executeScript ( 'history.forward()' ) ;
83
+ expect ( element ( by . css ( 'body' ) ) . getAttribute ( 'class' ) ) . toBe ( '' ) ;
84
+ } ) ;
17
85
} ) ;
0 commit comments