63 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
 | 
						|
import py
 | 
						|
from py.__.test.tkinter import reportsession 
 | 
						|
from py.__.test.tkinter.util import Status, TestReport, Null
 | 
						|
ReportSession = reportsession.ReportSession
 | 
						|
 | 
						|
class TestReportSession:
 | 
						|
 | 
						|
    class ChannelMock:
 | 
						|
 | 
						|
        def __init__(self, receinvelist = []):
 | 
						|
            self.reset(receinvelist)
 | 
						|
 | 
						|
        def reset(self, receivelist = []):
 | 
						|
            self.receivelist = receivelist
 | 
						|
            self.sendlist = []
 | 
						|
 | 
						|
        def send(self, obj):
 | 
						|
            self.sendlist.append(obj)
 | 
						|
 | 
						|
        def receive(self):
 | 
						|
            return self.receivelist.pop(0)
 | 
						|
        
 | 
						|
    def setup_method(self, method):
 | 
						|
        self.channel = self.ChannelMock()
 | 
						|
        self.session = ReportSession(Null(), self.channel)
 | 
						|
        self.collitems = [Null(), Null()]
 | 
						|
    
 | 
						|
    def test_header_sends_report_with_id_root(self):
 | 
						|
        self.session.header(self.collitems)
 | 
						|
        
 | 
						|
        assert self.channel.sendlist != []
 | 
						|
        report = TestReport.fromChannel(self.channel.sendlist[0])
 | 
						|
        assert report.status == Status.NotExecuted()
 | 
						|
        assert report.id == TestReport.root_id
 | 
						|
        assert report.label == 'Root'
 | 
						|
 | 
						|
    def test_footer_sends_report_and_None(self):
 | 
						|
        self.session.header(self.collitems)
 | 
						|
        self.session.footer(self.collitems)
 | 
						|
 | 
						|
        assert self.channel.sendlist != []
 | 
						|
        assert self.channel.sendlist[-1] is None
 | 
						|
        report = TestReport.fromChannel(self.channel.sendlist[-2])
 | 
						|
        assert report.status == Status.NotExecuted()
 | 
						|
        assert report.id == TestReport.root_id
 | 
						|
 | 
						|
##     def test_status_is_passed_to_root(self):
 | 
						|
##         self.session.header(self.collitems)
 | 
						|
##         self.session.start(self.collitems[0])
 | 
						|
##         self.session.finish(self.collitems[0], py.test.collect.Collector.Failed())
 | 
						|
##         self.session.footer(self.collitems)
 | 
						|
 | 
						|
##         assert self.channel.sendlist[-1] is None
 | 
						|
##         assert self.channel.sendlist.pop() is None
 | 
						|
 | 
						|
##         report = TestReport.fromChannel(self.channel.sendlist[-1])
 | 
						|
##         assert report.name == 'Root'
 | 
						|
##         assert report.status == Status.Failed()
 | 
						|
 | 
						|
 
 | 
						|
 |