summaryrefslogtreecommitdiff
path: root/spec/unit/puppet/provider
AgeCommit message (Collapse)Author
2013-03-12Merge pull request #30 from bodepd/fix_nil_indentationChris Price
guard against nil indentation values
2013-03-11guard against nil indentation valuesDan Bode
This commit is intended to resolves an issue where the indentation value can be nil (which leads to a run time exception) This occurrs in cases where a section is following by only one of more comments. The proposed fix is to guard against potential nil values where the error occurs. This fix is idential to code used at line 125 of the same file.
2013-03-04Add purging support to ini fileDan Bode
This commit adds purging to ini file native types. Purging will only work for child providers that implement the method: self.file_path. This is because collecting all instances of the type ( which is a requirement for purging) is only possible when the path of the file that is being managed can be accessed by the class instance (in the method self.instances.) This commit adds the following method to the internal of the ini_file: - get_settings - has of all settings/values for a given section It also adds the following method to the section class: - setting_names - list of all setting names in a section. These methods are required for the instances method to be able to list the values for all settings of each section.
2012-10-26Add detection for commented versions of settingsChris Price
This commit adds support for detecting commented versions of settings in an existing version of an inifile. If you are setting a value for a setting that isn't currently set in the file, but a commented version is found, then we add the new setting immediately following the commented version, rather than at the end of the section.
2012-10-20Better handling of whitespace lines at ends of sectionsChris Price
This is another bit of cosmetic functionality; prior to this commit, when adding a new setting to a section, we'd write it on the very last line before the next section, even if there was a chunk of trailing whitespace lines at the end of the existing section. This was functional, but the output was not always particularly pleasant for human consumption. This commit tweaks things so that we insert new settings just before the final chunk of whitespace lines in an existing section. This keeps things a bit cleaner.
2012-10-20Respect indentation / spacing for existing sections and settingsChris Price
This commit adds some cosmetic functionality. The main two improvements are: * We'll now pay attention to indentation within existing sections, and when we write new settings or update existing ones, we'll match the existing indentation. * When modifying existing settings, the regex now captures a greater portion of the original line and preserves it. Basically, the original whitespacing in the line should remain intact and only the value should be modified.
2012-10-17Minor tweaks to handling of removing settingsChris Price
This commit makes some minor changes to how we handle removing settings. In particular, it updates all of the line numbers of the various 'section' objects to correspond to the new state of the world based on the removal of a line that appeared before them. Also adds one more test related to setting removal.
2012-10-10Add support for removing linesDan Bode
This commit adds the ability to ensure that lines are absent.
2012-10-02Make value a propertyDan Bode
This commit converts value to a property so that it can be managed and modified when a file already has a value set. It was previously treating the line creation state the same as the update case, which is not in alignment with Puppet's model.
2012-09-20Add validation for key_val_separatorChris Price
For now, the key_val_separator is required to contain exactly one '=' character. This commit simply validates that that is the case.
2012-09-19Allow overriding separator string between key/val pairsChris Price
This introduces a new parameter, 'key_val_separator', which can be set in order to override the string that is used as a separator between the key/value pair of a setting line. The default is ' = ', but you could set the param to '=' if you don't want to include whitespace in your settings file.
2012-09-04Added tests for sections with colonsJoe Topjian
2012-08-17Add support for "global" section at beginning of fileChris Price
This commit does the following: * Fixes a bug in ExternalIterator * Adds support for a "global" section before the first named section at the beginning of the INI file * Improves test coverage
2012-08-14Fixed regex to match sections and settings with non alphanumericStephen
characters. Fixed writing to file without any sections at all. Fixed exists checking for variable type by always casting to string and added all the tests for the above items.
2012-07-28First (basic) working version of ini_setting providerChris Price
2012-06-14Started writing some tests, work has been puntedChris Price