# frozen_string_literal: true describe ChatBlock do it 'should create a basic chat block' do input = <<~INPUT [chat, foodogsquared] ==== Hello there! ==== INPUT expected = <<~RESULT <div role="figure" class="dialogblock dialogblock__box dialogblock__avatar--foodogsquared "> <div class="dialogblock dialogblock__avatar"> <div class="imageblock"> <div class="content"> <img src="foodogsquared/default.avif" alt="foodogsquared"> </div> </div> </div> <div class="dialogblock dialogblock__text"> <small class="dialogblock dialogblock__avatar-name">foodogsquared</small> <div class="paragraph"> <p>Hello there!</p> </div> </div> </div> RESULT actual = (Asciidoctor.convert input).tr_s '\n', '\n' (expect actual).to eq expected.chomp end it 'should create a basic chat block with non-default values with document attributes' do input = <<~INPUT :avatarsdir: /avatars :avatarstype: webp [chat, foodogsquared] ==== Hello there! ==== INPUT expected = <<~RESULT <div role="figure" class="dialogblock dialogblock__box dialogblock__avatar--foodogsquared "> <div class="dialogblock dialogblock__avatar"> <div class="imageblock"> <div class="content"> <img src="/avatars/foodogsquared/default.webp" alt="foodogsquared"> </div> </div> </div> <div class="dialogblock dialogblock__text"> <small class="dialogblock dialogblock__avatar-name">foodogsquared</small> <div class="paragraph"> <p>Hello there!</p> </div> </div> </div> RESULT actual = (Asciidoctor.convert input).tr_s '\n', '\n' (expect actual).to eq expected.chomp end it 'should create a basic chat block with non-default values' do input = <<~INPUT :avatarsdir: /avatars :avatarstype: webp [chat, foodogsquared, state=nervous, role=shake] ==== Hello there! ==== INPUT expected = <<~RESULT <div role="figure" class="dialogblock dialogblock__box dialogblock__avatar--foodogsquared shake"> <div class="dialogblock dialogblock__avatar"> <div class="imageblock"> <div class="content"> <img src="/avatars/foodogsquared/nervous.webp" alt="foodogsquared"> </div> </div> </div> <div class="dialogblock dialogblock__text"> <small class="dialogblock dialogblock__avatar-name">foodogsquared</small> <div class="paragraph"> <p>Hello there!</p> </div> </div> </div> RESULT actual = (Asciidoctor.convert input).tr_s '\n', '\n' (expect actual).to eq expected.chomp end end