aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Scripting/JsonStore (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Enable one sub-test in TestJsonSetValue() which now works (using identifier ↵Justin Clark-Casey (justincc)2013-02-151-17/+13
| | | | | | | with embedded .). Need to look further at other still commented tests. Still need to check coverage against some of Mic's scripts.
* Rename JsonSetValueJson() -> JsonSetJson() and JsonGetValueJson() -> ↵Justin Clark-Casey (justincc)2013-02-152-15/+15
| | | | | | | | JsonGetJson() This is because JsonGetJson() is getting json from anywhere in the structure, not just values. Equally, JsonSetJson() is setting any type of json, not just json which represents a value. Agreed with cmickeyb
* Comment out regression TestJsonTestPath and TestJsonTestPathJson as these ↵Justin Clark-Casey (justincc)2013-02-151-62/+62
| | | | will go away soon
* Add regression TestJsonList2Path()Justin Clark-Casey (justincc)2013-02-151-2/+27
|
* Add regression TestGetArrayLength()Justin Clark-Casey (justincc)2013-02-141-0/+33
|
* Add regression TestJsonGetPathType()Justin Clark-Casey (justincc)2013-02-141-0/+47
|
* Rename new JsonScript functions JsonPathType() -> JsonGetPathType() and ↵Justin Clark-Casey (justincc)2013-02-142-6/+6
| | | | | | | | JsonArrayLength() -> JsonGetArrayLength() This is for consistentency with the verb:noun naming approach existing json script functions and other script functions. Corresponding c# methods also changed since verb:noun is also the .net c# method naming guideline (as used by OpenSimulator) and for consistency with script functions. As agreed with cmickeyb
* Make new JsonStore script constants separated with underscores, to be ↵Justin Clark-Casey (justincc)2013-02-141-5/+5
| | | | | | consistent with existing LSL/OSSL, etc script constants. Agreed with cmickeyb
* Adds a couple requested functions to the JsonStore scriptMic Bowman2013-02-133-1/+147
| | | | | | interface. JsonPathType returns the type of node pointed to by the path and deprecates the functionality of both JsonTestPath functions. JsonArrayLength returns the length of an array node.
* Make path parsing more robust in the JsonStore.Mic Bowman2013-02-121-12/+6
|
* Add more sub-tests to TestJsonSetValue for paths containing []{} without {} ↵Justin Clark-Casey (justincc)2013-02-131-5/+86
| | | | | | | delineation. As expected, values are not set and the set call returns FALSE (0). As a reminder, these tests are not currently running on jenkins continuous integration as the functionality is only available on .net 4 (mono 2.8 and later).
* Extend JsonTestSetValue() with tests for escaping brackets, periods and ↵Justin Clark-Casey (justincc)2013-02-131-2/+71
| | | | | | unbalanced braces from paths The sub-tests that are commented out are currently those which fail unexpectedly based on my understanding of the path syntax
* Add test for array as root element in TestJsonCreateStore()Justin Clark-Casey (justincc)2013-02-131-0/+9
|
* Extend TestJsonRemoveValue() with tests for non-penultimate nodes and arraysJustin Clark-Casey (justincc)2013-02-131-13/+57
|
* Extend TestJsonCreateStore() with a one key input and an input with raw ↵Justin Clark-Casey (justincc)2013-02-121-2/+20
| | | | number values
* Re-enable subtest for single quoted token in TestJsonSetValueJson()Justin Clark-Casey (justincc)2013-02-121-9/+9
| | | | This is in response to the resolution of http://opensimulator.org/mantis/view.php?id=6540
* Adds the parameter for OSD serialization to encode default values. ThisMic Bowman2013-02-122-5/+8
| | | | makes the JsonStore get/set operations symmetric.
* Fix handling of string values in JsonSetValueJson(). There areMic Bowman2013-02-111-1/+31
| | | | | some oddities with empty strings: the Json serializer treats them as default values and does not return them in serialized hashes.
* Add regression TestJsonSetValueJson()Justin Clark-Casey (justincc)2013-02-121-0/+58
| | | | | The part to test setting of single leaf-node string tokens is currently commented out. See http://opensimulator.org/mantis/view.php?id=6540
* Add regression TestJsonGetValueJson()Justin Clark-Casey (justincc)2013-02-111-0/+33
|
* Add regression TestJsonTestPathJson()Justin Clark-Casey (justincc)2013-02-111-0/+32
|
* Add section to TestJsonGetValue() to test call on a sub-treeJustin Clark-Casey (justincc)2013-02-111-9/+21
|
* Extend TestJsonTestPath() for non-terminating section of path (i.e. one that ↵Justin Clark-Casey (justincc)2013-02-111-8/+20
| | | | does not point to a value/leaf)
* Add section to TestJsonSetValue() to test attempted set of value where the ↵Justin Clark-Casey (justincc)2013-02-111-8/+23
| | | | penultimate section of path does not exist
* Add test to try reading notecard into an invalid path in ↵Justin Clark-Casey (justincc)2013-02-111-7/+13
| | | | TestJsonReadNotecard() regression test
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimMic Bowman2013-02-081-5/+2
|\
| * Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2013-02-092-4/+95
| |\
| * | Change TestDestroyStore() and TestJsonRemoveValue() to reflect the fact that ↵Justin Clark-Casey (justincc)2013-02-091-5/+2
| | | | | | | | | | | | the return values have changed.
* | | Make JsonStore path parsing more robust. Should fix theMic Bowman2013-02-082-21/+59
| |/ |/| | | | | invalid path problem.
* | Broaden the internal OSD type checks to parse JSON that hasMic Bowman2013-02-081-2/+29
| | | | | | | | non string values.
* | Adds size limits to JsonStore. Adds a separate configurationMic Bowman2013-02-082-2/+66
|/ | | | variable to enable binding to dynamic attributes.
* Fix the return values for JsonDestroyStore, JsonRemoveValue, and JsonSetValue.Mic Bowman2013-02-083-10/+17
| | | | Fix the link message status when reading a notecard.
* Refine TestJsonReadNotecard() and use / instead of . to separate paths.Justin Clark-Casey (justincc)2013-02-081-15/+46
| | | | | | | An attack of the stupid meant that I was using / as a path separator. Fixing this makes the tests behave better, though still with some questions. Also, I imagine / shouldn't really put data in the root as that's not a valid identifier. This commit also fix the / mistake in other tests those this does not affect their outcomes.
* Extend TestJsonReadNotecard() for reads to non-root locations and fake stores.Justin Clark-Casey (justincc)2013-02-081-9/+33
| | | | Assertions for loading to non-root paths are currently commented out because this doesn't seem to be working. Will be raising mantis to resolve.
* Stop wrongly create a receiving store already populated with "Hello":"World" ↵Justin Clark-Casey (justincc)2013-02-081-1/+3
| | | | in TestJsonReadNotecard()
* Extend TestJsonWriteNotecard() regression test for cases with fake paths and ↵Justin Clark-Casey (justincc)2013-02-081-8/+61
| | | | | | fake stores. Also separates out TestJsonWriteReadNotecard() into separate write and read tests
* Extend TestJsonSetValue() regressio ntes tto test against a fake storeJustin Clark-Casey (justincc)2013-02-081-0/+5
|
* Extend TestJsonTestPath() regression test with checks against fake values ↵Justin Clark-Casey (justincc)2013-02-081-0/+8
| | | | and fake stores
* Add tests for removing fake values/from fake store in TestJsonRemoveValue()Justin Clark-Casey (justincc)2013-02-071-0/+11
| | | | Again, need to check if returning true for removing a value that doesn't exist is most appropriate.
* Add testing for getting non-existing values and values from a non-existing ↵Justin Clark-Casey (justincc)2013-02-071-1/+10
| | | | datastore to TestJsonGetValue()
* Add TestJsonDestoreStoreNotExists()Justin Clark-Casey (justincc)2013-02-071-0/+14
| | | | | This still returns true even if we ask to destroy a store that does not exist. Need to check that this is more appropriate behaviour.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2013-02-071-1/+60
|\
| * Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2013-02-073-13/+95
| |\
| * | Add TestJsonWriteReadNotecard() regression testJustin Clark-Casey (justincc)2013-02-071-1/+44
| | |
| * | Make json store tests operate on a single thread to ensure we don't run into ↵Justin Clark-Casey (justincc)2013-02-071-0/+16
| | | | | | | | | | | | any race related test failures in the future.
* | | Fix a recent regression in e17392a where JsonSetValue() stopped working ↵Justin Clark-Casey (justincc)2013-02-073-15/+15
| |/ |/| | | | | | | | | | | | | | | (probably other functions as well). Fix is to call through to the no-arg constructor from the string constructor in JsonStore, which I suspect was just forgotten. This was actually picked up by the TestJsonSetValue() regression test failing But this isn't being run on jenkins due to the .net version issue. This commit also puts the full stack trace in logged messages and makes these error level messages instead of info
* | Enables script access to the per object dynamic attributes through the JsonStoreMic Bowman2013-02-063-13/+95
|/ | | | | | | | | | | script functions. Adds JsonAttachObjectStore to associate a store identifier with an object (scripts can only access the store in their host object, this could be extended but isn't necessary for now). Note this opens a method to the DAMap OSDMap. This will be removed later, but greatly simplifies the code for now. The JsonStore and these scripts are disabled by default.
* Allow JsonReadNotecard() to accept the name of the notecard as well as the ↵Justin Clark-Casey (justincc)2013-02-061-8/+18
| | | | | | | asset ID. Agreed in discussion with cmickeyb. This is to make this consistent with similar existing LSL/OSSL functions such as llTriggerSound() and osNpcLoadAppearance() that allow an item name or an asset id.
* Move the JsonStore regular expressions to static variables to avoidMic Bowman2013-01-312-87/+190
| | | | | recompiling on every operation. Added JsonList2Path script function to simplify array iteration.
* Add JsonTestStore to determine if a JsonStore is associated withMic Bowman2013-01-302-0/+24
| | | | a particular UUID.