tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_empty_sequence_default_value.py (1179B)


      1 import WebIDL
      2 
      3 
      4 def WebIDLTest(parser, harness):
      5    threw = False
      6    try:
      7        parser.parse(
      8            """
      9            interface X {
     10              const sequence<long> foo = [];
     11            };
     12        """
     13        )
     14 
     15        results = parser.finish()
     16    except WebIDL.WebIDLError:
     17        threw = True
     18 
     19    harness.ok(threw, "Constant cannot have [] as a default value")
     20 
     21    parser = parser.reset()
     22 
     23    parser.parse(
     24        """
     25        interface X {
     26          undefined foo(optional sequence<long> arg = []);
     27        };
     28    """
     29    )
     30    results = parser.finish()
     31 
     32    harness.ok(
     33        isinstance(
     34            results[0].members[0].signatures()[0][1][0].defaultValue,
     35            WebIDL.IDLEmptySequenceValue,
     36        ),
     37        "Should have IDLEmptySequenceValue as default value of argument",
     38    )
     39 
     40    parser = parser.reset()
     41 
     42    parser.parse(
     43        """
     44        dictionary X {
     45          sequence<long> foo = [];
     46        };
     47    """
     48    )
     49    results = parser.finish()
     50 
     51    harness.ok(
     52        isinstance(results[0].members[0].defaultValue, WebIDL.IDLEmptySequenceValue),
     53        "Should have IDLEmptySequenceValue as default value of dictionary member",
     54    )