File: test_file.py

package info (click to toggle)
wtforms 3.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,064 kB
  • sloc: python: 5,264; makefile: 27; sh: 17
file content (35 lines) | stat: -rw-r--r-- 1,066 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from tests.common import DummyPostData
from wtforms.fields import FileField
from wtforms.fields import MultipleFileField
from wtforms.form import Form
from wtforms.widgets import TextInput


def test_file_field():
    class F(Form):
        file = FileField()

    assert F(DummyPostData(file=["test.txt"])).file.data == "test.txt"
    assert F(DummyPostData()).file.data is None
    assert F(DummyPostData(file=["test.txt", "multiple.txt"])).file.data == "test.txt"


def test_multiple_file_field():
    class F(Form):
        files = MultipleFileField()

    assert F(DummyPostData(files=["test.txt"])).files.data == ["test.txt"]
    assert F(DummyPostData()).files.data == []
    assert F(DummyPostData(files=["test.txt", "multiple.txt"])).files.data == [
        "test.txt",
        "multiple.txt",
    ]


def test_file_field_without_file_input():
    class F(Form):
        file = FileField(widget=TextInput())

    f = F(DummyPostData(file=["test.txt"]))
    assert f.file.data == "test.txt"
    assert f.file() == '<input id="file" name="file" type="text">'