Эх сурвалжийг харах

Use more specific check for handling booleans in Firefox profile

Daniel Gempesaw 10 жил өмнө
parent
commit
fc36500ce9

+ 1 - 1
lib/Selenium/Firefox/Profile.pm

@@ -91,7 +91,7 @@ sub set_preference {
         my $value = $prefs{$_};
         my $value = $prefs{$_};
         my $clean_value = '';
         my $clean_value = '';
 
 
-        if ( blessed($value) ) {
+        if ( JSON::is_bool($value) ) {
             $self->set_boolean_preference($_, $value );
             $self->set_boolean_preference($_, $value );
             next;
             next;
         }
         }

+ 9 - 0
t/Firefox-Profile.t

@@ -126,6 +126,15 @@ PREFERENCES: {
             cmp_ok($profile->get_preference($_), "eq", $expected->{$_},
             cmp_ok($profile->get_preference($_), "eq", $expected->{$_},
                    "$_ pref is formatted correctly");
                    "$_ pref is formatted correctly");
         }
         }
+
+        $profile->set_preference(
+            'boolean.true.2' => JSON::true,
+            'boolean.false.2' => JSON::false
+        );
+        is($profile->get_preference('boolean.true.2'), 'true',
+           'format true booleans via set_preference & JSON::true');
+        is($profile->get_preference('boolean.false.2'), 'false',
+           'format false booleans via set_preference & JSON::false');
     }
     }
 
 
   PACK_AND_UNPACK: {
   PACK_AND_UNPACK: {