@@ -25,25 +25,25 @@ func TestDataValidation(t *testing.T) {
25
25
26
26
f := NewFile ()
27
27
28
- dvRange := NewDataValidation (true )
29
- dvRange .Sqref = "A1:B2"
30
- assert .NoError (t , dvRange .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorBetween ))
31
- dvRange .SetError (DataValidationErrorStyleStop , "error title" , "error body" )
32
- dvRange .SetError (DataValidationErrorStyleWarning , "error title" , "error body" )
33
- dvRange .SetError (DataValidationErrorStyleInformation , "error title" , "error body" )
34
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
28
+ dv := NewDataValidation (true )
29
+ dv .Sqref = "A1:B2"
30
+ assert .NoError (t , dv .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorBetween ))
31
+ dv .SetError (DataValidationErrorStyleStop , "error title" , "error body" )
32
+ dv .SetError (DataValidationErrorStyleWarning , "error title" , "error body" )
33
+ dv .SetError (DataValidationErrorStyleInformation , "error title" , "error body" )
34
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
35
35
36
36
dataValidations , err := f .GetDataValidations ("Sheet1" )
37
37
assert .NoError (t , err )
38
38
assert .Equal (t , len (dataValidations ), 1 )
39
39
40
40
assert .NoError (t , f .SaveAs (resultFile ))
41
41
42
- dvRange = NewDataValidation (true )
43
- dvRange .Sqref = "A3:B4"
44
- assert .NoError (t , dvRange .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorGreaterThan ))
45
- dvRange .SetInput ("input title" , "input body" )
46
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
42
+ dv = NewDataValidation (true )
43
+ dv .Sqref = "A3:B4"
44
+ assert .NoError (t , dv .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorGreaterThan ))
45
+ dv .SetInput ("input title" , "input body" )
46
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
47
47
48
48
dataValidations , err = f .GetDataValidations ("Sheet1" )
49
49
assert .NoError (t , err )
@@ -55,35 +55,35 @@ func TestDataValidation(t *testing.T) {
55
55
assert .NoError (t , err )
56
56
assert .NoError (t , f .SetSheetRow ("Sheet2" , "A2" , & []interface {}{"B2" , 1 }))
57
57
assert .NoError (t , f .SetSheetRow ("Sheet2" , "A3" , & []interface {}{"B3" , 3 }))
58
- dvRange = NewDataValidation (true )
59
- dvRange .Sqref = "A1:B1"
60
- assert .NoError (t , dvRange .SetRange ("INDIRECT($A$2)" , "INDIRECT($A$3)" , DataValidationTypeWhole , DataValidationOperatorBetween ))
61
- dvRange .SetError (DataValidationErrorStyleStop , "error title" , "error body" )
62
- assert .NoError (t , f .AddDataValidation ("Sheet2" , dvRange ))
58
+ dv = NewDataValidation (true )
59
+ dv .Sqref = "A1:B1"
60
+ assert .NoError (t , dv .SetRange ("INDIRECT($A$2)" , "INDIRECT($A$3)" , DataValidationTypeWhole , DataValidationOperatorBetween ))
61
+ dv .SetError (DataValidationErrorStyleStop , "error title" , "error body" )
62
+ assert .NoError (t , f .AddDataValidation ("Sheet2" , dv ))
63
63
dataValidations , err = f .GetDataValidations ("Sheet1" )
64
64
assert .NoError (t , err )
65
65
assert .Equal (t , len (dataValidations ), 2 )
66
66
dataValidations , err = f .GetDataValidations ("Sheet2" )
67
67
assert .NoError (t , err )
68
68
assert .Equal (t , len (dataValidations ), 1 )
69
69
70
- dvRange = NewDataValidation (true )
71
- dvRange .Sqref = "A5:B6"
70
+ dv = NewDataValidation (true )
71
+ dv .Sqref = "A5:B6"
72
72
for _ , listValid := range [][]string {
73
73
{"1" , "2" , "3" },
74
74
{strings .Repeat ("&" , MaxFieldLength )},
75
75
{strings .Repeat ("\u4E00 " , MaxFieldLength )},
76
76
{strings .Repeat ("\U0001F600 " , 100 ), strings .Repeat ("\u4E01 " , 50 ), "<&>" },
77
77
{`A<` , `B>` , `C"` , "D\t " , `E'` , `F` },
78
78
} {
79
- dvRange .Formula1 = ""
80
- assert .NoError (t , dvRange .SetDropList (listValid ),
79
+ dv .Formula1 = ""
80
+ assert .NoError (t , dv .SetDropList (listValid ),
81
81
"SetDropList failed for valid input %v" , listValid )
82
- assert .NotEqual (t , "" , dvRange .Formula1 ,
82
+ assert .NotEqual (t , "" , dv .Formula1 ,
83
83
"Formula1 should not be empty for valid input %v" , listValid )
84
84
}
85
- assert .Equal (t , `<formula1>"A<,B>,C"",D ,E',F"</formula1>` , dvRange .Formula1 )
86
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
85
+ assert .Equal (t , `<formula1>"A<,B>,C"",D ,E',F"</formula1>` , dv .Formula1 )
86
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
87
87
88
88
dataValidations , err = f .GetDataValidations ("Sheet1" )
89
89
assert .NoError (t , err )
@@ -113,49 +113,49 @@ func TestDataValidationError(t *testing.T) {
113
113
assert .NoError (t , f .SetCellStr ("Sheet1" , "E2" , "E2" ))
114
114
assert .NoError (t , f .SetCellStr ("Sheet1" , "E3" , "E3" ))
115
115
116
- dvRange := NewDataValidation (true )
117
- dvRange .SetSqref ("A7:B8" )
118
- dvRange .SetSqref ("A7:B8" )
119
- dvRange .SetSqrefDropList ("$E$1:$E$3" )
116
+ dv := NewDataValidation (true )
117
+ dv .SetSqref ("A7:B8" )
118
+ dv .SetSqref ("A7:B8" )
119
+ dv .SetSqrefDropList ("$E$1:$E$3" )
120
120
121
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
121
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
122
122
123
- dvRange = NewDataValidation (true )
124
- err := dvRange .SetDropList (make ([]string , 258 ))
125
- if dvRange .Formula1 != "" {
123
+ dv = NewDataValidation (true )
124
+ err := dv .SetDropList (make ([]string , 258 ))
125
+ if dv .Formula1 != "" {
126
126
t .Errorf ("data validation error. Formula1 must be empty!" )
127
127
return
128
128
}
129
129
assert .EqualError (t , err , ErrDataValidationFormulaLength .Error ())
130
- assert .EqualError (t , dvRange .SetRange (nil , 20 , DataValidationTypeWhole , DataValidationOperatorBetween ), ErrParameterInvalid .Error ())
131
- assert .EqualError (t , dvRange .SetRange (10 , nil , DataValidationTypeWhole , DataValidationOperatorBetween ), ErrParameterInvalid .Error ())
132
- assert .NoError (t , dvRange .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorGreaterThan ))
133
- dvRange .SetSqref ("A9:B10" )
130
+ assert .EqualError (t , dv .SetRange (nil , 20 , DataValidationTypeWhole , DataValidationOperatorBetween ), ErrParameterInvalid .Error ())
131
+ assert .EqualError (t , dv .SetRange (10 , nil , DataValidationTypeWhole , DataValidationOperatorBetween ), ErrParameterInvalid .Error ())
132
+ assert .NoError (t , dv .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorGreaterThan ))
133
+ dv .SetSqref ("A9:B10" )
134
134
135
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
135
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
136
136
137
137
// Test width invalid data validation formula
138
- prevFormula1 := dvRange .Formula1
138
+ prevFormula1 := dv .Formula1
139
139
for _ , keys := range [][]string {
140
140
make ([]string , 257 ),
141
141
{strings .Repeat ("s" , 256 )},
142
142
{strings .Repeat ("\u4E00 " , 256 )},
143
143
{strings .Repeat ("\U0001F600 " , 128 )},
144
144
{strings .Repeat ("\U0001F600 " , 127 ), "s" },
145
145
} {
146
- err = dvRange .SetDropList (keys )
147
- assert .Equal (t , prevFormula1 , dvRange .Formula1 ,
146
+ err = dv .SetDropList (keys )
147
+ assert .Equal (t , prevFormula1 , dv .Formula1 ,
148
148
"Formula1 should be unchanged for invalid input %v" , keys )
149
149
assert .EqualError (t , err , ErrDataValidationFormulaLength .Error ())
150
150
}
151
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
152
- assert .NoError (t , dvRange .SetRange (
151
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
152
+ assert .NoError (t , dv .SetRange (
153
153
- math .MaxFloat32 , math .MaxFloat32 ,
154
154
DataValidationTypeWhole , DataValidationOperatorGreaterThan ))
155
- assert .EqualError (t , dvRange .SetRange (
155
+ assert .EqualError (t , dv .SetRange (
156
156
- math .MaxFloat64 , math .MaxFloat32 ,
157
157
DataValidationTypeWhole , DataValidationOperatorGreaterThan ), ErrDataValidationRange .Error ())
158
- assert .EqualError (t , dvRange .SetRange (
158
+ assert .EqualError (t , dv .SetRange (
159
159
math .SmallestNonzeroFloat64 , math .MaxFloat64 ,
160
160
DataValidationTypeWhole , DataValidationOperatorGreaterThan ), ErrDataValidationRange .Error ())
161
161
assert .NoError (t , f .SaveAs (resultFile ))
@@ -173,33 +173,33 @@ func TestDeleteDataValidation(t *testing.T) {
173
173
f := NewFile ()
174
174
assert .NoError (t , f .DeleteDataValidation ("Sheet1" , "A1:B2" ))
175
175
176
- dvRange := NewDataValidation (true )
177
- dvRange .Sqref = "A1:B2"
178
- assert .NoError (t , dvRange .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorBetween ))
179
- dvRange .SetInput ("input title" , "input body" )
180
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
176
+ dv := NewDataValidation (true )
177
+ dv .Sqref = "A1:B2"
178
+ assert .NoError (t , dv .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorBetween ))
179
+ dv .SetInput ("input title" , "input body" )
180
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
181
181
assert .NoError (t , f .DeleteDataValidation ("Sheet1" , "A1:B2" ))
182
182
183
- dvRange .Sqref = "A1"
184
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
183
+ dv .Sqref = "A1"
184
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
185
185
assert .NoError (t , f .DeleteDataValidation ("Sheet1" , "B1" ))
186
186
assert .NoError (t , f .DeleteDataValidation ("Sheet1" , "A1" ))
187
187
188
- dvRange .Sqref = "C2:C5"
189
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
188
+ dv .Sqref = "C2:C5"
189
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
190
190
assert .NoError (t , f .DeleteDataValidation ("Sheet1" , "C4" ))
191
191
192
- dvRange = NewDataValidation (true )
193
- dvRange .Sqref = "D2:D2 D3 D4"
194
- assert .NoError (t , dvRange .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorBetween ))
195
- dvRange .SetInput ("input title" , "input body" )
196
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
192
+ dv = NewDataValidation (true )
193
+ dv .Sqref = "D2:D2 D3 D4"
194
+ assert .NoError (t , dv .SetRange (10 , 20 , DataValidationTypeWhole , DataValidationOperatorBetween ))
195
+ dv .SetInput ("input title" , "input body" )
196
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
197
197
assert .NoError (t , f .DeleteDataValidation ("Sheet1" , "D3" ))
198
198
199
199
assert .NoError (t , f .SaveAs (filepath .Join ("test" , "TestDeleteDataValidation.xlsx" )))
200
200
201
- dvRange .Sqref = "A"
202
- assert .NoError (t , f .AddDataValidation ("Sheet1" , dvRange ))
201
+ dv .Sqref = "A"
202
+ assert .NoError (t , f .AddDataValidation ("Sheet1" , dv ))
203
203
assert .EqualError (t , f .DeleteDataValidation ("Sheet1" , "A1" ), newCellNameToCoordinatesError ("A" , newInvalidCellNameError ("A" )).Error ())
204
204
205
205
assert .EqualError (t , f .DeleteDataValidation ("Sheet1" , "A1:A" ), newCellNameToCoordinatesError ("A" , newInvalidCellNameError ("A" )).Error ())
0 commit comments