Revision: 99498a05e929
Author: Mikko Korpela <[email protected]>
Date: Tue Jun 21 13:22:00 2011
Log: fix metadata key strings pruning
http://code.google.com/p/robotframework/source/detail?r=99498a05e929
Modified:
/src/robot/result/jsondatamodel.py
/utest/result/test_js_serializer.py
=======================================
--- /src/robot/result/jsondatamodel.py Tue Jun 21 12:33:07 2011
+++ /src/robot/result/jsondatamodel.py Tue Jun 21 13:22:00 2011
@@ -80,6 +80,7 @@
self._collect_used_indices(item, result)
elif isinstance(item, dict):
self._collect_used_indices(item.values(), result)
+ self._collect_used_indices(item.keys(), result)
return result
=======================================
--- /utest/result/test_js_serializer.py Tue Jun 21 13:12:45 2011
+++ /utest/result/test_js_serializer.py Tue Jun 21 13:22:00 2011
@@ -242,13 +242,16 @@
'<tags></tags><status status="PASS" endtime="20110601
12:01:51.354" critical="yes" starttime="20110601
12:01:51.353"></status></test>'
self._test_remove_keywords(self._get_data_model(test_xml))
- def _test_remove_keywords(self, data_model):
+ def _test_remove_keywords(self, data_model,
should_contain_strings=None):
strings_before = self._list_size(data_model._robot_data['strings'])
integers_before =
self._list_size(data_model._robot_data['integers'])
data_model_json_before = StringIO.StringIO()
data_model.write_to(data_model_json_before)
data_model.remove_keywords()
self.assert_model_does_not_contain(data_model,
['kw', 'setup', 'forloop', 'foritem'])
+ if should_contain_strings:
+ for string in should_contain_strings:
+ assert_true(string in data_model._robot_data['strings'],
msg='string "%s" not in strings' % string)
data_model_json_after = StringIO.StringIO()
data_model.write_to(data_model_json_after)
assert_true(len(data_model_json_before.getvalue()) >
len(data_model_json_after.getvalue()))
@@ -276,7 +279,7 @@
'keyword_Verysimple.Test.0')
def test_suite_data_model_keywords_clearing(self):
- self._test_remove_keywords(self._get_data_model(self.SUITE_XML))
+ self._test_remove_keywords(self._get_data_model(self.SUITE_XML),
should_contain_strings=['*key', '*val'])
def test_statistics_xml_parsing(self):
statistics_xml = """