Skip to content
Snippets Groups Projects
Commit 1436f17d authored by Arnaud Levy's avatar Arnaud Levy
Browse files

wip

parent c8e6fd63
No related branches found
No related tags found
No related merge requests found
......@@ -84,9 +84,9 @@ class Communication::Website::Imported::Page < ApplicationRecord
end
puts "Update page #{page.id}"
page.slug = slug
page.title = Wordpress.clean title.to_s
page.title = Wordpress.clean_string title.to_s
page.description = ActionView::Base.full_sanitizer.sanitize excerpt.to_s
page.text = Wordpress.clean content.to_s
page.text = Wordpress.clean_html content.to_s
page.published = true
page.save
end
......
......@@ -82,11 +82,11 @@ class Communication::Website::Imported::Post < ApplicationRecord
# return unless updated_at > post.updated_at
end
puts "Update post #{post.id}"
sanitized_title = Wordpress.clean self.title.to_s
sanitized_title = Wordpress.clean_string self.title.to_s
post.title = sanitized_title unless sanitized_title.blank? # If there is no title, leave it with "Untitled"
post.slug = slug
post.description = ActionView::Base.full_sanitizer.sanitize excerpt.to_s
post.text = Wordpress.clean content.to_s
post.text = Wordpress.clean_html content.to_s
post.created_at = created_at
post.updated_at = updated_at
post.published_at = published_at if published_at
......
# == Schema Information
#
# Table name: communication_website_imported_media
#
# id :uuid not null, primary key
# data :jsonb
# file_url :text
# filename :string
# identifier :string
# mime_type :string
# created_at :datetime
# updated_at :datetime
# medium_id :uuid
# university_id :uuid not null
# website_id :uuid not null
#
# Indexes
#
# index_communication_website_imported_media_on_medium_id (medium_id)
# index_communication_website_imported_media_on_university_id (university_id)
# index_communication_website_imported_media_on_website_id (website_id)
#
# Foreign Keys
#
# fk_rails_... (medium_id => communication_website_media.id)
# fk_rails_... (university_id => universities.id)
# fk_rails_... (website_id => communication_website_imported_websites.id)
#
require "test_helper"
class Communication::Website::Imported::MediumTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
end
# == Schema Information
#
# Table name: communication_website_media
#
# id :uuid not null, primary key
# file_url :text
# filename :string
# identifier :string
# mime_type :string
# created_at :datetime not null
# updated_at :datetime not null
# university_id :uuid not null
# website_id :uuid not null
#
# Indexes
#
# index_communication_website_media_on_university_id (university_id)
# index_communication_website_media_on_website_id (website_id)
#
# Foreign Keys
#
# fk_rails_... (university_id => universities.id)
# fk_rails_... (website_id => communication_websites.id)
#
require "test_helper"
class Communication::Website::MediumTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
end
......@@ -3,58 +3,63 @@ require "test_helper"
class WordpressTest < ActiveSupport::TestCase
test "convert apostroph" do
assert_equal 'Ouverture du CRM pendant les vacances d’Avril',
Wordpress.clean('Ouverture du CRM pendant les vacances d&#8217;Avril')
Wordpress.clean_html('Ouverture du CRM pendant les vacances d&#8217;Avril')
end
test "convert 3 dots" do
assert_equal 'Le CRM fait le tri dans ses collections … et vous propose une vente de livres',
Wordpress.clean('Le CRM fait le tri dans ses collections &#8230; et vous propose une vente de livres')
Wordpress.clean_html('Le CRM fait le tri dans ses collections &#8230; et vous propose une vente de livres')
end
test "convert double quotation marks" do
assert_equal 'Conférence Joëlle Zask : “Ecologie de la participation”',
Wordpress.clean('Conférence Joëlle Zask : &#8220;Ecologie de la participation&#8221;')
Wordpress.clean_html('Conférence Joëlle Zask : &#8220;Ecologie de la participation&#8221;')
end
test "convert h1" do
assert_equal '<h2>B.U.T. Métiers du multimédia et de l’internet</h2>',
Wordpress.clean('<h1>B.U.T. Métiers du multimédia et de l&#8217;internet</h1>')
Wordpress.clean_html('<h1>B.U.T. Métiers du multimédia et de l&#8217;internet</h1>')
end
test "convert h2 without h1" do
assert_equal '<h2>B.U.T. Métiers du multimédia et de l’internet</h2>',
Wordpress.clean('<h2>B.U.T. Métiers du multimédia et de l&#8217;internet</h2>')
Wordpress.clean_html('<h2>B.U.T. Métiers du multimédia et de l&#8217;internet</h2>')
end
test "convert h2 with h1" do
assert_equal '<h2>Bachelor Universitaire de Technologie</h2><h3>B.U.T. Métiers du multimédia et de l’internet</h3>',
Wordpress.clean('<h1>Bachelor Universitaire de Technologie</h1><h2>B.U.T. Métiers du multimédia et de l&#8217;internet</h2>')
Wordpress.clean_html('<h1>Bachelor Universitaire de Technologie</h1><h2>B.U.T. Métiers du multimédia et de l&#8217;internet</h2>')
end
test "convert " do
assert_equal 'TRAVAILLER DEMAIN, Débat – le 10 mai à 18h30',
Wordpress.clean('TRAVAILLER DEMAIN, Débat &#8211; le 10 mai à 18h30')
Wordpress.clean_html('TRAVAILLER DEMAIN, Débat &#8211; le 10 mai à 18h30')
end
test "remove classes" do
assert_equal '<h2>→ Qu’est-ce que le B.U.T.&nbsp;?</h2>',
Wordpress.clean('<h2 class="titre-diplome">→ Qu’est-ce que le B.U.T.&nbsp;?</h2>')
Wordpress.clean_html('<h2 class="titre-diplome">→ Qu’est-ce que le B.U.T.&nbsp;?</h2>')
end
test "remove line_separators (LSEP)" do
# Invisible char before A, and html code
assert_equal "Au ",
Wordpress.clean("
Au &#8232;")
Wordpress.clean_html("
Au &#8232;")
end
test "remove divs" do
# Quid des images ? Comment gérer le transfert vers scaleway + active storage dans le code ?
assert_equal '<figure><a href="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1.png"><img src="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1-240x300.png" alt="Le BUT, qu\'est-ce que c\'est ?" width="173" height="216" srcset="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1-240x300.png 240w, https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1.png 730w"></a></figure>',
Wordpress.clean('<div class="wp-block-group"><div class="wp-block-group__inner-container"><div class="wp-block-columns"><div class="wp-block-column"><div class="wp-block-image"><figure class="alignright size-medium is-resized"><a href="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1.png" rel="lightbox[14475]"><img src="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1-240x300.png" alt="Le BUT, qu\'est-ce que c\'est ?" class="wp-image-14821" width="173" height="216" srcset="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1-240x300.png 240w, https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1.png 730w"></a></figure></div></div>')
Wordpress.clean_html('<div class="wp-block-group"><div class="wp-block-group__inner-container"><div class="wp-block-columns"><div class="wp-block-column"><div class="wp-block-image"><figure class="alignright size-medium is-resized"><a href="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1.png" rel="lightbox[14475]"><img src="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1-240x300.png" alt="Le BUT, qu\'est-ce que c\'est ?" class="wp-image-14821" width="173" height="216" srcset="https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1-240x300.png 240w, https://www.iut.u-bordeaux-montaigne.fr/wp-content/uploads/2021/01/visuel_1.png 730w"></a></figure></div></div>')
end
test "convert &nbsp; in titles" do
assert_equal ' ',
Wordpress.clean_string '&nbsp;'
end
test "authorize iframes" do
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment