Commit Graph

469 Commits

Author SHA1 Message Date
Scott Kyle b98e89db22 Merge pull request #63 from realm/sk-chrome-apis
Finish implementing APIs for Chrome
2015-10-20 01:23:40 -07:00
Scott Kyle 01dc3a85d9 Add comment about usage of preventExtensions 2015-10-20 00:52:38 -07:00
Scott Kyle f2c4e7882a Make RPC lists non-extensible
Assigning to non-existent index will throw an exception and all tests pass in Chrome!
2015-10-19 17:43:51 -07:00
Scott Kyle 85e2a26b42 Make RPC Results objects auto-resize 2015-10-19 17:28:20 -07:00
Scott Kyle 3439b4c455 Add getter/setter for defaultPath to RPC 2015-10-19 16:59:04 -07:00
Scott Kyle 03751c35b4 Handle passing dates through RPC 2015-10-19 16:46:56 -07:00
Scott Kyle b07aa72a55 Move all constants into a single JS file 2015-10-19 16:19:43 -07:00
Scott Kyle 57778ce878 Improve calling object methods through RPC 2015-10-19 16:15:38 -07:00
Scott Kyle d172b43535 Add path and schemaVersion getters to realm object 2015-10-19 15:46:28 -07:00
Scott Kyle 1b7653206a Generalize getting/setting properties through RPC 2015-10-19 15:46:00 -07:00
Ari Lazier 3b5c78d29f Merge pull request #66 from realm/al-per-realm
Store schema/defaults per Realm, Cleanup per Realm state and threads
2015-10-19 15:29:04 -07:00
Ari Lazier 5aa066e6fa newline 2015-10-19 14:56:59 -07:00
Ari Lazier 1fa7c018ea clean up per realm resources/threads 2015-10-19 14:25:35 -07:00
Ari Lazier 8fed61cb8a clean up per realm resources/threads 2015-10-19 14:25:35 -07:00
Ari Lazier dace77579b store schema and prototypes on the realm object 2015-10-19 13:39:21 -07:00
Ari Lazier 167c3e97b5 store schema and prototypes on the realm object 2015-10-19 13:39:21 -07:00
Scott Kyle 4c0cc578d5 Generalize calling methods through the RPC 2015-10-19 12:46:31 -07:00
Scott Kyle d482ea82e7 Error messages deserve good grammar 2015-10-19 12:18:16 -07:00
Scott Kyle 5f52d07154 Add support for Results methods in Chrome
Which only consists of sortByProperty
2015-10-19 12:18:09 -07:00
Scott Kyle 78ec67cd6c Hacky support for adding notifications in Chrome
Since notifications are called synchronously after a write, we fake it by calling them manually for now. The future plan will be more involved, so some of that is stubbed out.
2015-10-19 12:09:14 -07:00
Scott Kyle b985e1f0a6 Add realm.close() method to JS shim
That was easy!
2015-10-19 12:07:50 -07:00
Scott Kyle 44eea1e036 Minor syntax improvements to JS shim 2015-10-19 12:07:50 -07:00
Ari Lazier 8ee6e757ee Merge pull request #62 from realm/sk-test-suite
Run tests from ReactNative
2015-10-19 11:34:59 -07:00
Ari Lazier cfd618db32 flag to create jscontext 2015-10-19 11:28:50 -07:00
Ari Lazier f02fb05af4 add search paths for test path 2015-10-19 10:52:34 -07:00
Ari Lazier fae276816f newline 2015-10-19 10:33:59 -07:00
Ari Lazier 69ea13944f disable schema/defaults cleanup until we can ensure we are using the correct context 2015-10-19 10:25:25 -07:00
Ari Lazier 832e0c5e13 clean up ctx initiliazation/remove code duplication 2015-10-19 10:24:51 -07:00
Ari Lazier 7074d66c5f always use release version of core 2015-10-19 09:58:26 -07:00
Ari Lazier 430b2a29e5 Merge branch 'sk-test-suite' of https://github.com/realm/realm-js into sk-test-suite 2015-10-16 10:35:41 -07:00
Ari Lazier 7ae6fe4a03 make sure we have destructors for all objects 2015-10-16 10:35:26 -07:00
Ari Lazier 5edb205978 clean up prototype and defaults state 2015-10-15 20:56:12 -07:00
Scott Kyle 69bf42c4f4 Actually stop and dealloc RPC server 2015-10-15 20:52:11 -07:00
Ari Lazier 5ccc03eeb7 rename some methods for clarity - try to cleanup js objects 2015-10-15 18:48:13 -07:00
Ari Lazier 45a3c89605 remove hardcoded test paths 2015-10-15 17:28:51 -07:00
Ari Lazier eb598a2408 fix for in chrome 2015-10-15 17:07:10 -07:00
Scott Kyle 5d59431860 Fix crash when a test fails inside RealmReactTests
This also appears to fix crashes when running ReactTests with Chrome debugging enabled!

