$81 GRAYBYTE WORDPRESS FILE MANAGER $81

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cloudlinux/venv/lib/python3.11/site-packages/testfixtures/tests/

HOME
Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/testfixtures/tests//test_sybil.py
from textwrap import dedent
from unittest import TestCase

from testfixtures.mock import Mock
from sybil.document import Document

from testfixtures import compare, Comparison as C, TempDirectory
from testfixtures.sybil import FileParser, FileBlock


class TestFileParser(TestCase):

    def check_document(self, text, expected):
        d = Document(dedent(text), path='/dev/null')
        compare(
            list(r.parsed for r in FileParser('td')(d)),
            expected=expected
        )

    def test_multiple_files(self):
        self.check_document(
            text="""
            
            .. topic:: file.txt
             :class: write-file
            
              line 1
            
              line 2
              line 3
            
            .. topic:: file2.txt
             :class: read-file
            
            
              line 4
            
              line 5
              line 6
            
            """,
            expected = [
                C(FileBlock,
                  path='file.txt',
                  content="line 1\n\nline 2\nline 3\n",
                  action='write'),
                C(FileBlock,
                  path='file2.txt',
                  content='line 4\n\nline 5\nline 6\n',
                  action='read'),
            ])

    def test_ignore_literal_blocking(self):
        self.check_document(
            text="""
            .. topic:: file.txt
             :class: write-file
            
              ::
            
                line 1
            
                line 2
                line 3
            """,
            expected=[
                C(FileBlock,
                  path='file.txt',
                  content="line 1\n\nline 2\nline 3\n",
                  action='write'),
            ])

    def test_file_followed_by_text(self):
        self.check_document(
            text="""
            
            .. topic:: file.txt
             :class: write-file
            
              print("hello")
              out = 'there'
            
              foo = 'bar'
            
            This is just some normal text!
            """,
            expected=[
                C(FileBlock,
                  path='file.txt',
                  content='print("hello")'
                          '\nout = \'there\'\n\nfoo = \'bar\'\n',
                  action='write'),
            ])

    def test_red_herring(self):
        self.check_document(
            text="""
            .. topic:: file.txt
             :class: not-a-file
            
              print "hello"
              out = 'there'
            
            """,
            expected=[]
        )

    def test_no_class(self):
        self.check_document(
            text="""
            .. topic:: file.txt
            
              print "hello"
              out = 'there'
            
                        """,
            expected=[]
        )

    def check_evaluate(self, dir, block, expected):
        parser = FileParser('td')
        compare(expected, actual=parser.evaluate(Mock(
            parsed=block,
            namespace={'td': dir},
            path='/the/file',
            line=42,
        )))

    def test_evaluate_read_same(self):
        with TempDirectory() as dir:
            dir.write('foo', b'content')
            self.check_evaluate(
                dir,
                FileBlock('foo', 'content', 'read'),
                expected=None
            )

    def test_evaluate_read_difference(self):
        with TempDirectory() as dir:
            dir.write('foo', b'actual')
            self.check_evaluate(
                dir,
                FileBlock('foo', 'expected', 'read'),
                expected=(
                    "--- File '/the/file', line 42:\n"
                    "+++ Reading from \"{}/foo\":\n"
                    "@@ -1 +1 @@\n"
                    "-expected\n"
                    "+actual"
                ).format(dir.path)
            )

    def test_evaluate_write(self):
        with TempDirectory() as dir:
            self.check_evaluate(
                dir,
                FileBlock('foo', 'content', 'write'),
                expected=None
            )
            dir.compare(['foo'])
            compare(dir.read('foo', 'ascii'), 'content')

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
14 Aug 2025 9.24 PM
root / root
0755
__pycache__
--
14 Aug 2025 9.24 PM
root / root
0755
test_django
--
14 Aug 2025 9.24 PM
root / root
0755
__init__.py
0.063 KB
17 Apr 2025 8.10 PM
root / root
0644
configparser-read.txt
0.813 KB
17 Apr 2025 8.10 PM
root / root
0644
configparser-write.txt
0.757 KB
17 Apr 2025 8.10 PM
root / root
0644
directory-contents.txt
0.722 KB
17 Apr 2025 8.10 PM
root / root
0644
sample1.py
1.11 KB
17 Apr 2025 8.10 PM
root / root
0644
sample2.py
0.402 KB
17 Apr 2025 8.10 PM
root / root
0644
sample3.py
0.042 KB
17 Apr 2025 8.10 PM
root / root
0644
test_compare.py
61.341 KB
17 Apr 2025 8.10 PM
root / root
0644
test_comparison.py
22.174 KB
17 Apr 2025 8.10 PM
root / root
0644
test_components.py
0.951 KB
17 Apr 2025 8.10 PM
root / root
0644
test_date.py
10.409 KB
17 Apr 2025 8.10 PM
root / root
0644
test_datetime.py
16.581 KB
17 Apr 2025 8.10 PM
root / root
0644
test_diff.py
0.871 KB
17 Apr 2025 8.10 PM
root / root
0644
test_generator.py
0.456 KB
17 Apr 2025 8.10 PM
root / root
0644
test_log_capture.py
7.206 KB
17 Apr 2025 8.10 PM
root / root
0644
test_logcapture.py
19.206 KB
17 Apr 2025 8.10 PM
root / root
0644
test_mappingcomparison.py
9.425 KB
17 Apr 2025 8.10 PM
root / root
0644
test_mock.py
2.192 KB
17 Apr 2025 8.10 PM
root / root
0644
test_outputcapture.py
4.253 KB
17 Apr 2025 8.10 PM
root / root
0644
test_popen.py
22.768 KB
17 Apr 2025 8.10 PM
root / root
0644
test_popen_docs.py
7.504 KB
17 Apr 2025 8.10 PM
root / root
0644
test_rangecomparison.py
5.205 KB
17 Apr 2025 8.10 PM
root / root
0644
test_replace.py
29.269 KB
17 Apr 2025 8.10 PM
root / root
0644
test_replacer.py
3.814 KB
17 Apr 2025 8.10 PM
root / root
0644
test_roundcomparison.py
4.715 KB
17 Apr 2025 8.10 PM
root / root
0644
test_sequencecomparison.py
12.078 KB
17 Apr 2025 8.10 PM
root / root
0644
test_should_raise.py
9.733 KB
17 Apr 2025 8.10 PM
root / root
0644
test_shouldwarn.py
4.511 KB
17 Apr 2025 8.10 PM
root / root
0644
test_stringcomparison.py
1.322 KB
17 Apr 2025 8.10 PM
root / root
0644
test_sybil.py
4.201 KB
17 Apr 2025 8.10 PM
root / root
0644
test_tempdir.py
2.815 KB
17 Apr 2025 8.10 PM
root / root
0644
test_tempdirectory.py
10.952 KB
17 Apr 2025 8.10 PM
root / root
0644
test_time.py
7.553 KB
17 Apr 2025 8.10 PM
root / root
0644
test_twisted.py
5.539 KB
17 Apr 2025 8.10 PM
root / root
0644
test_wrap.py
6.422 KB
17 Apr 2025 8.10 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF