diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index fa7ee03de..a7b86a878 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -21,6 +21,7 @@ - fixed #11128: Thing breaks w/ default value for date field - fixed #10888: Issues with adding points to Maps - fixed #10993: Editor drops last letter if s + - fixed #11139: referencing an item in the clipboard 7.8.1 - mark $session->datetime->time as deprecated and remove its use from core code diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index e8e222ec0..9e992a8f0 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -326,7 +326,7 @@ sub checkView { return "chunked"; } elsif ($var->isAdminOn && $self->get("state") =~ /^clipboard/) { # show em clipboard - my $queryFrag = "func=manageTrash"; + my $queryFrag = "func=manageClipboard"; if ($self->session->form->process('revision')) { $queryFrag .= ";revision=".$self->session->form->process('revision'); } diff --git a/t/Asset/Asset.t b/t/Asset/Asset.t index aaca25101..248d3cac8 100644 --- a/t/Asset/Asset.t +++ b/t/Asset/Asset.t @@ -63,15 +63,14 @@ $testGroups{'canEdit asset'} = WebGUI::Group->new($session, 'new'); $testUsers{'canEdit group user'} = WebGUI::User->new($session, 'new'); $testUsers{'canEdit group user'}->addToGroups([$testGroups{'canEdit asset'}->getId]); $testUsers{'canEdit group user'}->username('Edit Group User'); -WebGUI::Test->groupsToDelete($testGroups{'canEdit asset'}); +addToCleanup($testGroups{'canEdit asset'}); ##A group and user for groupIdEdit $testGroups{'canAdd asset'} = WebGUI::Group->new($session, 'new'); $testUsers{'canAdd group user'} = WebGUI::User->new($session, 'new'); $testUsers{'canAdd group user'}->addToGroups([$testGroups{'canAdd asset'}->getId]); $testUsers{'canEdit group user'}->username('Can Add Group User'); -WebGUI::Test->groupsToDelete($testGroups{'canAdd asset'}); -WebGUI::Test->usersToDelete(values %testUsers); +addToCleanup($testGroups{'canAdd asset'}, values %testUsers); my $canAddMaker = WebGUI::Test::Maker::Permission->new(); $canAddMaker->prepare({ @@ -104,7 +103,7 @@ $properties = { }; my $versionTag2 = WebGUI::VersionTag->getWorking($session); -WebGUI::Test->tagsToRollback($versionTag2); +addToCleanup($versionTag2); my $canEditAsset = $rootAsset->addChild($properties, $properties->{id}); @@ -120,7 +119,7 @@ $canEditMaker->prepare({ }); my $versionTag3 = WebGUI::VersionTag->getWorking($session); -WebGUI::Test->tagsToRollback($versionTag3); +addToCleanup($versionTag3); $properties = { # '1234567890123456789012' id => 'canViewAsset0000000010', @@ -153,7 +152,7 @@ $canViewMaker->prepare( }, ); -plan tests => 116 +plan tests => 126 + scalar(@fixIdTests) + scalar(@fixTitleTests) + 2*scalar(@getTitleTests) #same tests used for getTitle and getMenuTitle @@ -303,7 +302,7 @@ $session->{_request} = $origRequest; ################################################################ my $versionTag = WebGUI::VersionTag->getWorking($session); -WebGUI::Test->tagsToRollback($versionTag); +addToCleanup($versionTag); $versionTag->set({name=>"Asset tests"}); $properties = { @@ -744,7 +743,7 @@ $product3->purge; ################################################################ my $versionTag4 = WebGUI::VersionTag->getWorking($session); -WebGUI::Test->tagsToRollback($versionTag4); +addToCleanup($versionTag4); $versionTag4->set( { name => 'inheritUrlFromParent tests' } ); $properties = { @@ -890,7 +889,6 @@ $session->log->warn('parent asset is now committed'); is( $testVersionTag->get('isCommitted'), 1, 'parent asset is now committed' ); $childVersionTag = WebGUI::VersionTag->new( $session, $childAsset->get('tagId') ); -$session->log->warn('child asset is now committed'); is( $childVersionTag->get('isCommitted'), 1, 'child asset is now committed' ); ################################################################ @@ -901,12 +899,58 @@ is( $childVersionTag->get('isCommitted'), 1, 'child asset is now committed' ); my $assetToCommit = $defaultAsset->addChild({ className => 'WebGUI::Asset::Snippet', title => 'Snippet to commit and clone from db', }); my $cloneTag = WebGUI::VersionTag->getWorking($session); -WebGUI::Test->tagsToRollback($cloneTag); +addToCleanup($cloneTag); $cloneTag->commit; is($assetToCommit->get('status'), 'pending', 'cloneFromDb: local asset is still pending'); $assetToCommit = $assetToCommit->cloneFromDb; is($assetToCommit->get('status'), 'approved', '... returns fresh, commited asset from the db'); +################################################################ +# +# checkView +# +################################################################ + +my $trashedAsset = $defaultAsset->addChild({ + className => 'WebGUI::Asset::Snippet', title => 'Trashy', +}); + +my $clippedAsset = $defaultAsset->addChild({ + className => 'WebGUI::Asset::Snippet', title => 'Clippy', +}); + +my $checkTag = WebGUI::VersionTag->getWorking($session); +$checkTag->commit; +addToCleanup($checkTag); +$trashedAsset = $trashedAsset->cloneFromDb; +$clippedAsset = $clippedAsset->cloneFromDb; +$trashedAsset->trash; +$clippedAsset->cut; +is $trashedAsset->get('state'), 'trash', 'checkView setup: trashed an asset'; +is $clippedAsset->get('state'), 'clipboard', '... clipped an asset'; + +$session->var->switchAdminOff; +$session->http->setRedirectLocation(''); +$session->http->setStatus(200, 'OK'); + +$trashedAsset->checkView(); +is $session->http->getStatus, 410, '... status set to 410 for trashed asset'; +is $session->http->getRedirectLocation, '', '... no redirect set'; + +$session->http->setStatus(200, 'OK'); +$clippedAsset->checkView(); +is $session->http->getStatus, 410, '... status set to 410 for cut asset'; +is $session->http->getRedirectLocation, '', '... no redirect set'; + +$session->var->switchAdminOn; +$session->http->setStatus(200, 'OK'); +is $trashedAsset->checkView(), 'chunked', '... returns "chunked" when admin is on for trashed asset'; +is $session->http->getRedirectLocation, $trashedAsset->getUrl('func=manageTrash'), '... trashed asset sets redirect to manageTrash'; + +$session->http->setRedirectLocation(''); +is $clippedAsset->checkView(), 'chunked', 'checkView: returns "chunked" when admin is on for cut asset'; +is $session->http->getRedirectLocation, $clippedAsset->getUrl('func=manageClipboard'), '... cut asset sets redirect to manageClipboard'; + ##Return an array of hashrefs. Each hashref describes a test ##for the fixId method.