diff --git a/.buildpath b/.buildpath new file mode 100644 index 00000000..a4ec9cf2 --- /dev/null +++ b/.buildpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..2d1d21a4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +.DS_Store +build +###BrightScript specific +dist/apps +out/ +dist/ + +### Eclipse project files + +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# Eclipse Core +.project + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +#node +node_modules/ diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..a1928c6a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Rooibos CHANGELOG + +## 0.1.0 Initial release + - Core framework + - Documentation + - API documentation + - Build scripts diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..43e07d4e --- /dev/null +++ b/Makefile @@ -0,0 +1,25 @@ + +.PHONY: test dist doc + +# Run the tests +test: dist + @rm -rf build/* + mkdir -p build + cp -r test/* build + cp dist/rooibos.cat.brs build/source + cd build; ${MAKE} install + +# Smash the library down to one file +BLANK_LINES_RE="/^[ \t]*'.*/d" +COMMENT_LINES_RE="/^[ ]*$$/d" +LEADING_WHITESPACE_RE="s/^[ \t]*//" +dist: + sed "s/^/' VERSION: Rooibos /g" ./VERSION > ./dist/rooibos.cat.brs + sed "s/^/' LICENSE: /g" ./LICENSE >> ./dist/rooibos.cat.brs + #LEADING_WHITESPACE_RE is chopping off t's for the time being. need to fix it + #cd src && ls | xargs -J % sed -E -e ${COMMENT_LINES_RE} -e ${BLANK_LINES_RE} -e ${LEADING_WHITESPACE_RE} % >> ../dist/rooibos.cat.brs + cd src && ls | xargs -J % sed -E -e ${COMMENT_LINES_RE} -e ${BLANK_LINES_RE} % >> ../dist/rooibos.cat.brs + +doc: + cd jsdoc && npm install + ./jsdoc/node_modules/.bin/jsdoc -c jsdoc/jsdoc.json -t jsdoc/node_modules/ink-docstrap/template -d apiDocs diff --git a/README.md b/README.md new file mode 100644 index 00000000..e59198c1 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +

+ Mocha test framework +

+

+Simple, mocha-inspired, flexible, fun Brightscript test framework for ROKU apps +

