当前位置: 首页>>代码示例>>Python>>正文


Python ReportBuilder.report方法代码示例

本文整理汇总了Python中report_builder.ReportBuilder.report方法的典型用法代码示例。如果您正苦于以下问题:Python ReportBuilder.report方法的具体用法?Python ReportBuilder.report怎么用?Python ReportBuilder.report使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在report_builder.ReportBuilder的用法示例。


在下文中一共展示了ReportBuilder.report方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_report

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_report(self):
        source = """\
import example_printing
__live_coding_context__ = globals()['report_builder']  # variable name is important!
example_printing.custom_print('42', 'xyz')
"""
        expected_report_python2 = """\


print '42xyz'
"""
        expected_report_python3 = """\


print('42xyz')
"""
        expected_report = (expected_report_python3
                           if version_info.major >= 3
                           else expected_report_python2)
        report_builder = ReportBuilder()
        environment = dict(report_builder=report_builder)
        swallower = FileSwallower(sys.stdout)

        with patch('sys.stdout', swallower):
            exec(source, environment, environment)
        report = report_builder.report()

        self.assertReportEqual(expected_report, report)
开发者ID:donkirkby,项目名称:live-py-plugin,代码行数:30,代码来源:test_code_tracer.py

示例2: test_assign_function

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
 def test_assign_function(self):
     # SETUP
     expected_report = ''
     f = lambda n: n + 1
     
     # EXEC
     builder = ReportBuilder()
     builder.assign(name='f', value=f, line_number=2)
     report = builder.report()
     
     # VERIFY
     self.assertEqual(expected_report.splitlines(), report.splitlines())
开发者ID:Amirus,项目名称:live-py-plugin,代码行数:14,代码来源:report_builder_test.py

示例3: test_multiple_messages

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_multiple_messages(self):
        # SETUP
        expected_report = """\
x = 1 y = 2 """
        
        # EXEC
        builder = ReportBuilder()
        builder.assign(name='x', value=1, line_number=1)
        builder.assign(name='y', value=2, line_number=1)
        report = builder.report()
        
        # VERIFY
        self.assertEqual(expected_report.splitlines(), report.splitlines())
开发者ID:Amirus,项目名称:live-py-plugin,代码行数:15,代码来源:report_builder_test.py

示例4: test_assign_object_without_repr

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
 def test_assign_object_without_repr(self):
     # SETUP
     expected_report = ''
     class class_without_repr(object):
         pass
     
     # EXEC
     builder = ReportBuilder()
     builder.assign(name='x', value=class_without_repr(), line_number=2)
     report = builder.report()
     
     # VERIFY
     self.assertEqual(expected_report.splitlines(), report.splitlines())
开发者ID:Amirus,项目名称:live-py-plugin,代码行数:15,代码来源:report_builder_test.py

示例5: test_delete_item

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_delete_item(self):
        # SETUP
        expected_report = "d = {'a': 1}"
        d = {'a': 1, 'b': 2}
        expected_d = {'a': 1}

        # EXEC
        builder = ReportBuilder()
        del builder.record_delete(name='d', target=d, line_number=1)['b']
        report = builder.report()

        # VERIFY
        self.assertReportEqual(expected_report, report)
        self.assertEqual(expected_d, d)
开发者ID:emacsmirror,项目名称:live-py-mode,代码行数:16,代码来源:report_builder_test.py

示例6: test_assign_function

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_assign_function(self):
        # SETUP
        expected_report = ''

        def f(n):
            return n+1

        # EXEC
        builder = ReportBuilder()
        builder.assign(name='f', value=f, line_number=2)
        report = builder.report()

        # VERIFY
        self.assertReportEqual(expected_report, report)
开发者ID:emacsmirror,项目名称:live-py-mode,代码行数:16,代码来源:report_builder_test.py

示例7: trace_code

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def trace_code(self, source, module_name=None):
        builder = ReportBuilder(self.message_limit)
        builder.max_width = self.max_width

        try:
            tree = parse(source)

            new_tree = Tracer().visit(tree)
            fix_missing_locations(new_tree)
            LineNumberCleaner().visit(new_tree)
#             from ast import dump
#             print(dump(new_tree, include_attributes=False))
            code = compile(new_tree, PSEUDO_FILENAME, 'exec')

            self.environment[CONTEXT_NAME] = builder
            if module_name is None:
                environment = self.environment
            else:
                mod = types.ModuleType(module_name)
                sys.modules[module_name] = mod
                # Any reason to set mod.__file__?

                mod.__dict__.update(self.environment)
                environment = mod.__dict__
            exec(code, environment)
            for value in environment.values():
                if isinstance(value, types.GeneratorType):
                    value.close()
        except SyntaxError:
            ex = sys.exc_info()[1]
            messages = traceback.format_exception_only(type(ex), ex)
            builder.add_message(messages[-1].strip() + ' ', ex.lineno)
        except:
            etype, value, tb = sys.exc_info()
            is_reported = False
            builder.message_limit = None  # make sure we don't hit limit
            builder.max_width = None  # make sure we don't hit limit
            messages = traceback.format_exception_only(etype, value)
            message = messages[-1].strip() + ' '
            entries = traceback.extract_tb(tb)
            for filename, line_number, _, _ in entries:
                if filename == PSEUDO_FILENAME:
                    builder.add_extra_message(message, line_number)
                    is_reported = True
            if not is_reported:
                builder.add_message(message, 1)
