Fix incorrect serialization of regional languages in `contentMap` (#27207)
This commit is contained in:
		
							parent
							
								
									3171afc36a
								
							
						
					
					
						commit
						3262d1f1b6
					
				|  | @ -14,6 +14,8 @@ module ActivityPub::CaseTransform | |||
|       when String | ||||
|         camel_lower_cache[value] ||= if value.start_with?('_:') | ||||
|                                        "_:#{value.delete_prefix('_:').underscore.camelize(:lower)}" | ||||
|                                      elsif LanguagesHelper::ISO_639_1_REGIONAL.key?(value.to_sym) | ||||
|                                        value | ||||
|                                      else | ||||
|                                        value.underscore.camelize(:lower) | ||||
|                                      end | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ describe ActivityPub::NoteSerializer do | |||
| 
 | ||||
|   let!(:account) { Fabricate(:account) } | ||||
|   let!(:other) { Fabricate(:account) } | ||||
|   let!(:parent) { Fabricate(:status, account: account, visibility: :public) } | ||||
|   let!(:parent) { Fabricate(:status, account: account, visibility: :public, language: 'zh-TW') } | ||||
|   let!(:reply_by_account_first) { Fabricate(:status, account: account, thread: parent, visibility: :public) } | ||||
|   let!(:reply_by_account_next) { Fabricate(:status, account: account, thread: parent, visibility: :public) } | ||||
|   let!(:reply_by_other_first) { Fabricate(:status, account: other, thread: parent, visibility: :public) } | ||||
|  | @ -18,8 +18,15 @@ describe ActivityPub::NoteSerializer do | |||
|     @serialization = ActiveModelSerializers::SerializableResource.new(parent, serializer: described_class, adapter: ActivityPub::Adapter) | ||||
|   end | ||||
| 
 | ||||
|   it 'has a Note type' do | ||||
|     expect(subject['type']).to eql('Note') | ||||
|   it 'has the expected shape' do | ||||
|     expect(subject).to include({ | ||||
|       '@context' => include('https://www.w3.org/ns/activitystreams'), | ||||
|       'type' => 'Note', | ||||
|       'attributedTo' => ActivityPub::TagManager.instance.uri_for(account), | ||||
|       'contentMap' => include({ | ||||
|         'zh-TW' => a_kind_of(String), | ||||
|       }), | ||||
|     }) | ||||
|   end | ||||
| 
 | ||||
|   it 'has a replies collection' do | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue