#!/usr/bin/env python3
# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Tests for rebase_dump_accessibility_tree_test.py"""
import unittest
import rebase_dump_accessibility_tree_tests as rebase
class RebaseDumpAccessibilityTreeTestTests(unittest.TestCase):
def test_split_test_logs(self):
log = """
Testing: file1.txt
Expected output: content/test/accessibility/fake_output.txt
file1 content
<-- End-of-file -->
Testing: file2.txt
Expected output: content/test/accessibility/different_output.txt
file2 has different content
<-- End-of-file -->
""".split("\n")
actual = rebase._get_individual_test_logs(log)
self.assertEqual(
next(actual),
[
"Testing: file1.txt",
"Expected output: content/test/accessibility/fake_output.txt",
"file1 content",
"<-- End-of-file -->",
],
)
self.assertEqual(
next(actual),
[
"Testing: file2.txt",
"Expected output: content/test/accessibility/different_output.txt",
"file2 has different content",
"<-- End-of-file -->",
],
)
with self.assertRaises(StopIteration):
next(actual)
def test_split_test_logs_duplicate_removed(self):
log = """
Testing: file1.txt
Expected output: content/test/accessibility/same_fake_output.txt
file1 content
<-- End-of-file -->
Testing: file2.txt
Expected output: content/test/accessibility/same_fake_output.txt
file2 has different content
<-- End-of-file -->
""".split("\n")
actual = rebase._get_individual_test_logs(log)
self.assertEqual(
next(actual),
[
"Testing: file1.txt",
"Expected output: content/test/accessibility/same_fake_output.txt",
"file1 content",
"<-- End-of-file -->",
],
)
with self.assertRaises(StopIteration):
next(actual)
def test_parse_log(self):
log = """
Testing: content/test/data/accessibility/test_file
Expected output: content/test/data/accessibility/expectation_file
Diff:
* Line Expected
- ---- --------
some oudated expectations
Actual
------
actual file content
<-- End-of-file -->
""".split("\n")
filename, data = rebase._parse_log(log)
self.assertEqual(filename, "expectation_file")
self.assertEqual(data, "actual file content\n")
if __name__ == "__main__":
unittest.main()