The crash when tests failed was due to JavaScriptCore trying to create a backtrace with the native call stack.
2015-10-15 16:18:58 -07:00
Scott Kyle 7f5902b021 Remove dependency on JavaScriptCore for RealmReactTests
The test structure is now provided by a JS API, that is used by all things that run tests. Also, the tests can be run manually by tapping a button in the ReactTests app.
2015-10-15 15:19:59 -07:00
Thomas Goyne 6dfeaf8080 Move things which are not part of the API to an impl directory/namespace 2015-10-15 11:30:08 -07:00
Scott Kyle 7a79ac8803 Make Xcode tests run in React environment
The deleteTestFiles() function is now added to the Realm object, so that it's easy for the RPC module to handle this as well. We can only do this in testing environments in the future.
2015-10-15 03:26:56 -07:00
Scott Kyle 18f97b6ec1 Always set Access-Control-Allow-Origin on response
Error responses were not having this set, which obscured the true error from the client.
2015-10-15 03:01:38 -07:00
Scott Kyle 94521b73bb Properly serialize args to create Realm through RPC
An exception was thrown when parsing the JSON when only a string was passed. This is better and no longer uses the Objective-C API for converting the dictionary to a JSValue.
2015-10-15 03:00:13 -07:00
Ari Lazier 7b5be78df2 close to working test harness 2015-10-14 18:52:55 -07:00
Ari Lazier e470c5d189 run tests from subclass 2015-10-14 15:46:46 -07:00
Scott Kyle c8c1910910 Expose global cleanupTestRealms function
This handles clearing out all of the test files between each test case.
2015-10-14 15:26:05 -07:00
Ari Lazier d0787e36bb remove android project 2015-10-14 15:19:44 -07:00
Ari Lazier 2384f2cf9b catch errors thrown from tests and display error information 2015-10-14 15:15:44 -07:00
Scott Kyle 39b262b279 Each test can now have a beforeEach and afterEach 2015-10-14 15:02:19 -07:00
Scott Kyle dc84ac63b6 Merge branch 'sk-react-framework' into sk-test-suite
* sk-react-framework: (27 commits)
  Change RealmReact to be a dynamic framework
  finish Array to List rename
  RJSArray -> RJSList
  move property getters to object store code
  move List class to its own file
  ObjectArray -> List
  Add Notification constructor and destructor
  Small improvement to notifications test
  RJSException no longer requires JS strings
  Protect realm and callback from GC in addNotification
  Add comments
  pr fixes
  minimal tests for migrations
  Check for NaN inside RJSValidatedValueToNumber
  allow running all tests at the same path by invalidating all cached realm paths between test runs
  Native methods should convert to numbers/bools
  Out of bounds getters for Results return undefined
  Out of bounds list item getters return undefined
  Consolidate code that verifies array index bounds
  Add list item setters in JS
  ...
2015-10-14 02:12:50 -07:00
Scott Kyle 9916fe14a4 Change RealmReact to be a dynamic framework
It embeds RealmJS and GCDWebServers frameworks. This fixes #58, where there were issues with building for devices rather than just the simulator.

Some changes were made so that RealmReact.m didn't need to be weakly linked to libReact.a since that would actually cause any executable that uses this framework from being able to compile with bitcode.
2015-10-14 02:05:02 -07:00