summaryrefslogtreecommitdiff
path: root/tests/analysis/scan/exprs.py
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2023-08-06 16:54:57 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2023-08-06 16:54:57 (GMT)
commit4fcc35a52ccb025b6d803d85e017931cd2452960 (patch)
treee95920f16c273e41f9cae1ea2f02571c221a514e /tests/analysis/scan/exprs.py
parent74d062d4ec55d7ac3914bbf64b8b6c5ab52227df (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.py122
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'))