blob: 627e3a097f9eb0da759a8886ebe18daf3237130f (
plain) (
blame)
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
|
import json
import subprocess
import unittest
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
EXTENSION = ROOT / "dot_local/share/gnome-shell/extensions/external-display@dotfiles"
class DisplayTests(unittest.TestCase):
def test_metadata(self):
metadata = json.loads((EXTENSION / "metadata.json").read_text())
self.assertEqual(metadata["uuid"], "external-display@dotfiles")
self.assertIn("50", metadata["shell-version"])
def test_connection_changes_and_lifecycle(self):
code = "\n".join(
line
for line in (EXTENSION / "extension.js").read_text().splitlines()
if not line.startswith("import ")
).replace("export default class", "class")
harness = (ROOT / "tests/fixtures/display-lifecycle.js").read_text()
subprocess.run(
["node", "--input-type=module"],
input=harness.replace("// EXTENSION", code),
text=True,
check=True,
)
|