Commit Graph

305 Commits

Author SHA1 Message Date
Juho Teperi 3bd90a26ec Clean new create-class and remove create-react-class from tests 2018-12-31 10:37:43 +02:00
Jim Berlage e31192fd31 Allows for an arbitrary number of props in merge-props 2018-12-03 16:16:06 -06:00
Juho Teperi 62f87292a2 Fix #401 if jsprops is nil before adding key, key is lost
If jsprops was nil before key oset call, oset created a new object for
the jsprops, but because the return value from oset was not used, the
object was lost.
2018-11-14 22:31:50 +02:00
Juho Teperi fe4f348f12 Test not= exception for dev builds only
Logging is not enabled for optimized builds
2018-05-04 19:25:34 +03:00
Juho Teperi c8cc7f996b Add test case for not= exception handling
Test case adapted from code by atroche: https://github.com/reagent-project/reagent/pull/344#issuecomment-384882866
2018-05-04 19:18:51 +03:00
Juho Teperi 5892174a12 Workaround for browser-npm minified error 2018-05-04 18:58:05 +03:00
Juho Teperi 60f7b4bc0c Remove :> component type assertion
Component could be plain JS object with some private React properties,
and it is not easy to check for this. Instead just allow all value for
:> but check that React will throw error from createElement.

Fixes #369
2018-05-04 18:47:45 +03:00
Juho Teperi 0c0ffc626a Context default value is for cases without provider 2018-05-04 18:14:48 +03:00
Juho Teperi cb02310b68 Add tests for new React context 2018-05-04 17:52:12 +03:00
Juho Teperi e1019a1c9c Check if value is named before calling name 2018-05-04 16:10:41 +03:00
Juho Teperi 606b321d2f Fix keywords and symbols in :class
Fixes #367
2018-04-27 23:20:52 +03:00
Juho Teperi 4a8ac5cd83 Fix problem with custom HTML element property name code
Custom HTML element property name code accidentally modified cache
object for normal HTML elements, which can cause Reagent to lose correct
mappings for properties like className, htmlFor and charSet.
2018-04-27 23:17:25 +03:00
Juho Teperi b7304d0f3f Fix aget/aset use with objects
This removes the interop macros which used aget/aset and prevented
Closure naming mangling, now normal property and method access is used
where possible, and goog.object used when using variable keys. Further
testing is needed to ensure this works correctly with Closure, as there
are some properties that are used with goog.object in one place, and as
property in another.

Fixes #324
2018-04-19 17:25:37 +03:00
Juho Teperi ad96d3cbbd Ensure prerender code is not evaluated during tests 2018-04-16 20:50:32 +03:00
Juho Teperi 601da7cc1d Merge branch 'test-browser-node-prod' into react-16-try2 2018-04-03 11:00:46 +03:00
Juho Teperi 12d590ff15 Document React 16 problems with npm-deps 2018-04-03 10:53:05 +03:00
Juho Teperi efe84857b9 Fix fragment key test case 2018-04-03 10:42:25 +03:00
Juho Teperi e095696bcc Use React 16 and simplify test setup 2018-04-03 10:33:01 +03:00
Juho Teperi 54d9b8eb78
Merge pull request #352 from reagent-project/hiccup-fragment
Implement :<> hiccup tag for fragments
2018-04-03 09:42:02 +03:00
Juho Teperi 65683b6b97 Remove Karma logger hack which doesn't work with 2.0 2018-03-26 14:56:57 +03:00
Juho Teperi 4f66690486 Use render-to-static-markup instead of render-to-string for tests 2018-03-13 21:49:48 +02:00
Juho Teperi c1388a687b Improve error-boundary test 2018-03-13 21:35:30 +02:00
Juho Teperi 87b61475e2 Implement :<> hiccup tag for fragments
Fixes #319
2018-03-12 14:19:42 +02:00
Juho Teperi 3b7f8d7275 Fix #262: Apply metadata to outermost el when using nesting shorthand 2017-11-28 18:51:37 +02:00
Juho Teperi 6eb9f4f6fb Fix entity test on Node 2017-11-28 17:13:10 +02:00
Juho Teperi 7a3bc4c212 Fix Node tests - testwrap async test requires DOM 2017-11-28 17:12:29 +02:00
Juho Teperi a8ec0d219b Add test for child context 2017-11-28 15:41:30 +02:00
Juho Teperi 4dcd82a28e Add html entity test 2017-11-23 08:45:43 +02:00
Juho Teperi 2a4efc5710 Don't rename props for custom elements
Custom element names must always contain hyphen so we can use that to
keep track of which elements are native vs. custom when parsing tag
name.

