def test_property_lines_mac(): fp = StringIO('a\rb\rc\r') eq_(['a', 'b', 'c'], list(jprops._property_lines(fp)))
def test_property_lines_skips_comments(): fp = BytesIO(b'a\nb\n#foo\n!bar\nc\n') eq_([b'a', b'b', b'c'], list(jprops._property_lines(fp)))
def test_property_lines_splitting(lines, expected): property_lines = lambda fp: list(jprops._property_lines(fp)) assert property_lines(BytesIO(lines)) == expected assert property_lines(StringIO(lines.decode('ascii'))) == expected
def test_property_lines_continuation(): fp = BytesIO(b'a\nb\\\nc\nd\n') eq_([b'a', b'bc', b'd'], list(jprops._property_lines(fp)))
def test_property_lines_escaped_backslash_before_continuation(): fp = BytesIO(b'a\nb\\\\\\\nc\nd\n') eq_([b'a', b'b\\\\c', b'd'], list(jprops._property_lines(fp)))
def test_property_lines_escaped_backslash_before_continuation(): fp = StringIO('a\nb\\\\\\\nc\nd\n') eq_(['a', 'b\\\\c', 'd'], list(jprops._property_lines(fp)))
def test_property_lines_mac(): fp = BytesIO(b'a\rb\rc\r') eq_([b'a', b'b', b'c'], list(jprops._property_lines(fp)))
def test_property_lines_includes_comments(): fp = BytesIO(b'a\nb\n#foo\n!bar\nc\n') assert list(jprops._property_lines(fp)) == [b'a', b'b', b'#foo', b'!bar', b'c']
def test_property_lines_continuation_includes_trailing_blanks(): fp = BytesIO(b'a\nb \\\nc\nd\n') assert list(jprops._property_lines(fp)) == [b'a', b'b c', b'd']
def test_property_lines(): fp = BytesIO(b'a\nb\nc\n') eq_([b'a', b'b', b'c'], list(jprops._property_lines(fp)))
def test_property_lines_mac(): fp = BytesIO(b'a\rb\rc\r') assert list(jprops._property_lines(fp)) == [b'a', b'b', b'c']
def test_property_lines_continuation_skips_leading_blanks(): fp = BytesIO(b'a\nb\\\n c\nd\n') eq_([b'a', b'bc', b'd'], list(jprops._property_lines(fp)))
def test_property_lines_skips_comments(): fp = StringIO('a\nb\n#foo\n!bar\nc\n') eq_(['a', 'b', 'c'], list(jprops._property_lines(fp)))
def test_property_lines_escaped_backslash_not_continuation(): fp = BytesIO(b'a\nb\\\\\nc\nd\n') assert list(jprops._property_lines(fp)) == [b'a', b'b\\\\', b'c', b'd']
def test_property_lines_continuation_skips_leading_blanks(): fp = StringIO('a\nb\\\n c\nd\n') eq_(['a', 'bc', 'd'], list(jprops._property_lines(fp)))
def test_property_lines(): fp = BytesIO(b'a\nb\nc\n') assert list(jprops._property_lines(fp)) == [b'a', b'b', b'c']
def test_property_lines(): fp = StringIO('a\nb\nc\n') eq_(['a', 'b', 'c'], list(jprops._property_lines(fp)))
def test_property_lines_platform_line_endings(lines): expected = [u'a', u'b', u'c'] property_lines = lambda fp: list(jprops._property_lines(fp)) assert property_lines(BytesIO(lines)) == expected assert property_lines(StringIO(lines.decode('ascii'))) == expected