+ +## Links + - **[Documentation](docs/index.md)** + - **[Release notes / History / Changes](CHANGELOG.md)** + - [Roku dev forum topic](https://forums.roku.com/viewforum.php?f=34) + - [Roku developer slack group](https://join.slack.com/t/rokudevelopers/shared_invite/enQtMzgyODg0ODY0NDM5LTc2ZDdhZWI2MDBmYjcwYTk5MmE1MTYwMTA2NGVjZmJiNWM4ZWY2MjY1MDY0MmViNmQ1ZWRmMWUzYTVhNzJiY2M) + - [Issue tracker](https://github.com/georgejecook/rooibos/issues) + - [Roadmap](ROADMAP.md) + +## Development + +Rooibos is an independent open-source project, maintained exclusively by volunteers. + +You might want to help! Get in touch via the slack group, or raise issues. + +## Thanks +Rooibos was hacked together from the official roku unit testing framework. I'd like to say a big thank you to the guys at roku who gave me permission to build upon their work. The original framework can be found here : [https://github.com/rokudev/unit-testing-framework](https://github.com/rokudev/unit-testing-framework) + +Also thanks to the guys who made and maintain [mochaJs](https://mochajs.org/), on which many of my changes are based upon, as well as the structure of the documentation. + +## FAQ +### Is Rooibos ready for production use? +Rooibos has so far been used on a couple of production projects, running CI with over 800 tests between them. It does however, use the same test running mechanism of the official roku unit testing framework, which has been in circulation for several years. + +### Is Rooibos actively maintained? +I am actively invovled in Rooibos's development, and add more features and fixes on a weekly basis. You can expect rapid responses to issues. + +### Why did you not just merge back your changes to roku's unit testing framework +1. It does rewrite quite a lot of the original unit test framework code, so I doubt that roku would've merged it all back any time soon +2. It's conceptually entirely different: e.g. using annotations instead of naming conventions and boiler-plate code, completely different test reporting output, assertions and test cases maintain their own state, runs in a scenegraph scene, to name but a few +3. It has many more features than the original framework, not limited to : node specific assertions, exact assertion line failure reporting, better error messaging, easier setup, groupings, only and ignore for tests, mocks and stubs, etc, etc +4. Being completely frank, I enjoy roku work and want to do more of it, so it's useful to me to own this project, rather than lose control and wait on other's to merge my changes. On that note, email me at george[AT]tantawowa.com, or pm me (georgejecook) on the roku slack group to discuss any roku development requirements +5. I poured a _lot_ of work into the project (> 100 hours and counting), and expect to continue to do so. If I own the project, then I can do what I want, when I want. That goes for you guys as well, so get in touch with feature requests and PR's :) + +### Is Rooibos itself unit tested? +At this point, no. It is on the [roadmap](ROADMAP.md) though! + + + diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 00000000..e20a888b --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,24 @@ +# Rooibos roadmap +Up to date as of July 19th, 2018 + +## 0.1.0 Initial release + +## 0.2.0 Initial feedback +Fix immediate issues that come back from the first few weeks of release +Also add an `'@OnlyParams[p1,...p6]` tag, so that we don't need to use `@IgnoreParams` + +## 0.3.0 Unit tests for the framework +Unit tests will be written which test the following: + + - Assertions + - Ignore + - Only + - Mocks + - Stubs + - Expect + +## 0.4.0 Integration with [To be named] roku pre-processor +I have another project in the works which pre-processes brightscript and xml to provide an Adobe flex-like syntax for easy MVVM roku development. I want to integrate hooks into that, which will automatically generate node test files. + +## 0.5.0 Add additional reporting opptions +Will add the ability to specifiy a unit test reporting class, to faciliate custom unit test reporting diff --git a/VERSION b/VERSION new file mode 100644 index 00000000..6e8bf73a --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.1.0 diff --git a/apiDocs/fonts/glyphicons-halflings-regular.eot b/apiDocs/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 00000000..b93a4953 Binary files /dev/null and b/apiDocs/fonts/glyphicons-halflings-regular.eot differ diff --git a/apiDocs/fonts/glyphicons-halflings-regular.svg b/apiDocs/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 00000000..94fb5490 --- /dev/null +++ b/apiDocs/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/fonts/glyphicons-halflings-regular.ttf b/apiDocs/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 00000000..1413fc60 Binary files /dev/null and b/apiDocs/fonts/glyphicons-halflings-regular.ttf differ diff --git a/apiDocs/fonts/glyphicons-halflings-regular.woff b/apiDocs/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 00000000..9e612858 Binary files /dev/null and b/apiDocs/fonts/glyphicons-halflings-regular.woff differ diff --git a/apiDocs/fonts/glyphicons-halflings-regular.woff2 b/apiDocs/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 00000000..64539b54 Binary files /dev/null and b/apiDocs/fonts/glyphicons-halflings-regular.woff2 differ diff --git a/apiDocs/img/glyphicons-halflings-white.png b/apiDocs/img/glyphicons-halflings-white.png new file mode 100644 index 00000000..3bf6484a Binary files /dev/null and b/apiDocs/img/glyphicons-halflings-white.png differ diff --git a/apiDocs/img/glyphicons-halflings.png b/apiDocs/img/glyphicons-halflings.png new file mode 100644 index 00000000..a9969993 Binary files /dev/null and b/apiDocs/img/glyphicons-halflings.png differ diff --git a/apiDocs/index.html b/apiDocs/index.html new file mode 100644 index 00000000..03bb01b0 --- /dev/null +++ b/apiDocs/index.html @@ -0,0 +1,188 @@ + + + + + + + rodash Index + + + + + + + + + + + + + +
+
+ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-BaseTestSuite.html b/apiDocs/module-BaseTestSuite.html new file mode 100644 index 00000000..f712a624 --- /dev/null +++ b/apiDocs/module-BaseTestSuite.html @@ -0,0 +1,243 @@ + + + + + + + rodash Module: BaseTestSuite + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: BaseTestSuite

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-CommonUtils.html b/apiDocs/module-CommonUtils.html new file mode 100644 index 00000000..116cae5d --- /dev/null +++ b/apiDocs/module-CommonUtils.html @@ -0,0 +1,1927 @@ + + + + + + + rodash Module: CommonUtils + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: CommonUtils

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + +

Members

+ +
+ +
+
+

<static> RBS_CMN_ArrayContains

+ + +
+
+ +
+

check if array contains specified value

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_AsArray

+ + +
+
+ +
+

if type of value equals array return value, else return array with one element [value]

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_AsBoolean

+ + +
+
+ +
+

convert input to Boolean if this possible, else return False

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_AsDouble

+ + +
+
+ +
+

convert input to Double if this possible, else return 0.0

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_AsFloat

+ + +
+
+ +
+

convert input to Float if this possible, else return 0.0

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_AsInteger

+ + +
+
+ +
+

convert input to Integer if this possible, else return 0

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_AsLongInteger

+ + +
+
+ +
+

convert input to LongInteger if this possible, else return 0

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_AsString

+ + +
+
+ +
+

convert input to String if this possible, else return empty string

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_FindElementIndexInArray

+ + +
+
+ +
+

find an element index in array

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_FindElementIndexInNode

+ + +
+
+ +
+

find an element index in node

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsArray

+ + +
+
+ +
+

check if value contains Array interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsAssociativeArray

+ + +
+
+ +
+

check if value contains AssociativeArray interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsBoolean

+ + +
+
+ +
+

check if value contains Boolean interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsDateTime

+ + +
+
+ +
+

check if value contains DateTime interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsDouble

