Nothing
test_that("new_sheet2xml correctly processes Excel and ODS files", {
# Paths to source files
source_xml <- system.file("extdata", "schema_template.xml", package = "tab2xml")
source_xlsx <- system.file("extdata", "schema.xlsx", package = "tab2xml")
source_ods <- system.file("extdata", "schema.ods", package = "tab2xml")
# 1. Create an object from an Excel file (.xlsx)
obj_xlsx <- new_sheet2xml(source_xlsx, source_xml)
# Ensure object is of the correct class
expect_s3_class(obj_xlsx, "sheet2xml")
# Verify structure of the created object
expect_named(obj_xlsx$sheets) # Data from sheets should be present
expect_named(obj_xlsx$templates) # Templates should be processed
expect_equal(names(obj_xlsx$sheets), tolower(readxl::excel_sheets(source_xlsx))) # Check lowercase names
# Ensure all column names are lowercase
expect_true(all(sapply(obj_xlsx$sheets, function(df) all(tolower(colnames(df)) == colnames(df)))))
# 2. Create an object from an ODS file (.ods)
obj_ods <- new_sheet2xml(source_ods, source_xml)
expect_s3_class(obj_ods, "sheet2xml")
expect_named(obj_ods$sheets)
expect_named(obj_ods$templates)
expect_equal(names(obj_ods$sheets), tolower(readODS::ods_sheets(source_ods)))
# Ensure all column names are lowercase
expect_true(all(sapply(obj_ods$sheets, function(df) all(tolower(colnames(df)) == colnames(df)))))
# 3. Handle a custom XML output path
custom_xml_path <- tempfile(fileext = ".xml")
obj_custom <- new_sheet2xml(source_xlsx, source_xml, custom_xml_path)
expect_equal(obj_custom$xml_path, custom_xml_path)
# 4. Error handling: invalid file path
expect_error(new_sheet2xml("invalid_file.xlsx", source_xml), "The file does not exist")
# 5. Error handling: unsupported format
unsupported_file <- tempfile(fileext = ".csv")
file.create(unsupported_file)
expect_error(new_sheet2xml(unsupported_file, source_xml), "Unsupported format")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.