backdrop-contrib / coder_upgrade

Helps automate some/most of the work required to upgrade a module from Drupal to Backdrop 1.x
GNU General Public License v2.0
4 stars 7 forks source link

Addresses issue #56. #57

Closed rbargerhuff closed 3 years ago

rbargerhuff commented 3 years ago
rbargerhuff commented 3 years ago

Fixes issue #56

bugfolder commented 3 years ago

Tested this.

Create a module, coder_upgrade_issue_56_test, containing this function:

function coder_upgrade_issue_56_test() {
  return variable_get('coder_upgrade_issue_56_var', t('Some text.'));
}

Pre-patch result:

Function converted to

function coder_upgrade_issue_56_test() {
  return config_get('coder_upgrade_issue_56.settings', 'coder_upgrade_issue_56_var');
}

Update hook implementation given as

function coder_upgrade_issue_56_update_1000() {
  $config = config('coder_upgrade_issue_56.settings');
  $config->set('coder_upgrade_issue_56_var', update_variable_get('coder_upgrade_issue_56_var', 't(' Some text . ')'));
  $config->save();

  update_variable_del('coder_upgrade_issue_56_var');
}

Which is incorrect.

Post-patch result:

Update hook implementation given as

function coder_upgrade_issue_56_update_1000() {
  $config = config('coder_upgrade_issue_56.settings');
  $config->set('coder_upgrade_issue_56_var', update_variable_get('coder_upgrade_issue_56_var', 'dynamic value in file /coder_upgrade_issue_56/coder_upgrade_issue_56.module line 13'));
  $config->save();

  update_variable_del('coder_upgrade_issue_56_var');
}

/**
 * Implements hook_install().
 */
function coder_upgrade_issue_56_install() {
  // Dynamically generated variable data was detected.
  // /coder_upgrade_issue_56/coder_upgrade_issue_56.module line 13
}

This is correct. A complex expression as the default value in variable_get() should result in the dynamic variable warning.

So looks ready to be committed.