Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
 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()
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
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
Beispiel #7
0
def test_syntax_file_set_empty():
    sfiles = SyntaxFileSet()
    assert not sfiles
    assert len(sfiles) == 0
    assert not sfiles.extension_map
Beispiel #8
0
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