test_that("create_offline_page creates a valid offline HTML page", { # Generiere die Offline-Seite create_offline_page(path = "offline.html", message = "You are currently offline.") # Überprüfe, ob die Datei existiert expect_true(file.exists("offline.html")) # Lese den gesamten Inhalt der Datei als einen String content <- paste(readLines("offline.html"), collapse = " ") # Gebe den Inhalt zur Diagnose aus, falls der Test fehlschlägt cat(content, sep = "\n") # Überprüfe, ob die Offline-Nachricht im kombinierten Inhalt enthalten ist expect_true(grepl("You are currently offline.", content)) # Entferne die Testdatei nach dem Test file.remove("offline.html") }) test_that("generate_service_worker creates a valid service worker file", { # Generiere die Service-Worker-Datei generate_service_worker(path = "service-worker.js", cache_name = "my-pwa-cache-v1", assets = c("/", "/index.html", "/css/style.css"), caching_strategy = "cache-first", offline_page = "offline.html") # Überprüfe, ob die Datei existiert expect_true(file.exists("service-worker.js")) # Lese den gesamten Inhalt der Datei als einen String content <- paste(readLines("service-worker.js"), collapse = " ") # Überprüfe, ob der Cache-Name im kombinierten Inhalt enthalten ist expect_true(grepl("my-pwa-cache-v1", content)) # Überprüfe, ob die Offline-Seite im kombinierten Inhalt enthalten ist expect_true(grepl("offline.html", content)) # Entferne die Testdatei nach dem Test file.remove("service-worker.js") }) test_that("generate_manifest creates a valid JSON file", { # Generiere die Manifest-Datei generate_manifest(path = "test-manifest.json", name = "Test PWA", short_name = "TestPWA") # Überprüfe, ob die Datei existiert expect_true(file.exists("test-manifest.json")) # Lese den Inhalt der JSON-Datei und parse ihn als Liste json_content <- jsonlite::fromJSON("test-manifest.json") # Überprüfe, ob der Name korrekt in der Liste enthalten ist expect_equal(json_content$name, "Test PWA") # Entferne die Testdatei nach dem Test file.remove("test-manifest.json") })