+ + +
+
+ +
+

check if value contains Double interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsFloat

+ + +
+
+ +
+

check if value contains Float interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsFunction

+ + +
+
+ +
+

check if value contains Function interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsInteger

+ + +
+
+ +
+

check if value type equals Integer

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsList

+ + +
+
+ +
+

check if value contains List interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsLongInteger

+ + +
+
+ +
+

check if value contains LongInteger interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsNotEmptyString

+ + +
+
+ +
+

check if value contains String interface and length more 0

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsNullOrEmpty

+ + +
+
+ +
+

check if value is invalid or empty

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsNumber

+ + +
+
+ +
+

check if value contains LongInteger or Integer or Double or Float interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsSGNode

+ + +
+
+ +
+

check if value contains SGNodeChildren interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsString

+ + +
+
+ +
+

check if value contains String interface

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_IsValid

+ + +
+
+ +
+

check if value initialized and not equal invalid

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_NodeContains

+ + +
+
+ +
+

check if node contains specified value

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

<static> RBS_CMN_ValidStr

+ + +
+
+ +
+

return value if his contains String interface else return empty string

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-ItGroup.html b/apiDocs/module-ItGroup.html new file mode 100644 index 00000000..0dd2593d --- /dev/null +++ b/apiDocs/module-ItGroup.html @@ -0,0 +1,243 @@ + + + + + + + rodash Module: ItGroup + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: ItGroup

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-ItemGenerator.html b/apiDocs/module-ItemGenerator.html new file mode 100644 index 00000000..7c893855 --- /dev/null +++ b/apiDocs/module-ItemGenerator.html @@ -0,0 +1,370 @@ + + + + + + + rodash Module: ItemGenerator + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: ItemGenerator

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + +

Members

+ +
+ +
+
+

<static> wtf

+ + +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+
+

difference

+ + +
+
+ +
+

Return a new array of items from the first which are not in the second.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Example
+ +
difference = _.difference([1,2], [2])
+' => [1]
+ + + +
+ +
+ + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-Logger.html b/apiDocs/module-Logger.html new file mode 100644 index 00000000..52770e4c --- /dev/null +++ b/apiDocs/module-Logger.html @@ -0,0 +1,243 @@ + + + + + + + rodash Module: Logger + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: Logger

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-TestCase.html b/apiDocs/module-TestCase.html new file mode 100644 index 00000000..65a7af5c --- /dev/null +++ b/apiDocs/module-TestCase.html @@ -0,0 +1,243 @@ + + + + + + + rodash Module: TestCase + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: TestCase

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-TestResult.html b/apiDocs/module-TestResult.html new file mode 100644 index 00000000..8711e529 --- /dev/null +++ b/apiDocs/module-TestResult.html @@ -0,0 +1,243 @@ + + + + + + + rodash Module: TestResult + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: TestResult

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-TestSuite.html b/apiDocs/module-TestSuite.html new file mode 100644 index 00000000..b2a62d13 --- /dev/null +++ b/apiDocs/module-TestSuite.html @@ -0,0 +1,243 @@ + + + + + + + rodash Module: TestSuite + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: TestSuite

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-UnitTestRuntimeConfig.html b/apiDocs/module-UnitTestRuntimeConfig.html new file mode 100644 index 00000000..515676ef --- /dev/null +++ b/apiDocs/module-UnitTestRuntimeConfig.html @@ -0,0 +1,243 @@ + + + + + + + rodash Module: UnitTestRuntimeConfig + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: UnitTestRuntimeConfig

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/module-roibosh.html b/apiDocs/module-roibosh.html new file mode 100644 index 00000000..9981be90 --- /dev/null +++ b/apiDocs/module-roibosh.html @@ -0,0 +1,314 @@ + + + + + + + rodash Module: rooibosh + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Module: rooibosh

+
+ +
+ +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + +

Members

+ +
+ +
+
+

BaseTestSuite

+ + +
+
+ +
+

Creates a new BaseTestSuite, used to execute tests. Used internally by the test runner

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Example
+ +
source = { a: 1, b: invalid, c: "3" }
+dest = _.clone(source)
+ + + +
+ +
+ + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/modules.list.html b/apiDocs/modules.list.html new file mode 100644 index 00000000..dbb59c34 --- /dev/null +++ b/apiDocs/modules.list.html @@ -0,0 +1,248 @@ + + + + + + + rodash Modules + + + + + + + + + + + + + +
+
+ + +
+ +
+ + +

Modules

+
+ +
+ +

+ +

+ + +
+ + +
+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ +
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiDocs/scripts/docstrap.lib.js b/apiDocs/scripts/docstrap.lib.js new file mode 100644 index 00000000..09d9272a --- /dev/null +++ b/apiDocs/scripts/docstrap.lib.js @@ -0,0 +1,11 @@ +if(!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"!==c&&!_.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a))}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c)}catch(a){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("