Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support React v16.0 #1

Merged
merged 1 commit into from
Feb 21, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion examples/browser/app.jsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
var React = require('react');
var ReactDOM = require('react-dom');
var createReactClass = require('create-react-class');
var Experiment = require("../../lib/Experiment");
var Variant = require("../../lib/Variant");
var experimentDebugger = require("../../lib/debugger");

experimentDebugger.enable();

var App = React.createClass({
var App = createReactClass({
render() {
return <div>
<h1>Experiment 1</h1>
Expand Down
3 changes: 2 additions & 1 deletion examples/isomorphic/Component.jsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
var React = require("react");
var createReactClass = require('create-react-class');
var Experiment = require("../../lib/Experiment");
var Variant = require("../../lib/Variant");

module.exports = React.createClass({
module.exports = createReactClass({
propTypes: {
userIdentifier: React.PropTypes.string.isRequired
},
Expand Down
3 changes: 2 additions & 1 deletion src/debugger.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from 'react';
import ReactDOM from 'react-dom';
import createReactClass from 'create-react-class';
import emitter from "./emitter";
import {canUseDOM} from 'fbjs/lib/ExecutionEnvironment';

Expand Down Expand Up @@ -78,7 +79,7 @@ if(process.env.NODE_ENV === "production" || !canUseDOM) {
style = null;
}
}
const Debugger = React.createClass({
const Debugger = createReactClass({
displayName: "Pushtell.Debugger",
getInitialState(){
return {
Expand Down
11 changes: 6 additions & 5 deletions test/browser/core.test.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from "react";
import ReactDOM from "react-dom";
import createReactClass from 'create-react-class';
import Experiment from "../../src/CoreExperiment.jsx";
import Variant from "../../src/Variant.jsx";
import emitter from "../../src/emitter.jsx";
Expand All @@ -22,7 +23,7 @@ describe("Core Experiment", function() {
});
it("should render the correct variant.", co.wrap(function *(){
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
Expand All @@ -41,7 +42,7 @@ describe("Core Experiment", function() {
}));
it("should error if invalid children exist.", co.wrap(function *(){
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
Expand Down Expand Up @@ -71,7 +72,7 @@ describe("Core Experiment", function() {
let getValueB = function() {
return "B";
}
let App = React.createClass({
let App = createReactClass({
getInitialState: function(){
return {
value: getValueA
Expand Down Expand Up @@ -105,7 +106,7 @@ describe("Core Experiment", function() {
}));
it("should update the children when props change.", co.wrap(function *(){
let experimentName = UUID.v4();
let SubComponent = React.createClass({
let SubComponent = createReactClass({
render(){
return (
<div id="variant-a">
Expand All @@ -114,7 +115,7 @@ describe("Core Experiment", function() {
)
}
});
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><SubComponent text={this.props.text}/></Variant>
Expand Down
5 changes: 3 additions & 2 deletions test/browser/debugger.test.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from "react";
import ReactDOM from "react-dom";
import createReactClass from 'create-react-class';
import Experiment from "../../src/CoreExperiment.jsx";
import Variant from "../../src/Variant.jsx";
import experimentDebugger from "../../src/debugger.jsx";
Expand Down Expand Up @@ -45,7 +46,7 @@ describe("Debugger", function() {
});
it("should enable and disable.", co.wrap(function *(){
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
Expand All @@ -72,7 +73,7 @@ describe("Debugger", function() {
});
it("should change an experiment's value.", co.wrap(function *(){
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
Expand Down
19 changes: 10 additions & 9 deletions test/browser/emitter.test.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from "react";
import ReactDOM from "react-dom";
import createReactClass from 'create-react-class';
import Experiment from "../../src/CoreExperiment.jsx";
import Variant from "../../src/Variant.jsx";
import emitter from "../../src/emitter.jsx";
Expand Down Expand Up @@ -38,7 +39,7 @@ describe("Emitter", function() {
};
let playSubscription = emitter.addPlayListener(experimentName, playCallback);
let playSubscriptionGlobal = emitter.addPlayListener(playCallbackGlobal);
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a"/></Variant>
Expand Down Expand Up @@ -70,7 +71,7 @@ describe("Emitter", function() {
};
let winSubscription = emitter.addWinListener(experimentName, winCallback);
let winSubscriptionGlobal = emitter.addWinListener(winCallbackGlobal);
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a"/></Variant>
Expand Down Expand Up @@ -103,7 +104,7 @@ describe("Emitter", function() {
};
let winSubscription = emitter.addWinListener(experimentName, winCallback);
let winSubscriptionGlobal = emitter.addWinListener(winCallbackGlobal);
let App = React.createClass({
let App = createReactClass({
onClickVariant: function(e){
this.refs.experiment.win();
},
Expand Down Expand Up @@ -140,7 +141,7 @@ describe("Emitter", function() {
};
let activeVariantSubscription = emitter.addActiveVariantListener(experimentName, activeVariantCallback);
let activeVariantSubscriptionGlobal = emitter.addActiveVariantListener(activeVariantCallbackGlobal);
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment ref="experiment" name={experimentName} value="A">
<Variant name="A"><a id="variant-a" href="#A">A</a></Variant>
Expand All @@ -160,7 +161,7 @@ describe("Emitter", function() {
}));
it("should get the experiment value.", co.wrap(function *(){
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment ref="experiment" name={experimentName} value="A">
<Variant name="A"><a id="variant-a" href="#A">A</a></Variant>
Expand All @@ -176,7 +177,7 @@ describe("Emitter", function() {
}));
it("should update the rendered component.", co.wrap(function *(){
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
Expand All @@ -201,23 +202,23 @@ describe("Emitter", function() {
it("should report active components.", co.wrap(function *(){
let experimentNameA = UUID.v4();
let experimentNameB = UUID.v4();
let AppA = React.createClass({
let AppA = createReactClass({
render: function(){
return <Experiment name={experimentNameA} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
<Variant name="B"><div id="variant-b" /></Variant>
</Experiment>;
}
});
let AppB = React.createClass({
let AppB = createReactClass({
render: function(){
return <Experiment name={experimentNameB} value="C">
<Variant name="C"><div id="variant-c" /></Variant>
<Variant name="D"><div id="variant-d" /></Variant>
</Experiment>;
}
});
let AppCombined = React.createClass({
let AppCombined = createReactClass({
render: function(){
return <div>
<AppA />
Expand Down
25 changes: 13 additions & 12 deletions test/browser/experiment.test.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from "react";
import ReactDOM from "react-dom";
import createReactClass from 'create-react-class';
import Experiment from "../../src/Experiment.jsx";
import Variant from "../../src/Variant.jsx";
import emitter from "../../src/emitter.jsx";
Expand Down Expand Up @@ -52,7 +53,7 @@ describe("Experiment", function() {
for(let i = 0; i < 100; i++) {
variantNames.push(UUID.v4());
}
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName}>
{variantNames.map(name => {
Expand All @@ -73,7 +74,7 @@ describe("Experiment", function() {
variantNames.push(UUID.v4());
}
let defaultVariantName = variantNames[Math.floor(Math.random() * variantNames.length)];
let AppWithdefaultVariantName = React.createClass({
let AppWithdefaultVariantName = createReactClass({
render: function(){
return <Experiment name={experimentName} defaultVariantName={defaultVariantName}>
{variantNames.map(name => {
Expand All @@ -82,7 +83,7 @@ describe("Experiment", function() {
</Experiment>;
}
});
let AppWithoutdefaultVariantName = React.createClass({
let AppWithoutdefaultVariantName = createReactClass({
render: function(){
return <Experiment name={experimentName}>
{variantNames.map(name => {
Expand All @@ -106,7 +107,7 @@ describe("Experiment", function() {
}));
it("should error if variants are added to a experiment after a variant was selected.", co.wrap(function *(){
let experimentName = UUID.v4();
let AppPart1 = React.createClass({
let AppPart1 = createReactClass({
onClickVariant: function(e){
this.refs.experiment.win();
},
Expand All @@ -117,7 +118,7 @@ describe("Experiment", function() {
</Experiment>;
}
});
let AppPart2 = React.createClass({
let AppPart2 = createReactClass({
onClickVariant: function(e){
this.refs.experiment.win();
},
Expand Down Expand Up @@ -148,7 +149,7 @@ describe("Experiment", function() {
it("should not error if variants are added to a experiment after a variant was selected if variants were defined.", co.wrap(function *(){
let experimentName = UUID.v4();
emitter.defineVariants(experimentName, ["A", "B", "C", "D"]);
let AppPart1 = React.createClass({
let AppPart1 = createReactClass({
onClickVariant: function(e){
this.refs.experiment.win();
},
Expand All @@ -159,7 +160,7 @@ describe("Experiment", function() {
</Experiment>;
}
});
let AppPart2 = React.createClass({
let AppPart2 = createReactClass({
onClickVariant: function(e){
this.refs.experiment.win();
},
Expand All @@ -182,7 +183,7 @@ describe("Experiment", function() {
it("should error if a variant is added to an experiment after variants were defined.", co.wrap(function *(){
let experimentName = UUID.v4();
emitter.defineVariants(experimentName, ["A", "B", "C"]);
let AppPart1 = React.createClass({
let AppPart1 = createReactClass({
onClickVariant: function(e){
this.refs.experiment.win();
},
Expand All @@ -193,7 +194,7 @@ describe("Experiment", function() {
</Experiment>;
}
});
let AppPart2 = React.createClass({
let AppPart2 = createReactClass({
onClickVariant: function(e){
this.refs.experiment.win();
},
Expand Down Expand Up @@ -224,7 +225,7 @@ describe("Experiment", function() {
it("should not error if an older test variant is set.", co.wrap(function *(){
let experimentName = UUID.v4();
localStorage.setItem("PUSHTELL-" + experimentName, "C");
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName}>
<Variant name="A"><a id="variant-a" href="#A" onClick={this.onClickVariant}>A</a></Variant>
Expand All @@ -251,7 +252,7 @@ describe("Experiment", function() {
};
let winSubscription = emitter.addWinListener(experimentName, winCallback);
let winSubscriptionGlobal = emitter.addWinListener(winCallbackGlobal);
let App = React.createClass({
let App = createReactClass({
onClickVariant: function(e){
this.refs.experiment.win();
},
Expand Down Expand Up @@ -281,7 +282,7 @@ describe("Experiment", function() {
for(let i = 0; i < 100; i++) {
variantNames.push(UUID.v4());
}
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} userIdentifier={userIdentifier}>
{variantNames.map(name => {
Expand Down
3 changes: 2 additions & 1 deletion test/browser/helpers.mixpanel.test.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from "react";
import ReactDOM from "react-dom";
import createReactClass from 'create-react-class';
import Experiment from "../../src/CoreExperiment.jsx";
import Variant from "../../src/Variant.jsx";
import emitter from "../../src/emitter.jsx";
Expand Down Expand Up @@ -72,7 +73,7 @@ describe("Mixpanel Helper", function() {
}
mixpanelHelper.enable();
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
Expand Down
3 changes: 2 additions & 1 deletion test/browser/helpers.segment.test.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from "react";
import ReactDOM from "react-dom";
import createReactClass from 'create-react-class';
import Experiment from "../../src/CoreExperiment.jsx";
import Variant from "../../src/Variant.jsx";
import emitter from "../../src/emitter.jsx";
Expand Down Expand Up @@ -73,7 +74,7 @@ describe("Segment Helper", function() {
}
segmentHelper.enable();
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
Expand Down
7 changes: 4 additions & 3 deletions test/browser/variant.test.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from "react";
import ReactDOM from "react-dom";
import createReactClass from 'create-react-class';
import Experiment from "../../src/CoreExperiment.jsx";
import Variant from "../../src/Variant.jsx";
import emitter from "../../src/emitter.jsx";
Expand All @@ -24,7 +25,7 @@ describe("Variant", function() {
let experimentName = UUID.v4();
let variantTextA = UUID.v4();
let variantTextB = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A">{variantTextA}</Variant>
Expand All @@ -39,7 +40,7 @@ describe("Variant", function() {
}));
it("should render components.", co.wrap(function *(){
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A"><div id="variant-a" /></Variant>
Expand All @@ -58,7 +59,7 @@ describe("Variant", function() {
}));
it("should render arrays of components.", co.wrap(function *(){
let experimentName = UUID.v4();
let App = React.createClass({
let App = createReactClass({
render: function(){
return <Experiment name={experimentName} value="A">
<Variant name="A">
Expand Down
Loading