Beispiel #1
0
 def __init__(self, origin = None, values = None):
   super(value_string_list, self).__init__(origin)
   values = values or string_list()
   if not check.is_string_list(values):
     values = string_list(values)
   check.check_string_list(values)
   self.values = values
Beispiel #2
0
 def parse(clazz, origin, text, node):
   if origin:
     check.check_value_origin(origin)
   check.check_node(node)
   if not text:
     values = string_list()
   else:
     values = string_list.parse(text, options = string_list.KEEP_QUOTES)
   return clazz(origin = origin, values = values)
Beispiel #3
0
 def resolve(clazz, values, class_name):
   'Resolve a list of values if this type into a nice dictionary.'
   if class_name != value_type.STRING_LIST:
     values_string = [ str(x) for x in values ]
     print('WARNING: %s: class_name should be %s instead of %s for %s' % (values[0].origin, value_type.value_to_name(value_type.STRING_LIST),
                                                                        value_type.value_to_name(class_name), values_string))
     assert False
     return clazz.default_value(class_name)
     #raise TypeError('class_name should be %s instead of %d' % (value_type.STRING_LIST, class_name))
   result = string_list()
   for value in values:
     check.check_value_string_list(value)
     result.extend(value.values)
   result.remove_dups()
   return result
Beispiel #4
0
    def test_empty_defaults(self):
        text = '''\
'''
        step = self._parse(text)
        r = step.resolve_values({}, testing_recipe_load_env(self.BT_LINUX))
        expected = {
            'bool_value': False,
            'install_file_value': [],
            'file_list_value': value_file_list(),
            'file_value': None,
            'hook_list_value': [],
            'int_value': None,
            'key_values_value': KVL(),
            'string_list_value': string_list(),
            'string_value': None,
            'git_address_value': None,
        }
        self.assertEqual(expected, r)

        r = step.resolve_values({}, testing_recipe_load_env(self.BT_MACOS))
        self.assertEqual(expected, r)
Beispiel #5
0
 def default_value(clazz, class_name):
   return string_list()
 def parse_node_children_to_string_list(clazz, node):
     result = string_list()
     for child in node.children:
         result.append(child.data.text)
     return result