You need to sign in to do that
Don't have an account?

getting error null pointer exception for this controller class...
APEX CLASS
public with sharing class MultiselectController {
public SelectOption[] leftOptions { get; set; }
public SelectOption[] rightOptions { get; set; }
@TestVisible private void setOptions(SelectOption[] options, String value) {
system.debug('##--setOptions.options: '+ options);
system.debug('##--setOptions.value: '+ value);
options.clear();
String[] parts = value.split('&');
for (Integer i=0; i<parts.size()/2; i++) {
options.add(new SelectOption(EncodingUtil.urlDecode(parts[i*2], 'UTF-8'),
EncodingUtil.urlDecode(parts[(i*2)+1], 'UTF-8')));
}
}
public String leftOptionsHidden { get; set {
leftOptionsHidden = value;
setOptions(leftOptions, value);
}
}
public String rightOptionsHidden { get; set {
rightOptionsHidden = value;
setOptions(rightOptions, value);
}
}
}
TEST CLASS
@isTest
public class MultiselectControllerTest {
static testMethod void testOptions(){
MultiselectController msc=new MultiselectController();
SelectOption[] selop = new SelectOption[]{};
String str='UTF-8';
msc.setOptions(selop,str);
selop.clear();
}
static testMethod void testOptions1(){
MultiselectController msc=new MultiselectController();
List<SelectOption> leftOptions = new List<SelectOption>{};
String str1='UTF-8';
msc.leftOptionsHidden = 'PB';
msc.setOptions(leftOptions, str1);
}
static testMethod void testOptions2(){
MultiselectController msc=new MultiselectController();
List<SelectOption> rightOptions = new List<SelectOption>{};
String str2='UTF-8';
msc.rightOptionsHidden = 'Pitney';
msc.setOptions(rightOptions, str2);
}
}
getting error: null pointer exception: attempt to de-reference to null object
at bold and italic and underlined line in test class
public with sharing class MultiselectController {
public SelectOption[] leftOptions { get; set; }
public SelectOption[] rightOptions { get; set; }
@TestVisible private void setOptions(SelectOption[] options, String value) {
system.debug('##--setOptions.options: '+ options);
system.debug('##--setOptions.value: '+ value);
options.clear();
String[] parts = value.split('&');
for (Integer i=0; i<parts.size()/2; i++) {
options.add(new SelectOption(EncodingUtil.urlDecode(parts[i*2], 'UTF-8'),
EncodingUtil.urlDecode(parts[(i*2)+1], 'UTF-8')));
}
}
public String leftOptionsHidden { get; set {
leftOptionsHidden = value;
setOptions(leftOptions, value);
}
}
public String rightOptionsHidden { get; set {
rightOptionsHidden = value;
setOptions(rightOptions, value);
}
}
}
TEST CLASS
@isTest
public class MultiselectControllerTest {
static testMethod void testOptions(){
MultiselectController msc=new MultiselectController();
SelectOption[] selop = new SelectOption[]{};
String str='UTF-8';
msc.setOptions(selop,str);
selop.clear();
}
static testMethod void testOptions1(){
MultiselectController msc=new MultiselectController();
List<SelectOption> leftOptions = new List<SelectOption>{};
String str1='UTF-8';
msc.leftOptionsHidden = 'PB';
msc.setOptions(leftOptions, str1);
}
static testMethod void testOptions2(){
MultiselectController msc=new MultiselectController();
List<SelectOption> rightOptions = new List<SelectOption>{};
String str2='UTF-8';
msc.rightOptionsHidden = 'Pitney';
msc.setOptions(rightOptions, str2);
}
}
getting error: null pointer exception: attempt to de-reference to null object
at bold and italic and underlined line in test class
And test class
I am still getting the same error...
Hi Raj,
What is the need of this line in apex class options = new SelectOption[]{};
Can you explain me.....plese....
So i initialize the value to solve it
options = new SelectOption[]{};