Fixes #322
2017-11-08 21:04:14 +02:00
Juho Teperi a2669b3671 Fix test ns name again 2017-11-08 21:04:02 +02:00
Juho Teperi 31a72ff5c4 Fix test util ns name 2017-11-08 20:47:56 +02:00
Juho Teperi f0650a69a5 Add test utils ns 2017-11-08 20:08:27 +02:00
Juho Teperi 0b38b4467d Merge pull request #314 from frerom/with-meta
Add IWithMeta protocol to RAtom
2017-10-20 11:07:05 +03:00
Juho Teperi c63fe944fd Merge pull request #313 from reagent-project/new-test-runner
New test runner
2017-10-20 10:20:11 +03:00
Adrian Gruntkowski 5045046f6a Add support for collections in :class property 2017-10-20 08:34:10 +02:00
Juho Teperi 52b0b2eba4 Fix demo site build script, stop usinn lein profile merging 2017-10-18 14:25:41 +03:00
Juho Teperi 03ff2ffe87 Add karma junit reporter & other config 2017-10-14 16:20:43 +03:00
Juho Teperi 3b51b08968 Run some testwrap test cases using after-render 2017-10-14 13:06:29 +03:00
Juho Teperi e0b8bd337b No need to mount test divs to dom 2017-10-14 13:06:10 +03:00
Juho Teperi 36509f79ff Catch all React errors during tests 2017-10-13 19:57:46 +03:00
Juho Teperi 7d074b55ed Remove test divs from dom after error 2017-10-13 19:21:44 +03:00
Juho Teperi 39b0326d22 Add componentDidCatch support and test (error boundary) 2017-10-13 19:20:36 +03:00
Juho Teperi b81af9308a Fix doo & test result component on demo app 2017-10-13 16:00:04 +03:00
Juho Teperi 4bfed50f33 Fix and note about property case test 2017-10-13 11:18:48 +03:00
Juho Teperi be45ec0aa7 Better style prop test 2017-10-13 11:18:32 +03:00
Juho Teperi ef5c98eeba In Node & CJS React, style prop doesn't end in ; 2017-10-12 16:29:15 +03:00
Juho Teperi 47e386d49d Fix text case on some tests 2017-10-12 16:15:12 +03:00
Juho Teperi 6dc26c9cf0 React validates aria properties, if using Node module 2017-10-12 16:14:46 +03:00
Juho Teperi 3d061329d8 Remove duplicate test-results var 2017-10-12 15:38:32 +03:00
Fredrik Roman 5463bd8403 Add IWithMeta protocol to RAtom 2017-10-05 20:55:29 -04:00
Juho Teperi 4f69a37fcc Fix tests on Chrome, don't load demo app on test runner 2017-09-29 11:02:34 +03:00
Juho Teperi fd93b09c96 Rework test runner and prerendering
Use doo for tests.
2017-09-29 01:34:06 +03:00
Juho Teperi d83a1e319c Clean JS requires 2017-07-29 16:26:28 +03:00
Juho Teperi 84bfd13052 Update to use JS requires 2017-07-09 23:11:49 +03:00
Juho Teperi dfb5d91b09 Merge branch 'master' into npm-deps 2017-07-09 15:46:15 +03:00
Juho Teperi 3cf045dc82 Fix partial-ifn with latest Cljs
Old implementation incorrectly used variadic arity for -invoke
implementation. Variadic artities for protocols are not supported by
Cljs. The old code as worked by luck but was broken by a recent change:
https://dev.clojure.org/jira/browse/CLJS-2099

