mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-02-04 07:51:50 +00:00
* xfconf: fix existing empty array case
* fix xfconf_info as well
* add changelog frag
(cherry picked from commit b28ac655fc)
This commit is contained in:
parent
cd4a02605e
commit
40eec12c2c
4 changed files with 64 additions and 6 deletions
3
changelogs/fragments/11026-xfconf-empty-array.yml
Normal file
3
changelogs/fragments/11026-xfconf-empty-array.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
bugfixes:
|
||||
- xfconf - fix handling of empty array properties (https://github.com/ansible-collections/community.general/pull/11026).
|
||||
- xfconf_info - fix handling of empty array properties (https://github.com/ansible-collections/community.general/pull/11026).
|
||||
|
|
@ -206,10 +206,13 @@ class XFConfProperty(StateModuleHelper):
|
|||
self.do_raise('xfconf-query failed with error (rc={0}): {1}'.format(rc, err))
|
||||
|
||||
result = out.rstrip()
|
||||
if 'Value is an array with' in result:
|
||||
result = result.split('\n')
|
||||
result.pop(0)
|
||||
result.pop(0)
|
||||
if "Value is an array with" in result:
|
||||
result = result.split("\n")
|
||||
if len(result) > 1:
|
||||
result.pop(0)
|
||||
result.pop(0)
|
||||
else:
|
||||
return []
|
||||
|
||||
return result
|
||||
|
||||
|
|
|
|||
|
|
@ -153,9 +153,12 @@ class XFConfInfo(ModuleHelper):
|
|||
result = out.rstrip()
|
||||
if "Value is an array with" in result:
|
||||
result = result.split("\n")
|
||||
result.pop(0)
|
||||
result.pop(0)
|
||||
self.vars.is_array = True
|
||||
if len(result) > 1:
|
||||
result.pop(0)
|
||||
result.pop(0)
|
||||
else:
|
||||
return []
|
||||
|
||||
return result
|
||||
|
||||
|
|
|
|||
|
|
@ -207,6 +207,55 @@ test_cases:
|
|||
rc: 0
|
||||
out: ''
|
||||
err: ''
|
||||
- id: test_property_array_previously_empty
|
||||
input:
|
||||
channel: xfwm4
|
||||
property: /general/workspace_names
|
||||
state: present
|
||||
value_type: string
|
||||
value: [A, B, C]
|
||||
output:
|
||||
changed: true
|
||||
previous_value: []
|
||||
type: [string, string, string]
|
||||
value: [A, B, C]
|
||||
version: 4.18.1
|
||||
mocks:
|
||||
run_command:
|
||||
- command: [/testbin/xfconf-query, --version]
|
||||
environ: *env-def
|
||||
rc: 0
|
||||
out: *version-output
|
||||
err: ''
|
||||
- command: [/testbin/xfconf-query, --channel, xfwm4, --property, /general/workspace_names]
|
||||
environ: *env-def
|
||||
rc: 0
|
||||
out: "Value is an array with 0 items:\n\n"
|
||||
err: ''
|
||||
- command:
|
||||
- /testbin/xfconf-query
|
||||
- --channel
|
||||
- xfwm4
|
||||
- --property
|
||||
- /general/workspace_names
|
||||
- --create
|
||||
- --force-array
|
||||
- --type
|
||||
- string
|
||||
- --set
|
||||
- A
|
||||
- --type
|
||||
- string
|
||||
- --set
|
||||
- B
|
||||
- --type
|
||||
- string
|
||||
- --set
|
||||
- C
|
||||
environ: *env-def
|
||||
rc: 0
|
||||
out: ''
|
||||
err: ''
|
||||
- id: test_property_reset_value
|
||||
input:
|
||||
channel: xfwm4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue