setName('field_test_field'); $formatter_options = [ 'field_definition' => $base_field_definition, 'view_mode' => 'default', 'configuration' => [ 'type' => 'field_test_applicable', ], ]; $instance = $formatter_plugin_manager->getInstance($formatter_options); $this->assertEqual($instance->getPluginId(), 'field_test_applicable'); // Now set name to something that makes isApplicable() return FALSE. $base_field_definition->setName('deny_applicable'); $instance = $formatter_plugin_manager->getInstance($formatter_options); // Instance should be default widget. $this->assertNotEqual($instance->getPluginId(), 'field_test_applicable'); $this->assertEqual($instance->getPluginId(), 'field_test_default'); } }