otwarchive-symphonyarchive/features/other_a/parser.feature
2026-03-11 22:22:11 +00:00

126 lines
4.4 KiB
Gherkin
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@works
Feature: Parsing HTML
# tests for parsing only are in spec/lib/html_cleaner_spec.rb
Scenario: Editing a work and saving it twice without changes should preserve the same content
When I am logged in as "newbie"
And I set up the draft "My Awesome Story"
And I fill in "content" with
"""
This is paragraph 1.
This is paragraph 2.
This is paragraph 3.
"""
And I press "Preview"
Then I should see "Preview"
# testing the HTML here
And I should see the text with tags
"""
<p>This is paragraph 1.</p>
<p>This is paragraph 2.</p>
<p> </p>
<p>This is paragraph 3.</p>
"""
When I press "Post"
And I follow "Edit"
# testing the textarea content here
Then I should see in the "content" input
"""
<p>This is paragraph 1.</p>
<p>This is paragraph 2.</p>
<p> </p>
<p>This is paragraph 3.</p>
"""
When I press "Post"
And I follow "Edit"
Then I should see in the "content" input
"""
<p>This is paragraph 1.</p>
<p>This is paragraph 2.</p>
<p> </p>
<p>This is paragraph 3.</p>
"""
Scenario: HTML Parser should kick in
When I am logged in as "newbie"
And I set up the draft "My Awesome Story"
And I fill in "content" with
"""
A paragraph
Another paragraph.
"""
And I press "Preview"
Then I should see "Preview"
And I should see the text with tags
"""
<p>A paragraph</p>
<p>Another paragraph.</p>
"""
Scenario: Work notes and content HTML can have classes and they are kept when editing after previewing
Given I am logged in as a random user
And I set up the draft "Classy Work"
When I fill in "Summary" with "<p class='myclass'>Text</p>"
And I fill in "Notes" with "<p class='note'>Text</p>"
And I fill in "End Notes" with "<span class='keep-me'>Text</span>"
And I fill in "content" with "<p class='size-10'><img src='britney.gif' alt='Britney Spears' />You better work</p>"
And I press "Preview"
Then I should see "Draft was successfully created."
And I should see the image "src" text "http://www.example.org/britney.gif"
And I should see the image "alt" text "Britney Spears"
When I press "Edit"
Then the "Summary" field should not contain "myclass"
And the "Notes" field should contain "note"
And the "End Notes" field should contain "keep-me"
And the "content" field should contain "size-10"
When I press "Post"
Then I should see "Work was successfully posted."
And I should see the image "src" text "http://www.example.org/britney.gif"
Scenario: Chapter notes and content HTML keep classes when previewing before posting
Given I am logged in as a random user
And I post the work "Classy Multichapter Work"
And a chapter is set up for "Classy Multichapter Work"
When I fill in "Chapter Summary" with "<p class='summary classes'>Text</p>"
And I fill in "Notes" with "<p class='note'>Text</p>"
And I fill in "End Notes" with "<span class='keep-me'>Text</span>"
And I fill in "content" with "<div class='elaborate formatting'><p>The continuation of my <a href='works/123'>masterpiece</a></p></div>"
And I press "Preview"
Then I should see "This is a draft chapter in a posted work."
When I press "Post"
Then I should see "Chapter was successfully posted."
And I should see the text with tags '<p>The continuation of my <a href="works/123" rel="nofollow">masterpiece</a></p>'
When I follow "Edit Chapter"
Then the "Chapter Summary" field should not contain "summary classes"
And the "Notes" field should contain "note"
And the "End Notes" field should contain "keep-me"
And the "content" field should contain "elaborate formatting"
Scenario: Can't use classes in comment content
Given the work "Generic Work"
And I am logged in as "commenter"
And I view the work "Generic Work"
When I fill in "Comment" with "<p class='strip me'>Hi there!</p>"
And I press "Comment"
Then I should see "Comment created!"
When I follow "Edit"
Then the "Comment" field should not contain "strip me"
Scenario: Can't use classes in a bookmark note
Given the work "Really Good Thing"
And I am logged in as "bookmarker"
When I bookmark the work "Really Good Thing" with the note "My <span='remove-me'>best yet</span>"
And I edit the bookmark for "Really Good Thing"
Then the "Notes" field should not contain "remove-me"