#                print('=== Unexpected Exception in tracing code ===')
#                traceback.print_exception(etype, value, tb)

        return builder.report()
开发者ID:ajinkyakulkarni,项目名称:live-py-plugin,代码行数:52,代码来源:code_tracer.py

示例8: test_assign_object_with_repr_exception

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_assign_object_with_repr_exception(self):
        # SETUP
        expected_report = ''

        class BadReprClass(object):
            def __repr__(self):
                raise NotImplementedError()

        # EXEC
        builder = ReportBuilder()
        builder.assign(name='m', value=BadReprClass(), line_number=1)
        report = builder.report()

        # VERIFY
        self.assertReportEqual(expected_report, report)
开发者ID:emacsmirror,项目名称:live-py-mode,代码行数:17,代码来源:report_builder_test.py

示例9: test_multiple_lines

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_multiple_lines(self):
        # SETUP
        expected_report = """\
a = 3 

b = 'xyz' """
        
        # EXEC
        builder = ReportBuilder()
        builder.assign(name='a', value=3, line_number=1)
        builder.assign(name='b', value="xyz", line_number=3)
        report = builder.report()
        
        # VERIFY
        self.assertEqual(expected_report.splitlines(), report.splitlines())
开发者ID:Amirus,项目名称:live-py-plugin,代码行数:17,代码来源:report_builder_test.py

示例10: test_return

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_return(self):
        # SETUP
        expected_value = 'bob'
        expected_report = """\

return 'bob' 
"""
        
        # EXEC
        builder = ReportBuilder()
        value = builder.return_value(value=expected_value, line_number=2)
        report = builder.report()
        
        # VERIFY
        self.assertEqual(expected_report.splitlines(), report.splitlines())
        self.assertEqual(expected_value, value)
开发者ID:Amirus,项目名称:live-py-plugin,代码行数:18,代码来源:report_builder_test.py

示例11: test_assign

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_assign(self):
        # SETUP
        expected_value = 5
        expected_report = """\

x = 5 
"""
        
        # EXEC
        builder = ReportBuilder()
        value = builder.assign(name='x', value=expected_value, line_number=2)
        report = builder.report()
        
        # VERIFY
        self.assertEqual(expected_report.splitlines(), report.splitlines())
        self.assertEqual(expected_value, value)
开发者ID:Amirus,项目名称:live-py-plugin,代码行数:18,代码来源:report_builder_test.py

示例12: test_call_no_change

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_call_no_change(self):
        # SETUP
        expected_report = ""
        expected_result = 23

        # EXEC
        builder = ReportBuilder()
        result = builder.record_call(names=['a'],
                                     displays_before=['[1, 2]'],
                                     result=expected_result,
                                     displays_after=['[1, 2]'],
                                     line_number=2)
        report = builder.report()

        # VERIFY
        self.assertReportEqual(expected_report, report)
        self.assertEqual(expected_result, result)
开发者ID:emacsmirror,项目名称:live-py-mode,代码行数:19,代码来源:report_builder_test.py

示例13: test_assign_value_after_indexes

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_assign_value_after_indexes(self):
        # SETUP
        expected_report = "a[0][23] = 99 "

        # EXEC
        builder = ReportBuilder()
        builder.start_assignment()
        builder.add_assignment_index(0)
        builder.add_assignment_index(23)
        builder.set_assignment_value(99)
        builder.report_assignment('a[{!r}][{!r}] = {!r}',
                                  line_number=1)
        builder.end_assignment()
        report = builder.report()

        # VERIFY
        self.assertReportEqual(expected_report, report)
开发者ID:emacsmirror,项目名称:live-py-mode,代码行数:19,代码来源:report_builder_test.py

示例14: test_call_no_change

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
 def test_call_no_change(self):
     # SETUP
     expected_report = ""
     expected_result = 23
     
     # EXEC
     builder = ReportBuilder()
     result = builder.record_call(name='a', 
                                  display_before='[1, 2]',
                                  result=expected_result, 
                                  display_after='[1, 2]', 
                                  line_number=2)
     report = builder.report()
     
     # VERIFY
     self.assertEqual(expected_report.splitlines(), report.splitlines())
     self.assertEqual(expected_result, result)
开发者ID:Amirus,项目名称:live-py-plugin,代码行数:19,代码来源:report_builder_test.py

示例15: test_frames_with_extra_message

# 需要导入模块: from report_builder import ReportBuilder [as 别名]
# 或者: from report_builder.ReportBuilder import report [as 别名]
    def test_frames_with_extra_message(self):
        # SETUP
        expected_report = """\
i = 1 | i = 2 
      | extra message"""
        
        # EXEC
        builder = ReportBuilder()
        frame1 = builder.start_frame(1, 2)
        frame1.assign(name='i', value=1, line_number=1)
        frame2 = builder.start_frame(1, 2)
        frame2.assign(name='i', value=2, line_number=1)
        builder.add_extra_message('extra message', 2)
        report = builder.report()
        
        # VERIFY
        self.assertEqual(expected_report.splitlines(), report.splitlines())
开发者ID:Amirus,项目名称:live-py-plugin,代码行数:19,代码来源:report_builder_test.py


注:本文中的report_builder.ReportBuilder.report方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。