New implementation properly implements all the artities for -invoke. New
implementation creates the partial fn in a constructor function, so -invoke
code doesn't need to do that. New implementation also implements Fn.
2017-06-27 15:16:10 +03:00
Juho Teperi 9d2991ed32 Test with npm deps 2017-06-06 18:33:23 +03:00
Juho Teperi 18cb1468a6 Update to React 15.5, use create-react-class
Fixes #292
2017-05-19 19:30:38 +03:00
Juho Teperi 4ea070d15a Add test to validate that style properties with dashes work 2017-03-11 01:56:39 +02:00
Juho Teperi b973a873fc Merge branch 'revert-128' of https://github.com/moskvax/reagent into moskvax-revert-128 2017-03-11 01:44:23 +02:00
Juho Teperi 19ae267b32 Fix CI tests
Gen-site.js is used both to pre-render HTML files and run tests.
2017-03-11 00:58:14 +02:00
Juho Teperi 8630ab5239 Fix #278: Replace mentions of render-component with render 2017-03-10 17:19:19 +02:00
Juho Teperi 560f99174a Fix dom-server calls in demo and text code 2016-11-17 02:58:44 +02:00
Dan Holmsand c980ac0c3d Avoid warning messages from React in tests 2016-07-14 09:34:03 +02:00
Dan Holmsand bb2faefcbe Move add-on-dispose! to IDisposable
And pass the reaction to the dispose function.
2016-06-07 16:35:17 +02:00
Dan Holmsand 1280f58201 Make sure after-render fn is called immediately after render
when after-render is called during rendering. This should happen both
if the render is a part of the normal rendering loop, or if it is
triggered by render or force-update.
2016-05-31 23:09:43 +02:00
Dan Holmsand cd0863f1b2 Skip tests that require browser on node 2016-05-27 13:14:35 +02:00
Dan Holmsand d3ee4a7f8b Update figwheel and simplify doc app configuration 2016-05-27 12:55:13 +02:00
Dan Holmsand baf2107c15 Add test for nested with-let 2016-05-27 11:36:23 +02:00
Dan Holmsand 072cce4844 Add add-on-dispose! to Reaction 2016-05-26 17:41:30 +02:00
Dan Holmsand 00bfb8ed01 Make new tests pass in production mode 2016-05-01 15:18:26 +02:00
Dan Holmsand 7943a0018b Make demo site reload a little faster 2016-05-01 13:45:37 +02:00
Dan Holmsand e128117788 Improve exception-handling in reactions
Make sure exceptions in children of reactions don't end up
being caught in the reaction itself.
2016-05-01 13:09:12 +02:00
Dan Holmsand 1d912f0eaf Make sure force-update flushes queued reactions 2016-04-30 14:24:18 +02:00
Dan Holmsand 995acb6c34 Make reaction with error always throw on deref 2016-04-30 13:56:00 +02:00
Dan Holmsand 9631021da7 Make sure reactions continue to run after throw 2016-04-29 20:42:05 +02:00
Dan Holmsand 8ff44c81e6 Rerun tests by clicking on test results 2016-04-29 13:17:54 +02:00
Dan Holmsand 37b2954c3a Allow symbols, keywords and arbitrary cljs objects in markup
React no longer defaults to applying toString, and instead throws
confusing error messages when it encounters non-element objects.

This should make that happen less often.
2016-04-29 09:26:06 +02:00
Dan Holmsand 0dd46894f7 Merge branch 'reset-inside-reaction' of https://github.com/runningskull/reagent 2015-10-30 10:06:07 +01:00
Juan Patten 891609cd1a Fix bug where auto-run reactions might not re-run 2015-10-29 00:19:51 -06:00
Dan Holmsand cdee524fed Make argv more consistent when used from plain React 2015-10-28 12:43:35 +01:00
Dan Holmsand 63515236cb Make sure empty [:input] doesn't throw exception 2015-10-22 13:31:58 +02:00
Dan Holmsand 45b93c8145 Rename .' and .! to $ and $! respectively
This seems to be necessary to avoid trouble with bootstrapped cljs.

The old macros are still around, but deprecated.
2015-10-22 13:23:49 +02:00
Dan Holmsand 776c47491c Make sure lifecycle callbacks work when called as native component 2015-10-12 17:18:37 +02:00
Dan Holmsand 253cb999ba Call component functions with this set to current component
This makes us more consistent with React classes, and gives more
informative stack traces sometimes.

Also stop wrapping unknown methods - let React deal with them directly.
2015-10-11 15:04:50 +02:00
Dan Holmsand cdea2257f2 Revert to not munging names in interop 2015-10-11 13:26:43 +02:00
Dan Holmsand 32a9609b11 Add a few more tests for track 2015-10-08 23:12:32 +02:00
Dan Holmsand 3aea9849ec One more step towards React 0.14 2015-10-08 16:19:40 +02:00
Dan Holmsand fa48e61f47 Start move to React 0.14 2015-10-08 14:14:34 +02:00
Dan Holmsand 2a74cbb144 More tests for warnings 2015-10-07 21:37:26 +02:00
Dan Holmsand 1d1552960c Start testing warnings from components 2015-10-07 20:38:19 +02:00
Dan Holmsand 7f189d7595 Fix lifecycle test 2015-10-07 19:58:00 +02:00
Dan Holmsand ec769d0c3c Print function names instead of source in warnings/errors 2015-10-07 19:50:29 +02:00
Dan Holmsand e79132c1f3 Always queue updates in reactions, even when flushing 2015-10-07 11:32:42 +02:00
Dan Holmsand e6b32c6aee Allow raw React classes to be used with [:> comp ...] 2015-10-06 14:27:44 +02:00
Dan Holmsand 533c05aaca Allow output from create-class to be used directly by React 2015-10-06 12:49:47 +02:00
Dan Holmsand de1e4d4ad5 Get rid of silent in ratom
And some small cleanup
2015-10-04 12:53:23 +02:00
Dan Holmsand d0f480f3f2 Remove hack to support sync reactions
It became too messy, risky and confusing to be worth it.
2015-09-30 09:40:57 +02:00
Dan Holmsand 3fca2e5d41 Make reactions async by queueing changes instead
Reactions now put themselves in a queue when they get a
callback from an atom. The queue is flushed before rendering, and
on deref on individual reactions.

This turns out to perform much better in many cases.
2015-09-30 08:56:06 +02:00
Dan Holmsand 6e3a2b415d Fix stupid with-let bug 2015-09-27 00:07:19 +02:00