diff options
author | David Yip <yipdw@member.fsf.org> | 2017-09-09 23:56:21 -0500 |
---|---|---|
committer | David Yip <yipdw@member.fsf.org> | 2017-09-09 23:56:21 -0500 |
commit | 67ad4533732f2e5cfc8c7f7ad3abaf7a5eb2647b (patch) | |
tree | 011ea44fc94bcff6f8ec4e23c3edf887359243d2 /spec/lib/activitypub/tag_manager_spec.rb | |
parent | 3dff74eecf5387b92b862893248710d2efb90eec (diff) | |
parent | 90712d42933efd9978e4bbae82f81a4650aa4d84 (diff) |
Merge tag 'v1.6.0rc4' into sync/upstream-1.6.0rc4
Conflicts: app/javascript/mastodon/features/getting_started/index.js app/javascript/packs/public.js app/javascript/styles/components.scss
Diffstat (limited to 'spec/lib/activitypub/tag_manager_spec.rb')
-rw-r--r-- | spec/lib/activitypub/tag_manager_spec.rb | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/spec/lib/activitypub/tag_manager_spec.rb b/spec/lib/activitypub/tag_manager_spec.rb index 8f7662e24..dea8abc65 100644 --- a/spec/lib/activitypub/tag_manager_spec.rb +++ b/spec/lib/activitypub/tag_manager_spec.rb @@ -91,9 +91,35 @@ RSpec.describe ActivityPub::TagManager do end describe '#uri_to_resource' do - it 'returns the local resource' do + it 'returns the local account' do account = Fabricate(:account) expect(subject.uri_to_resource(subject.uri_for(account), Account)).to eq account end + + it 'returns the remote account by matching URI without fragment part' do + account = Fabricate(:account, uri: 'https://example.com/123') + expect(subject.uri_to_resource('https://example.com/123#456', Account)).to eq account + end + + it 'returns the local status for ActivityPub URI' do + status = Fabricate(:status) + expect(subject.uri_to_resource(subject.uri_for(status), Status)).to eq status + end + + it 'returns the local status for OStatus tag: URI' do + status = Fabricate(:status) + expect(subject.uri_to_resource(::TagManager.instance.uri_for(status), Status)).to eq status + end + + it 'returns the local status for OStatus StreamEntry URL' do + status = Fabricate(:status) + stream_entry_url = account_stream_entry_url(status.account, status.stream_entry) + expect(subject.uri_to_resource(stream_entry_url, Status)).to eq status + end + + it 'returns the remote status by matching URI without fragment part' do + status = Fabricate(:status, uri: 'https://example.com/123') + expect(subject.uri_to_resource('https://example.com/123#456', Status)).to eq status + end end end |