test_that("read docx properties", { doc <- read_docx(path = system.file(package = "officer", "doc_examples/example.docx")) properties <- doc_properties(doc) expect_equal( properties$value[properties$tag %in% "title"], "document title" ) expect_equal( properties$value[properties$tag %in% "subject"], "document subject" ) expect_equal( properties$value[properties$tag %in% "creator"], "author" ) expect_equal( properties$value[properties$tag %in% "description"], "these are comments" ) expect_equal( properties$value[properties$tag %in% "created"], "2017-04-26T13:10:00Z" ) }) test_that("read pptx properties", { doc <- read_pptx(path = system.file(package = "officer", "doc_examples/example.pptx")) properties <- doc_properties(doc) expect_equal( properties$value[properties$tag %in% "title"], "document title" ) expect_equal( properties$value[properties$tag %in% "subject"], "document subject" ) expect_equal( properties$value[properties$tag %in% "creator"], "author" ) expect_equal( properties$value[properties$tag %in% "description"], "these are comments" ) expect_equal( properties$value[properties$tag %in% "created"], "2017-04-27T11:29:40Z" ) }) test_that("set docx properties", { doc <- read_docx() time_now <- Sys.time() filename <- tempfile(fileext = ".docx") doc <- set_doc_properties(doc, title = "title", subject = "document subject", creator = "Me me me", description = "this document is not empty", created = time_now ) dooc <- print(doc, target = filename ) doc <- read_docx(path = filename) properties <- doc_properties(doc) expect_equal( properties$value[properties$tag %in% "title"], "title" ) expect_equal( properties$value[properties$tag %in% "subject"], "document subject" ) expect_equal( properties$value[properties$tag %in% "creator"], "Me me me" ) expect_equal( properties$value[properties$tag %in% "description"], "this document is not empty" ) expect_equal( properties$value[properties$tag %in% "created"], format( time_now, "%Y-%m-%dT%H:%M:%SZ") ) }) test_that("set custom properties", { filename <- tempfile(fileext = ".docx") doc <- read_docx() doc <- set_doc_properties(doc, coco = "coucou", zozo = "zuzu") print(doc, target = filename ) doc <- read_docx(path = filename) properties <- doc_properties(doc) expect_equal( properties$value[properties$tag %in% "coco"], "coucou" ) expect_equal( properties$value[properties$tag %in% "zozo"], "zuzu" ) filename <- tempfile(fileext = ".pptx") doc <- read_pptx() doc <- set_doc_properties(doc, coco = "coucou", zozo = "zuzu") print(doc, target = filename ) doc <- read_pptx(path = filename) properties <- doc_properties(doc) expect_equal( properties$value[properties$tag %in% "coco"], "coucou" ) expect_equal( properties$value[properties$tag %in% "zozo"], "zuzu" ) doc <- read_docx() filename <- tempfile(fileext = ".docx") doc <- set_doc_properties(doc, values = list(coco = "coucou", zozo = "zuzu")) print(doc, target = filename ) doc <- read_docx(path = filename) properties <- doc_properties(doc) expect_equal( properties$value[properties$tag %in% "coco"], "coucou" ) expect_equal( properties$value[properties$tag %in% "zozo"], "zuzu" ) doc <- read_pptx() filename <- tempfile(fileext = ".pptx") doc <- set_doc_properties(doc, values = list(coco = "coucou", zozo = "zuzu")) print(doc, target = filename ) doc <- read_pptx(path = filename) properties <- doc_properties(doc) expect_equal( properties$value[properties$tag %in% "coco"], "coucou" ) expect_equal( properties$value[properties$tag %in% "zozo"], "zuzu" ) }) test_that("set pptx properties", { doc <- read_pptx() time_now <- Sys.time() filename <- tempfile(fileext = ".pptx") doc <- set_doc_properties(doc, title = "title", subject = "document subject", creator = "Me me me", description = "this document is not empty", created = time_now ) print(doc, target = filename ) doc <- read_pptx(path = filename) properties <- doc_properties(doc) expect_equal( properties$value[properties$tag %in% "title"], "title" ) expect_equal( properties$value[properties$tag %in% "subject"], "document subject" ) expect_equal( properties$value[properties$tag %in% "creator"], "Me me me" ) expect_equal( properties$value[properties$tag %in% "description"], "this document is not empty" ) expect_equal( properties$value[properties$tag %in% "created"], format( time_now, "%Y-%m-%dT%H:%M:%SZ") ) })