diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2023-08-06 16:54:57 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2023-08-06 16:54:57 (GMT) |
commit | 4fcc35a52ccb025b6d803d85e017931cd2452960 (patch) | |
tree | e95920f16c273e41f9cae1ea2f02571c221a514e /tests/analysis/scan/exprs.py | |
parent | 74d062d4ec55d7ac3914bbf64b8b6c5ab52227df (diff) |
Extend the ROST grammar with a first batch of new features.
Diffstat (limited to 'tests/analysis/scan/exprs.py')
-rw-r--r-- | tests/analysis/scan/exprs.py | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/tests/analysis/scan/exprs.py b/tests/analysis/scan/exprs.py deleted file mode 100644 index c89dc59..0000000 --- a/tests/analysis/scan/exprs.py +++ /dev/null @@ -1,122 +0,0 @@ - -from chrysacase import ChrysalideTestCase -from pychrysalide.analysis.contents import MemoryContent -from pychrysalide.analysis.scan import ContentScanner -from pychrysalide.analysis.scan import ScanOptions -from pychrysalide.analysis.scan.patterns.backends import AcismBackend - - -class TestScanExpressions(ChrysalideTestCase): - """TestCase for analysis.scan.exprs.*.""" - - @classmethod - def setUpClass(cls): - - super(TestScanExpressions, cls).setUpClass() - - cls._options = ScanOptions() - cls._options.backend_for_data = AcismBackend - - - def testBasicStringOperations(self): - """Evaluate basic string operations.""" - - cnt = MemoryContent(b'empty') - - rule = ''' -rule test { - - condition: - "123abc456" contains "abc" - -} -''' - - scanner = ContentScanner(rule) - ctx = scanner.analyze(self._options, cnt) - - self.assertTrue(ctx.has_match_for_rule('test')) - - rule = ''' -rule test { - - condition: - "123\t456" contains "\t" - -} -''' - - scanner = ContentScanner(rule) - ctx = scanner.analyze(self._options, cnt) - - self.assertTrue(ctx.has_match_for_rule('test')) - - rule = ''' -rule test { - - condition: - "123-456" startswith "1" - -} -''' - - scanner = ContentScanner(rule) - ctx = scanner.analyze(self._options, cnt) - - self.assertTrue(ctx.has_match_for_rule('test')) - - rule = ''' -rule test { - - condition: - "123-456" startswith "1234" - -} -''' - - scanner = ContentScanner(rule) - ctx = scanner.analyze(self._options, cnt) - - self.assertFalse(ctx.has_match_for_rule('test')) - - rule = ''' -rule test { - - condition: - "123-456" endswith "6" - -} -''' - - scanner = ContentScanner(rule) - ctx = scanner.analyze(self._options, cnt) - - self.assertTrue(ctx.has_match_for_rule('test')) - - rule = ''' -rule test { - - condition: - "123-456" endswith "3456" - -} -''' - - scanner = ContentScanner(rule) - ctx = scanner.analyze(self._options, cnt) - - self.assertFalse(ctx.has_match_for_rule('test')) - - rule = ''' -rule test { - - condition: - "ABCD" iequals "AbCd" - -} -''' - - scanner = ContentScanner(rule) - ctx = scanner.analyze(self._options, cnt) - - self.assertTrue(ctx.has_match_for_rule('test')) |