From 542d7682c794cd7b4230adc7a4d955ab46800b8a Mon Sep 17 00:00:00 2001 From: Morgan Aldridge Date: Sun, 5 Aug 2018 16:32:16 -0400 Subject: [PATCH] Fix page seed import with attached file path containing white space characters (#837) * Fix errors when importing page seed with attached file path containing whitespace characters. Issue #836 * Update seed data & test to fail prior to fix for Issue #836 --- .../sample-site/pages/index/cms logo.png | Bin 0 -> 6600 bytes .../sample-site/pages/index/content.html | 1 + .../seeds/page/importer.rb | 2 +- test/lib/seeds/pages_test.rb | 2 +- 4 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 db/cms_seeds/sample-site/pages/index/cms logo.png diff --git a/db/cms_seeds/sample-site/pages/index/cms logo.png b/db/cms_seeds/sample-site/pages/index/cms logo.png new file mode 100644 index 0000000000000000000000000000000000000000..89cf33f55ee298e089b39c4aab4a0e62fdfc065b GIT binary patch literal 6600 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 O#sSwd)GUM9h5rvhyEdc% literal 0 HcmV?d00001 diff --git a/db/cms_seeds/sample-site/pages/index/content.html b/db/cms_seeds/sample-site/pages/index/content.html index 1e2d4a05d..5161064fb 100644 --- a/db/cms_seeds/sample-site/pages/index/content.html +++ b/db/cms_seeds/sample-site/pages/index/content.html @@ -22,3 +22,4 @@ [files attachments] header.png footer.png +cms logo.png \ No newline at end of file diff --git a/lib/comfortable_mexican_sofa/seeds/page/importer.rb b/lib/comfortable_mexican_sofa/seeds/page/importer.rb index 7c3f5e433..7f97168ec 100644 --- a/lib/comfortable_mexican_sofa/seeds/page/importer.rb +++ b/lib/comfortable_mexican_sofa/seeds/page/importer.rb @@ -187,7 +187,7 @@ def construct_fragments_attributes(hash, record, path) # ActiveStorage and a list of ids of old attachements to destroy def files_content(record, identifier, path, frag_content) # preparing attachments - files = frag_content.split.collect do |filename| + files = frag_content.split("\n").collect do |filename| file_handler = File.open(File.join(path, filename)) { io: file_handler, diff --git a/test/lib/seeds/pages_test.rb b/test/lib/seeds/pages_test.rb index 629c8ad63..d79ff8d1f 100644 --- a/test/lib/seeds/pages_test.rb +++ b/test/lib/seeds/pages_test.rb @@ -61,7 +61,7 @@ def test_creation assert_equal 1, frag.attachments.count frag = page.fragments.find_by(identifier: "attachments") - assert_equal 2, frag.attachments.count + assert_equal 3, frag.attachments.count assert_equal 2, page.categories.count assert_equal %w[category_a category_b], page.categories.map(&:label)