File: test_yaml.py

package info (click to toggle)
labgrid 25.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,796 kB
  • sloc: python: 21,352; sh: 846; makefile: 35
file content (56 lines) | stat: -rw-r--r-- 1,345 bytes parent folder | download | duplicates (3)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from collections import OrderedDict, UserString

import pytest
import yaml

from labgrid.util.yaml import *


def test_default_loader():
    """Importing labgrid should not modify the default loaders"""
    doc = """
    foo: |
      multi
      line
    bar: False
    """

    data = yaml.load(doc, Loader=yaml.SafeLoader)
    assert type(data) == dict
    assert type(data["foo"]) == str

    data = yaml.load(doc, Loader=yaml.FullLoader)
    assert type(data) == dict
    assert type(data["foo"]) == str

    data = yaml.load(doc, Loader=yaml.Loader)
    assert type(data) == dict
    assert type(data["foo"]) == str


def test_labgrid_loader():
    doc = """
    foo: |
      multi
      line
    bar: False
    """
    data = load(doc)
    assert type(data) == OrderedDict
    assert type(data["foo"]) == UserString
    assert data["foo"].start_mark.line == 1
    assert data["foo"].end_mark.line == 4


def test_default_dumper():
    """Importing labgrid should not modify the default dumpers"""
    data = OrderedDict([])
    assert "!!python/object/apply:collections.OrderedDict\n- []\n" == yaml.dump(data, Dumper=yaml.Dumper)
    with pytest.raises(yaml.representer.RepresenterError):
        yaml.dump(data, Dumper=yaml.SafeDumper)


def test_labgrid_dumper():
    data = OrderedDict([])
    doc = dump(data)
    assert "{}\n" == doc