def test_syntax_file_set_add_syntax_file(): sfiles = SyntaxFileSet() sfiles.add_syntax_file(mock.sentinel.NAME1, mock.sentinel.PATHA, mock.sentinel.FORMATA, ('extA1', 'extA2')) assert len(sfiles) == 1 s = SyntaxFile(mock.sentinel.NAME1, mock.sentinel.PATHA, mock.sentinel.FORMATA, ('extA1', 'extA2')) assert s in sfiles
def test_syntax_file_set_remove(): sfiles = SyntaxFileSet() sfiles.add(SyntaxFile(mock.sentinel.NAMEA, mock.sentinel.PATHA, mock.sentinel.FORMATA, ('extA1', 'extA2'))) sfiles.add(SyntaxFile(mock.sentinel.NAMEB, mock.sentinel.PATHB, mock.sentinel.FORMATB, ('extB1', 'extB2'))) sfiles.remove(SyntaxFile(mock.sentinel.NAMEB, mock.sentinel.PATHB, mock.sentinel.FORMATB, ('extB1', 'extB2'))) assert len(sfiles) == 1 assert SyntaxFile(mock.sentinel.NAMEA, mock.sentinel.PATHA, mock.sentinel.FORMATA, ('extA1', 'extA2')) in sfiles assert len(sfiles.extension_map) == 2 assert sfiles.extension_map['exta1'].path == mock.sentinel.PATHA assert sfiles.extension_map['exta2'].path == mock.sentinel.PATHA
def __init__(self, listeners=None, *, syntax_fileset=None): #: User message listeners. self.listeners = listeners or [] #: Registry of static syntax definitions. self.syntax_fileset = syntax_fileset or SyntaxFileSet() #: Active sockets, [0] is the server socket. self.sockets = [] #: Current state of backend. self.state = State.Stopped #: Timestamp of last alive message. self.ts_alive_sent = None #: Cache for BackendAlive message in serialized form. self.BACKEND_ALIVE_DATA = MessageSerializer().serialize(BackendAlive()) #: Map of socket to frontend descriptor. self.connection = dict()
def test_syntax_file_set_filtered(): s = SyntaxFileSet() s1 = SyntaxFile(mock.sentinel.NAME1, mock.sentinel.PATH1, mock.sentinel.FORMATA, ['ext1a', 'ext1b']) s2 = SyntaxFile(mock.sentinel.NAME2, mock.sentinel.PATH2, mock.sentinel.FORMATA, ['ext2a', 'ext2b']) s.add(s1) s.add(s2) s.add(SyntaxFile(mock.sentinel.NAME3, mock.sentinel.PATH3, mock.sentinel.FORMATB, ['ext3a', 'ext3b'])) assert not list(s.filtered(mock.sentinel.FORMATC, ['ext1a', 'ext2a', 'ext3a'])) assert not list(s.filtered(mock.sentinel.FORMATA, ['ext4', 'ext3a', 'ext3b'])) f = list(s.filtered(mock.sentinel.FORMATA, ['ext4', 'ext1a', 'ext2b'])) assert len(f) == 2 assert s1 in f assert s2 in f
def test_syntax_file_set_remove(): sfiles = SyntaxFileSet() sfiles.add( SyntaxFile(mock.sentinel.NAMEA, mock.sentinel.PATHA, mock.sentinel.FORMATA, ('extA1', 'extA2'))) sfiles.add( SyntaxFile(mock.sentinel.NAMEB, mock.sentinel.PATHB, mock.sentinel.FORMATB, ('extB1', 'extB2'))) sfiles.remove( SyntaxFile(mock.sentinel.NAMEB, mock.sentinel.PATHB, mock.sentinel.FORMATB, ('extB1', 'extB2'))) assert len(sfiles) == 1 assert SyntaxFile(mock.sentinel.NAMEA, mock.sentinel.PATHA, mock.sentinel.FORMATA, ('extA1', 'extA2')) in sfiles assert len(sfiles.extension_map) == 2 assert sfiles.extension_map['exta1'].path == mock.sentinel.PATHA assert sfiles.extension_map['exta2'].path == mock.sentinel.PATHA
def test_syntax_file_set_filtered(): s = SyntaxFileSet() s1 = SyntaxFile(mock.sentinel.NAME1, mock.sentinel.PATH1, mock.sentinel.FORMATA, ['ext1a', 'ext1b']) s2 = SyntaxFile(mock.sentinel.NAME2, mock.sentinel.PATH2, mock.sentinel.FORMATA, ['ext2a', 'ext2b']) s.add(s1) s.add(s2) s.add( SyntaxFile(mock.sentinel.NAME3, mock.sentinel.PATH3, mock.sentinel.FORMATB, ['ext3a', 'ext3b'])) assert not list( s.filtered(mock.sentinel.FORMATC, ['ext1a', 'ext2a', 'ext3a'])) assert not list( s.filtered(mock.sentinel.FORMATA, ['ext4', 'ext3a', 'ext3b'])) f = list(s.filtered(mock.sentinel.FORMATA, ['ext4', 'ext1a', 'ext2b'])) assert len(f) == 2 assert s1 in f assert s2 in f
def test_syntax_file_set_empty(): sfiles = SyntaxFileSet() assert not sfiles assert len(sfiles) == 0 assert not sfiles.extension_map