You need to sign in to do that
Don't have an account?
SFDC Apex Dev
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[]{};