1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/gdb/tests/test-prettyprinters.py Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,22 @@ 1.4 +import mozilla.prettyprinters 1.5 + 1.6 +run_fragment('prettyprinters.implemented_types') 1.7 + 1.8 +def implemented_type_names(expr): 1.9 + v = gdb.parse_and_eval(expr) 1.10 + it = mozilla.prettyprinters.implemented_types(v.type) 1.11 + return [str(_) for _ in it] 1.12 + 1.13 +assert_eq(implemented_type_names('i'), ['int']) 1.14 +assert_eq(implemented_type_names('a'), ['A', 'int']) 1.15 +assert_eq(implemented_type_names('b'), ['B', 'A', 'int']) 1.16 +assert_eq(implemented_type_names('c'), ['C']) 1.17 +assert_eq(implemented_type_names('c_'), ['C_', 'C']) 1.18 +assert_eq(implemented_type_names('e'), ['E', 'C', 'D']) 1.19 +assert_eq(implemented_type_names('e_'), ['E_', 'E', 'C', 'D']) 1.20 +assert_eq(implemented_type_names('f'), ['F', 'C', 'D']) 1.21 +assert_eq(implemented_type_names('h'), ['H', 'F', 'G', 'C', 'D']) 1.22 + 1.23 +# Check that our pretty-printers aren't interfering with printing other types. 1.24 +assert_pretty('10', '10') 1.25 +assert_pretty('(void*) 0', '') # Because of 'set print address off'