LlGiveInventory Test

[LLGiveInventoryTest]
[VERSION] 0.1
[LENGTH] 00:30
[TESTERS] 2
[OVERVIEW] This test has been designed to test a Scripted give from an object using llGiveInventory.
[SETUP] This test requires 2 users, Tester 1: and Tester 2: and rezzable land
[*]
[NOTE] if receiving object is no-mod it shouldn't accept items from other users (unless 
allowInventoryDrop is on)
[*]
[0010.0010] Tester 1: Right-click on the ground and Select "Create" from the Pie Menu and 
Rez a Cube
[0010.0020] Tester 2: Open your Inventory, find and object that is transfer and copy
[0010.0030] Tester 2: Hold Left-click on the object and Hold Ctrl, and Drag the mouse over 
Tester 1:'s Cube and try and Drop the item onto the box.
[0010.0040] Tester 2: Verify you are blocked and you see the Cube Highlighted in Red with 
a Padlock
[0010.0050] Tester 1: Right-click on the Cube and Select Edit, Click "More >>" if 
necessary
[0010.0060] Tester 1: Click the Contents Tab, and Press the "New Script" Button, Copy and 
Paste the following script over the default script.
[SCRIPT] llAllowinventorydrop
[0010.0070] Tester 1: Once copied and Pasted, Click "Save" and Close the Script and Edit 
Windows.
[0010.0080] Tester 2: Open your Inventory, find and object that is transfer and copy
[0010.0090] Tester 2: Hold Left-click on the object and Hold Ctrl, and Drag the mouse over 
Tester 1:'s Cube and try and Drop the item onto the box.
[0010.0100] Tester 2: Verify you are successful in dropping the item into Tester 1:'s Cube 
(the object will be highlighted red as you mouse over it but there should be no padlock)
[*]
[0020.0010] Tester 2: Right-click on the ground and Select "Create" from the Pie Menu and 
Rez a Cube
[0020.0020] Tester 1: Open your Inventory, find and object that is transfer but (no copy) 
if you don't have such an object have Tester 2: Create and object with such Permissions and 
Send it to you
[0020.0030] Tester 1: Hold Left-click on the object and Hold Ctrl, and Drag the mouse over 
Tester 2:'s Cube and try and Drop the item onto the box.
[0020.0040] Tester 1: Verify you are blocked and you see the Cube Highlighted in Red with 
a Padlock
[0020.0050] Tester 2: Right-click on the Cube and Select Edit, Click "More >>" if 
necessary
[0020.0060] Tester 2: Click the Contents Tab, and Press the "New Script" Button, Copy and 
Paste the following script over the default script.
[SCRIPT] llAllowinventorydrop
[0020.0070] Tester 2: Once copied and Pasted, Click "Save" and Close the Script and Edit 
Windows.
[0020.0080] Tester 1: Open your Inventory, find and object that is transfer and copy
[0020.0090] Tester 1: Hold Left-click on the object and Hold Ctrl, and Drag the mouse over 
Tester 2:'s Cube and try and Drop the item onto the box.
[0020.0100] Tester 1: Verify you are successful in dropping the item into Tester 2:'s Cube 
(the object will be highlighted red as you mouse over it but there should be no padlock)
[*]
[0030.0010] Tester 1: Right-click on the Ground and Select "Create" from the Pie Menu and 
Rez 2 Cubes, call them "Sender" and "Receiver"
[0030.0020] Tester 1: Right-click on the "Receiver" cube and Select Edit, Click "More >>" 
if necessary
[0030.0030] Tester 1: Click the Contents Tab, and Press the "New Script" Button, Copy and 
Paste the following script over the default script.
[SCRIPT] Changedscript
[0030.0040] Tester 1: Once copied and Pasted, Click "Save" and Close the Script and Edit 
Windows.
[0030.0050] Tester 1: Right-click on the "Sender" cube and Select Edit, Click "More >>" if 
necessary
[0030.0060] Tester 1: Click the Contents Tab, and Press the "New Script" Button, Copy and 
Paste the following script over the default script.
[SCRIPT] llGiveinventoryscript
[0030.0070] Tester 1: Once copied and Pasted, Click "Save" and Close the Script and Edit 
Windows.
[0030.0080] Tester 1: Left-click on the Receiver Cube and Copy the Key is Chats
[0030.0090] Tester 1: Right-click on the "Sender" cube and Select Edit, Click "More >>" if 
necessary
[0030.0100] Tester 1: Click the Content Tab, and Open the Script, Replace the Key in the 
Script with the one you just copied
[0030.0110] Tester 1: Click "Save" then, Close the Script window.
[0030.0120] Tester 2: Right-click on the ground and "Create" a prim with no copy 
perms, "Take" it and send it to Tester 1:
[0030.0130] Tester 1: Look in your Inventory for the (no copy) Object from Tester 2:
[0030.0140] Tester 1: Left-click-ctrl drag it onto the "Sender" Prim or you can Drag it 
into the Content Folder
[0030.0150] Tester 1: Close any open Edit Windows
[0030.0160] Tester 1: Left-click the "Sender" Cube, you should hear a message from 
the "Receiver" prim
[0030.0170] Tester 1: Verify the no-copy object was removed from the Sender object and 
sent to the Receiver
[*]
[0040.0010] Tester 1: Right-click on the "Receiver" Prim and Select "Edit", Click the 
Contents Tab and Delete the "Object"
[0040.0020] Tester 1: Right-click on the "Receiver" Prim and Select "More > Attach > Left 
Hand"
[0040.0030] Tester 2: Send Tester 1: another Copy of the (no copy) "Object"
[0040.0040] Tester 1: Right-click and "Edit" the Sender Prim and Drag the (no copy) Object 
to the Contents
[0040.0050] Tester 1: Close the Edit window, then Left-click on the "Sender" Prim
[0040.0060] Tester 1: Verify you hear a message similar to "Unable to give inventory: 
Blocked by permissions"
[*]
[0050.0010] Tester 2: Right-click on the ground and "Create" a prim with no transfer 
perms, "Take" it and send it to Tester 1: (in next owner can tick copy and untick resell)
[0050.0020] Tester 1: Right-click and "Edit" the Sender Prim and Drag the (no transfer) 
Object to the Contents
[0050.0030] Tester 1: Close the Edit window, then Left-click on the "Sender" Prim
[0050.0040] Tester 1: Verify the "Sender" object cannot give a no-transfer object to 
the "Receiver" object attached to Tester 1: (but it did, then read the note)
[*]
[NOTE] You can give a no-transfer object to your attachment. You can then detach the 
attachment, and your attachment will continue to be transferable. If you give the 
attachment to another person, the no-transfer object will be stripped from the attachment, 
thus this isn't an exploit, merely unexpected behavior.
[*]
[0060.0010] Tester 2: Right-click on the Ground and Select "Create" from the Pie Menu and 
Rez a Cube, call it "Receiver"
[0060.0020] Tester 2: Right-click on the "Receiver" cube and Select Edit, Click "More >>" 
if necessary
[0060.0030] Tester 2: Click the Contents Tab, and Press the "New Script" Button, Copy and 
Paste the following script over the default script.
[SCRIPT] Changedscript
[0060.0040] Tester 2: Once copied and Pasted, Click "Save" and Close the Script and Edit 
Windows.
[0060.0050] Tester 2: Left-click on the Receiver Cube and Copy the Key is Chats and pass 
it onto Tester 1:
[0060.0060] Tester 1: Right-click on the "Sender" cube and Select Edit, Click "More >>" if 
necessary
[0060.0070] Tester 1: Click the Content Tab, and Open the Script, Replace the Key in the 
Script with the one you just copied
[0060.0080] Tester 1: Click "Save" then, Close the Script window. Remove any objects in 
the contents.
[0060.0090] Tester 2: Right-click on the ground and "Create" a prim with no copy 
perms, "Take" it and send it to Tester 1:
[0060.0100] Tester 1: Look in your Inventory for the (no copy) Object from Tester 2:
[0060.0110] Tester 1: Left-click-ctrl drag it onto the "Sender" Prim or you can Drag it 
into the Content Folder
[0060.0120] Tester 1: Close any open Edit Windows
[0060.0130] Tester 1: Left-click the "Sender" Cube, you should hear a message from 
the "Receiver" prim
[0060.0140] Tester 1: Verify the no-copy object was removed from the Tester 1:'s Sender 
object and sent to the Tester 2:'s Receiver
[*]
[0070.0010] Tester 2: Right-click on the "Receiver" Prim and Select "Edit", Click the 
Contents Tab and Delete the "Object"
[0070.0020] Tester 2: Right-click on the "Receiver" Prim and Select "More > Attach > Left 
Hand"
[0070.0030] Tester 2: Send Tester 1: another Copy of the (no copy) "Object"
[0070.0040] Tester 1: Right-click and "Edit" the "Sender" Prim and Drag the (no copy) 
Object to the Contents
[0070.0050] Tester 1: Close the Edit window, then Left-click on the "Sender" Prim
[0070.0060] Tester 2: Verify you hear a message similar to "Unable to give inventory: 
Blocked by permissions"
[*]
[0080.0010] Tester 2: Right-click on the Attached "Receiver" prim and Select "Drop" from 
the Pie Menu
[0080.0020] Tester 2: Right-click on the ground and "Create" a prim with no transfer 
perms, "Take" it and send it to Tester 1: (in next owner can tick copy and untick resell)
[0080.0030] Tester 1: Right-click and "Edit" the Sender Prim and click the Contents Tab, 
Delete Any Objects
[0080.0040] Tester 1: Drag the (no transfer) Object to the Contents from your Inventory
[0080.0050] Tester 1: Close the Edit window, then Left-click on the "Sender" Prim
[0080.0060] Tester 2: Verify you hear a message similar to "Unable to give inventory: 
Blocked by permissions"
[*]
[0090.0010] Tester 2: Right-click on the "Receiver" Prim and Select "More > Attach > Left 
Hand"
[0090.0020] Tester 1: Left-click the "Sender" Cube, you should hear a message from 
the "Receiver" prim
[0090.0030] Tester 2: Verify you hear a message similar to "Unable to give inventory: 
Blocked by permissions"
[*]
[Object to Agent Transfer while Online and Offline]
[*]
[0100.0010] Tester 1: Right-click on the Ground and Select "Create" from the Pie Menu, Rez 
a prim Cube
[0100.0020] Tester 1: Right-click on the cube and Select Edit, Click "More >>" if 
necessary
[0100.0030] Tester 1: Click the Contents Tab, and Press the "New Script" Button, Copy and 
Paste the following script over the default script.
[SCRIPT] llGiveinventory
[0100.0040] Tester 1: Once copied and Pasted, Click "Save" and Close the Script and Edit 
Windows.
[0100.0050] Tester 2: Right-click on the Ground and Select "Create" from the Pie Menu, Rez 
a prim Cube
[0100.0060] Tester 2: Right-click on the cube and Select Edit, Click "More >>" if 
necessary
[0100.0070] Tester 2: Click the Contents Tab, and Press the "New Script" Button, Copy and 
Paste the following script over the default script.
[SCRIPT] llDetectedkeyscript
[0100.0080] Tester 2: Once copied and Pasted, Click "Save" and Close the Script and Edit 
Windows.
[0100.0090] Tester 2: Right-click on the Ground and Select "Create" from the Pie Menu, Rez 
a prim Cube
[0100.0100] Tester 2: Right-click on the Cube and Select "Take" from the Pie Menu
[0100.0110] Tester 2: From your Inventory find the Object Taken and Pass 2 copies of it to 
Tester 1:
[0100.0120] Tester 1: Accept the Items.
[0100.0130] Tester 2: Touch your remaining Cube displaying "Touch to view your key..."
[0100.0140] Tester 1: Copy the Key that has been chatted by Tester 2:'s Cube
[0100.0150] Tester 1: Right-click on your cube and Select Edit, Click "More >>" if 
necessary
[0100.0160] Tester 1: Click the Contents Tab, double click on the Script to open it, 
locate the key in the script and paste the once that was chatted by Tester 2:'s box over 
it.
[0100.0170] Tester 1: Once Pasted, Click "Save" and Close the Script
[0100.0180] Tester 1: Open your Inventory, and Locate the cube "Object" sent by Tester 2:
[0100.0190] Tester 1: Copy 1 of them to the Contents of your Cube then Close the Edit 
Window.
[0100.0200] Tester 1: Left-click on your Cube.
[0100.0210] Tester 2: Verify you are offered an "Object", press "Keep"
[0100.0220] Tester 2: Open you Inventory, Locate the Object
[0100.0230] Tester 2: Verify the "Object" is listed as (no copy) (no modify)
[0100.0240] Tester 1: Right-click on your cube and Select Edit, Click "More >>" if 
necessary, Click the Content Tab
[0100.0250] Tester 1: Verify the Object placed previously has been Transferred and Removed
[0100.0260] Tester 1: Open your Inventory, and Locate the cube "Object" sent by Tester 2:
[0100.0270] Tester 1: Copy the other to the Contents of your Cube then Close the Edit 
Window.
[0100.0280] Tester 2: Logoff, wait 2 minutes and Logon again.
[0100.0290] Tester 1: When Tester 2: has logged off Left-click on the Cube again
[0100.0300] Tester 2: When you log back in Verify you are offered an "Object", Press Keep
[0100.0310] Tester 2: Open you Inventory, Locate the Object
[0100.0320] Tester 2: Verify the "Object" is listed as (no copy) (no modify)
[0100.0330] Tester 1: Right-click on your cube and Select Edit, Click "More >>" if 
necessary, Click the Content Tab
[0100.0340] Tester 1: Verify the Object placed previously has been Transferred and Removed
[0100.0350] Tester 1 & B: Delete any Prims.
[END]
[llAllowinventorydrop]
default 
{ 
state_entry() 
{ 
llAllowInventoryDrop(TRUE); 
} 
}
[llGiveinventoryscript]
//llGiveInventory 
default 
{ 
state_entry() 
{ 
llSay(0, "Hello, Avatar!"); 
integer allowdrop = TRUE; 
llAllowInventoryDrop(allowdrop); 
llSay(0, "llAllowInventoryDrop is "+(string)allowdrop); 
} 
touch_start(integer total_number) 
{ 
key destination = "c7a62f0f-b2f9-dc5e-6f6d-682df139c0f4"; 
llGiveInventory(destination, "Object"); 
} 
changed(integer change) 
{ 
if (change == CHANGED_INVENTORY) 
{ 
llSay(0, "CHANGED_INVENTORY"); 
} 
else if (change == CHANGED_ALLOWED_DROP) 
{ 
llSay(0, "CHANGED_ALLOWED_DROP"); 
} 
} 
}
[Changedscript]
// changed 
default 
{ 
state_entry() 
{ 
llSay(0, "Hello, Avatar!"); 
integer allowdrop = TRUE; 
llAllowInventoryDrop(allowdrop); 
llSay(0, "llAllowInventoryDrop is "+(string)allowdrop); 
} 
touch_start(integer total_number) 
{ 
llSay(0, "key is "+(string)llGetKey()); 
} 
changed(integer change) 
{ 
if (change == CHANGED_INVENTORY) 
{ 
llSay(0, "CHANGED_INVENTORY"); 
} 
else if (change == CHANGED_ALLOWED_DROP) 
{ 
llSay(0, "CHANGED_ALLOWED_DROP"); 
} 
} 
}
[llDetectedkeyscript]
default
{
 state_entry()
 {
 llSetText("Touch to view your key...", <1,1,1>, 1);
 }
 touch_start(integer total_number)
 {
 integer x;
 
 for (x = 0;x < total_number;x += 1)
 {
 llSay(0, "The key for " + llDetectedName(x) + " is " + (string)llDetectedKey(x));
 }
 }
}
Category:QA Portal
Category:Quality Assurance