From 8744a14910db1c8b7a5557e019f64d283b8a0bec Mon Sep 17 00:00:00 2001 From: Manuel Penaloza Date: Mon, 29 Jan 2018 08:57:00 +0100 Subject: [PATCH 1/3] refactor sandbox example buttons to especially improve mobile appearance --- sandbox/src/App.js | 5 +++++ sandbox/src/Button.example.js | 12 +++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/sandbox/src/App.js b/sandbox/src/App.js index 5702fbe1b..af9341e85 100644 --- a/sandbox/src/App.js +++ b/sandbox/src/App.js @@ -101,6 +101,11 @@ const LiveEditor = LiveBlock.withComponent(_LiveEditor).extend` const LivePreview = LiveBlock.withComponent(_LivePreview).extend` background-color: white; + display: flex; + flex-direction: row; + justify-content: center; + flex-wrap: wrap; + align-items: center; ` const LiveError = styled(_LiveError)` diff --git a/sandbox/src/Button.example.js b/sandbox/src/Button.example.js index bd45be022..3ff354d7e 100644 --- a/sandbox/src/Button.example.js +++ b/sandbox/src/Button.example.js @@ -4,7 +4,7 @@ const Button = styled.button` font-size: 16px; border-radius: 5px; padding: 0.25em 1em; - margin: 0 1em; + margin: 1em 1em; background: transparent; color: palevioletred; border: 2px solid palevioletred; @@ -17,11 +17,9 @@ const Button = styled.button` `}; ` -const content = ( -
- - -
-) +const content = [ + , + , +] render(content) From c2dabda6d24f834cd705f46b51d70e556e4920eb Mon Sep 17 00:00:00 2001 From: Evan Scott Date: Mon, 29 Jan 2018 11:58:48 -0500 Subject: [PATCH 2/3] disable speedy for non-production --- src/models/BrowserStyleSheet.js | 2 +- test-results.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/models/BrowserStyleSheet.js b/src/models/BrowserStyleSheet.js index c7da10126..3f10f5274 100644 --- a/src/models/BrowserStyleSheet.js +++ b/src/models/BrowserStyleSheet.js @@ -26,7 +26,7 @@ declare var __DEV__: ?string const DISABLE_SPEEDY = (typeof __DEV__ === 'boolean' && __DEV__) || - process.env.NODE_ENV === 'development' + process.env.NODE_ENV !== 'production' const COMPONENTS_PER_TAG = 40 const SPEEDY_COMPONENTS_PER_TAG = 1000 // insertRule allows more injections before a perf slowdown diff --git a/test-results.json b/test-results.json index 187ac37f0..e71651896 100644 --- a/test-results.json +++ b/test-results.json @@ -1 +1 @@ -{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":29,"numPassedTests":207,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTotalTestSuites":29,"numTotalTests":207,"snapshot":{"added":0,"didUpdate":true,"failure":false,"filesAdded":0,"filesRemoved":0,"filesUnmatched":0,"filesUpdated":1,"matched":21,"total":22,"unchecked":0,"unmatched":0,"updated":1},"startTime":1516914404345,"success":true,"testResults":[{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should correctly assemble preprocessed CSS"}],"endTime":1516914410640,"message":"","name":"/Users/phil/Development/styled-components/src/no-parser/test/keyframes.test.js","startTime":1516914408249,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should extract the CSS in a simple case"},{"failureMessages":[],"status":"passed","title":"should extract both global and local CSS"},{"failureMessages":[],"status":"passed","title":"should add a nonce to the stylesheet if webpack nonce is detected in the global scope"},{"failureMessages":[],"status":"passed","title":"should render CSS in the order the components were defined, not rendered"},{"failureMessages":[],"status":"passed","title":"should share global styles but keep renders separate"},{"failureMessages":[],"status":"passed","title":"should allow global styles to be injected during rendering"},{"failureMessages":[],"status":"passed","title":"should dispatch global styles to each ServerStyleSheet"},{"failureMessages":[],"status":"passed","title":"should return a generated React style element"},{"failureMessages":[],"status":"passed","title":"should return a generated React style element with nonce if webpack nonce is preset in the global scope"},{"failureMessages":[],"status":"passed","title":"should interleave styles with rendered HTML when utilitizing streaming"}],"endTime":1516914410730,"message":"","name":"/Users/phil/Development/styled-components/src/test/ssr.test.js","startTime":1516914408092,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should preserve the styles"},{"failureMessages":[],"status":"passed","title":"should append a new component like normal"},{"failureMessages":[],"status":"passed","title":"should reuse a componentId"},{"failureMessages":[],"status":"passed","title":"should reuse a componentId and generated class"},{"failureMessages":[],"status":"passed","title":"should reuse a componentId and inject new classes"},{"failureMessages":[],"status":"passed","title":"should preserve the styles"},{"failureMessages":[],"status":"passed","title":"should not inject new styles for a component already rendered"},{"failureMessages":[],"status":"passed","title":"should inject new styles for a new computed style of a component"},{"failureMessages":[],"status":"passed","title":"should leave the existing styles there"},{"failureMessages":[],"status":"passed","title":"should generate new classes, even if they have the same name"},{"failureMessages":[],"status":"passed","title":"should leave the existing styles there"},{"failureMessages":[],"status":"passed","title":"should inject new global styles at the end"},{"failureMessages":[],"status":"passed","title":"should interleave global and local styles"},{"failureMessages":[],"status":"passed","title":"should not touch existing styles"},{"failureMessages":[],"status":"passed","title":"should replace stylesheets on-demand"},{"failureMessages":[],"status":"passed","title":"should not change styles if rendered in the same order they were created with"},{"failureMessages":[],"status":"passed","title":"should still not change styles if rendered in a different order"},{"failureMessages":[],"status":"passed","title":"should not touch existing styles"},{"failureMessages":[],"status":"passed","title":"should not regenerate keyframes"},{"failureMessages":[],"status":"passed","title":"should still inject new keyframes"},{"failureMessages":[],"status":"passed","title":"should pass the keyframes name along as well"}],"endTime":1516914410947,"message":"","name":"/Users/phil/Development/styled-components/src/test/rehydration.test.js","startTime":1516914408215,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should warn once"},{"failureMessages":[],"status":"passed","title":"should warn if number of classes is 200"},{"failureMessages":[],"status":"passed","title":"should not warn if number of classes is below 200"}],"endTime":1516914411232,"message":"","name":"/Users/phil/Development/styled-components/src/test/warnTooManyClasses.test.js","startTime":1516914410853,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should not throw an error when called"},{"failureMessages":[],"status":"passed","title":"should throw a meaningful error when called with null"},{"failureMessages":[],"status":"passed","title":"should not inject anything by default"},{"failureMessages":[],"status":"passed","title":"should inject component class when rendered even if no styles are passed"},{"failureMessages":[],"status":"passed","title":"should inject styles"},{"failureMessages":[],"status":"passed","title":"should inject only once for a styled component, no matter how often it's mounted"},{"failureMessages":[],"status":"passed","title":"Should have the correct styled(component) displayName"},{"failureMessages":[],"status":"passed","title":"should pass the ref to the component"},{"failureMessages":[],"status":"passed","title":"should not leak the innerRef prop to the wrapped child"},{"failureMessages":[],"status":"passed","title":"should pass the full className to the wrapped child"},{"failureMessages":[],"status":"passed","title":"should pass the innerRef to the wrapped styled component"},{"failureMessages":[],"status":"passed","title":"should respect the order of StyledComponent creation for CSS ordering"}],"endTime":1516914411455,"message":"","name":"/Users/phil/Development/styled-components/src/test/basic.test.js","startTime":1516914411115,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"work fine with an empty object"},{"failureMessages":[],"status":"passed","title":"pass a simple attr"},{"failureMessages":[],"status":"passed","title":"call an attr function"},{"failureMessages":[],"status":"passed","title":"pass props to the attr function"},{"failureMessages":[],"status":"passed","title":"should replace attrs with props"},{"failureMessages":[],"status":"passed","title":"should merge className"},{"failureMessages":[],"status":"passed","title":"should merge className even if its a function"},{"failureMessages":[],"status":"passed","title":"should work with data and aria attributes"},{"failureMessages":[],"status":"passed","title":"merge attrs"},{"failureMessages":[],"status":"passed","title":"merge attrs when inheriting SC"},{"failureMessages":[],"status":"passed","title":"pass attrs to style block"},{"failureMessages":[],"status":"passed","title":"should pass through children as a normal prop"},{"failureMessages":[],"status":"passed","title":"should pass through complex children as well"},{"failureMessages":[],"status":"passed","title":"should override children of course"}],"endTime":1516914411891,"message":"","name":"/Users/phil/Development/styled-components/src/test/attrs.test.js","startTime":1516914411644,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should allow all the reactProps"},{"failureMessages":[],"status":"passed","title":"should allow all the html props"},{"failureMessages":[],"status":"passed","title":"should handle all the SVG props"},{"failureMessages":[],"status":"passed","title":"should handle aria and data attributes"},{"failureMessages":[],"status":"passed","title":"should handle uppercase aria and data attributes"},{"failureMessages":[],"status":"passed","title":"should allow all the event handlers"},{"failureMessages":[],"status":"passed","title":"should not allow custom props"}],"endTime":1516914412186,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/validAttr.test.js","startTime":1516914411378,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should generate empty classes with no styles"},{"failureMessages":[],"status":"passed","title":"should attach styles to both classes if only parent has styles"},{"failureMessages":[],"status":"passed","title":"should attach styles to child class if only child has styles"},{"failureMessages":[],"status":"passed","title":"should generate a class for the child with the rules of the parent"},{"failureMessages":[],"status":"passed","title":"should generate different classes for both parent and child"},{"failureMessages":[],"status":"passed","title":"should copy nested rules to the child"},{"failureMessages":[],"status":"passed","title":"should keep default props from parent"},{"failureMessages":[],"status":"passed","title":"should keep prop types from parent"},{"failureMessages":[],"status":"passed","title":"should keep custom static member from parent"},{"failureMessages":[],"status":"passed","title":"should keep static member in triple inheritance"},{"failureMessages":[],"status":"passed","title":"should keep styles in >= 3 inheritances"},{"failureMessages":[],"status":"passed","title":"should allow changing component"},{"failureMessages":[],"status":"passed","title":"should allow changing component and extending"},{"failureMessages":[],"status":"passed","title":"should allow changing component and adding attributes"}],"endTime":1516914412292,"message":"","name":"/Users/phil/Development/styled-components/src/test/extending.test.js","startTime":1516914412042,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should append a style"},{"failureMessages":[],"status":"passed","title":"should append multiple styles"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with media queries"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with pseudo selectors"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with pseudo selectors"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with nesting"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with contextual selectors"},{"failureMessages":[],"status":"passed","title":"should inject styles of multiple components"},{"failureMessages":[],"status":"passed","title":"should inject styles of multiple components based on creation, not rendering order"},{"failureMessages":[],"status":"passed","title":"should strip a JS-style (invalid) comment in the styles"},{"failureMessages":[],"status":"passed","title":"should add a webpack nonce to the style tags if one is available in the global scope"},{"failureMessages":[],"status":"passed","title":"should add a webpack nonce to the global style tags if one is available in the global scope"}],"endTime":1516914412567,"message":"","name":"/Users/phil/Development/styled-components/src/test/styles.test.js","startTime":1516914412330,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should inject props.theme into a styled component"},{"failureMessages":[],"status":"passed","title":"should inject props.theme into a styled component multiple levels deep"},{"failureMessages":[],"status":"passed","title":"should properly allow a component to fallback to its default props when a theme is not provided"},{"failureMessages":[],"status":"passed","title":"should use ThemeProvider theme instead of defaultProps theme"},{"failureMessages":[],"status":"passed","title":"should properly allow a component to override the theme with a prop even if it is equal to defaultProps theme"},{"failureMessages":[],"status":"passed","title":"should properly allow a component to override the theme with a prop"},{"failureMessages":[],"status":"passed","title":"should properly set the theme with an empty object when no theme is provided and no defaults are set"},{"failureMessages":[],"status":"passed","title":"should only inject props.theme into styled components within its child component tree"},{"failureMessages":[],"status":"passed","title":"should inject props.theme into all styled components within the child component tree"},{"failureMessages":[],"status":"passed","title":"should inject new CSS when the theme changes"},{"failureMessages":[],"status":"passed","title":"should properly render with the same theme from default props on re-render"},{"failureMessages":[],"status":"passed","title":"should properly update style if theme is changed"},{"failureMessages":[],"status":"passed","title":"should properly update style if props used in styles is changed"},{"failureMessages":[],"status":"passed","title":"should change the classnames when the theme changes"},{"failureMessages":[],"status":"passed","title":"should inject props.theme into a component that uses withTheme hoc"},{"failureMessages":[],"status":"passed","title":"should properly update theme prop on hoc component when theme is changed"},{"failureMessages":[],"status":"passed","title":"should use ThemeProvider theme instead of defaultProps theme after initial render"},{"failureMessages":[],"status":"passed","title":"should hoist static properties when using withTheme"},{"failureMessages":[],"status":"passed","title":"should only pass the theme prop"},{"failureMessages":[],"status":"passed","title":"should accept innerRef and pass it on as ref"},{"failureMessages":[],"status":"passed","title":"should accept innerRef and pass it on for stateless function components"},{"failureMessages":[],"status":"passed","title":"should accept innerRef and pass it on for styled components"},{"failureMessages":[],"status":"passed","title":"should not break without a ThemeProvier if it has a defaultTheme"}],"endTime":1516914412626,"message":"","name":"/Users/phil/Development/styled-components/src/test/theme.test.js","startTime":1516914411772,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should not throw an error when no children are passed"},{"failureMessages":[],"status":"passed","title":"should accept a theme prop that's a plain object"},{"failureMessages":[],"status":"passed","title":"should render its child"},{"failureMessages":[],"status":"passed","title":"should merge its theme with an outer theme"},{"failureMessages":[],"status":"passed","title":"should merge its theme with multiple outer themes"},{"failureMessages":[],"status":"passed","title":"should be able to render two independent themes"},{"failureMessages":[],"status":"passed","title":"ThemeProvider propagates theme updates through nested ThemeProviders"}],"endTime":1516914412707,"message":"","name":"/Users/phil/Development/styled-components/src/models/test/ThemeProvider.test.js","startTime":1516914412432,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should throw a meaningful error when called with null"},{"failureMessages":[],"status":"passed","title":"should correctly assemble preprocessed CSS"},{"failureMessages":[],"status":"passed","title":"should correctly execute passed functions and assemble preprocessed CSS"}],"endTime":1516914412972,"message":"","name":"/Users/phil/Development/styled-components/src/no-parser/test/basic.test.js","startTime":1516914412859,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should execute interpolations and fall back"},{"failureMessages":[],"status":"passed","title":"should execute interpolations and inject props"},{"failureMessages":[],"status":"passed","title":"should ignore non-0 falsy object interpolations"}],"endTime":1516914412990,"message":"","name":"/Users/phil/Development/styled-components/src/test/props.test.js","startTime":1516914412876,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should have all valid HTML5 elements defined as properties"}],"endTime":1516914413007,"message":"","name":"/Users/phil/Development/styled-components/src/constructors/test/styled.test.js","startTime":1516914412740,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should inject rules into the head"},{"failureMessages":[],"status":"passed","title":"should non-destructively inject styles when called repeatedly"},{"failureMessages":[],"status":"passed","title":"should non-destructively inject styles when called after a component"}],"endTime":1516914413236,"message":"","name":"/Users/phil/Development/styled-components/src/constructors/test/injectGlobal.test.js","startTime":1516914413128,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should add vendor prefixes in the right order"},{"failureMessages":[],"status":"passed","title":"should add vendor prefixes for display"},{"failureMessages":[],"status":"passed","title":"should pass through custom properties"}],"endTime":1516914413253,"message":"","name":"/Users/phil/Development/styled-components/src/test/css.test.js","startTime":1516914413155,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should be auto-generated if none passed"},{"failureMessages":[],"status":"passed","title":"should be attached if supplied"},{"failureMessages":[],"status":"passed","title":"should be generated as \"sc\" + hash"},{"failureMessages":[],"status":"passed","title":"should be generated from displayName + hash"},{"failureMessages":[],"status":"passed","title":"should be attached if passed in"},{"failureMessages":[],"status":"passed","title":"should be combined with displayName if both passed in"},{"failureMessages":[],"status":"passed","title":"should work with `.extend`"},{"failureMessages":[],"status":"passed","title":"should work with `.withComponent`"},{"failureMessages":[],"status":"passed","title":"should merge the options strings"},{"failureMessages":[],"status":"passed","title":"should keep the last value passed in when merging"}],"endTime":1516914413355,"message":"","name":"/Users/phil/Development/styled-components/src/test/expanded-api.test.js","startTime":1516914413135,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should mark styles without any functions as static"},{"failureMessages":[],"status":"passed","title":"should mark styles with a nested styled component as static"},{"failureMessages":[],"status":"passed","title":"should mark styles with a dynamic style as not static"},{"failureMessages":[],"status":"passed","title":"should mark components with numeric attriutes as static"},{"failureMessages":[],"status":"passed","title":"should mark components with dynamic attributes as not static"}],"endTime":1516914413512,"message":"","name":"/Users/phil/Development/styled-components/src/test/staticCaching.test.js","startTime":1516914413381,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"doesnt merge strings"},{"failureMessages":[],"status":"passed","title":"drops nulls"},{"failureMessages":[],"status":"passed","title":"doesnt drop any numbers"},{"failureMessages":[],"status":"passed","title":"toStrings everything"},{"failureMessages":[],"status":"passed","title":"hypenates objects"},{"failureMessages":[],"status":"passed","title":"flattens nested rulesets"},{"failureMessages":[],"status":"passed","title":"flattens double nested rulesets"},{"failureMessages":[],"status":"passed","title":"flattens subarrays"},{"failureMessages":[],"status":"passed","title":"defers functions"},{"failureMessages":[],"status":"passed","title":"merges strings"},{"failureMessages":[],"status":"passed","title":"drops nulls"},{"failureMessages":[],"status":"passed","title":"doesnt drop any numbers"},{"failureMessages":[],"status":"passed","title":"toStrings everything"},{"failureMessages":[],"status":"passed","title":"hypenates objects"},{"failureMessages":[],"status":"passed","title":"flattens nested rulesets"},{"failureMessages":[],"status":"passed","title":"flattens double nested rulesets"},{"failureMessages":[],"status":"passed","title":"flattens subarrays"},{"failureMessages":[],"status":"passed","title":"executes functions"},{"failureMessages":[],"status":"passed","title":"resolves rulesets after executing functions"},{"failureMessages":[],"status":"passed","title":"resolves double nested rulesets after executing functions"}],"endTime":1516914413526,"message":"","name":"/Users/phil/Development/styled-components/src/no-parser/test/flatten.test.js","startTime":1516914413382,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"doesnt merge strings"},{"failureMessages":[],"status":"passed","title":"drops nulls"},{"failureMessages":[],"status":"passed","title":"doesnt drop any numbers"},{"failureMessages":[],"status":"passed","title":"toStrings everything"},{"failureMessages":[],"status":"passed","title":"hypenates objects"},{"failureMessages":[],"status":"passed","title":"handles nested objects"},{"failureMessages":[],"status":"passed","title":"toStrings class instances"},{"failureMessages":[],"status":"passed","title":"flattens subarrays"},{"failureMessages":[],"status":"passed","title":"defers functions"},{"failureMessages":[],"status":"passed","title":"executes functions"},{"failureMessages":[],"status":"passed","title":"passes values to function"},{"failureMessages":[],"status":"passed","title":"recursively calls functions"}],"endTime":1516914413663,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/flatten.test.js","startTime":1516914413521,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should let you use another component in a css rule"}],"endTime":1516914413733,"message":"","name":"/Users/phil/Development/styled-components/src/test/overriding.test.js","startTime":1516914413647,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should return its name"},{"failureMessages":[],"status":"passed","title":"should insert the correct styles"}],"endTime":1516914413769,"message":"","name":"/Users/phil/Development/styled-components/src/constructors/test/keyframes.test.js","startTime":1516914413675,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"blindly interleave"},{"failureMessages":[],"status":"passed","title":"should be driven off the number of interpolations"}],"endTime":1516914413886,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/interleave.test.js","startTime":1516914413810,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"defaults to reusing the component displayName"},{"failureMessages":[],"status":"passed","title":"falls back to the class name"},{"failureMessages":[],"status":"passed","title":"ultimately falls back to \"Component\""}],"endTime":1516914413956,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/getComponentName.test.js","startTime":1516914413870,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should create alphabetic names for number input data"}],"endTime":1516914413983,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/generateAlphabeticName.test.js","startTime":1516914413916,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should take precedence over ThemeProvider"},{"failureMessages":[],"status":"passed","title":"should fallback to default theme"}],"endTime":1516914414103,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/determineTheme.test.js","startTime":1516914414035,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should work for null or empty"},{"failureMessages":[],"status":"passed","title":"should ignore anything before the first SC"},{"failureMessages":[],"status":"passed","title":"should return a single SC"},{"failureMessages":[],"status":"passed","title":"should return a single SC with multiple lines"},{"failureMessages":[],"status":"passed","title":"should return multiple SCs with single lines"},{"failureMessages":[],"status":"passed","title":"should return multiple SCs with multiple lines"},{"failureMessages":[],"status":"passed","title":"should include whitespace after a component"}],"endTime":1516914414222,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/extractCompsFromCSS.test.js","startTime":1516914414110,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should find all inline style blocks and move them into the document head"}],"endTime":1516914414227,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/consolidateStreamedStyles.test.js","startTime":1516914414134,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"replaces characters that could be part of CSS selectors"},{"failureMessages":[],"status":"passed","title":"replaces double hyphens with a single hyphen"},{"failureMessages":[],"status":"passed","title":"removes extraneous hyphens at the ends of the string"}],"endTime":1516914414294,"message":"","name":"/Users/phil/Development/styled-components/src/utils/test/escape.test.js","startTime":1516914414239,"status":"passed","summary":""}],"wasInterrupted":false} \ No newline at end of file +{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":29,"numPassedTests":207,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTotalTestSuites":29,"numTotalTests":207,"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesUnmatched":0,"filesUpdated":0,"matched":22,"total":22,"unchecked":0,"unmatched":0,"updated":0},"startTime":1517245144812,"success":true,"testResults":[{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should allow all the reactProps"},{"failureMessages":[],"status":"passed","title":"should allow all the html props"},{"failureMessages":[],"status":"passed","title":"should handle all the SVG props"},{"failureMessages":[],"status":"passed","title":"should handle aria and data attributes"},{"failureMessages":[],"status":"passed","title":"should handle uppercase aria and data attributes"},{"failureMessages":[],"status":"passed","title":"should allow all the event handlers"},{"failureMessages":[],"status":"passed","title":"should not allow custom props"}],"endTime":1517245148094,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/validAttr.test.js","startTime":1517245146917,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should generate empty classes with no styles"},{"failureMessages":[],"status":"passed","title":"should attach styles to both classes if only parent has styles"},{"failureMessages":[],"status":"passed","title":"should attach styles to child class if only child has styles"},{"failureMessages":[],"status":"passed","title":"should generate a class for the child with the rules of the parent"},{"failureMessages":[],"status":"passed","title":"should generate different classes for both parent and child"},{"failureMessages":[],"status":"passed","title":"should copy nested rules to the child"},{"failureMessages":[],"status":"passed","title":"should keep default props from parent"},{"failureMessages":[],"status":"passed","title":"should keep prop types from parent"},{"failureMessages":[],"status":"passed","title":"should keep custom static member from parent"},{"failureMessages":[],"status":"passed","title":"should keep static member in triple inheritance"},{"failureMessages":[],"status":"passed","title":"should keep styles in >= 3 inheritances"},{"failureMessages":[],"status":"passed","title":"should allow changing component"},{"failureMessages":[],"status":"passed","title":"should allow changing component and extending"},{"failureMessages":[],"status":"passed","title":"should allow changing component and adding attributes"}],"endTime":1517245148627,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/extending.test.js","startTime":1517245146928,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"work fine with an empty object"},{"failureMessages":[],"status":"passed","title":"pass a simple attr"},{"failureMessages":[],"status":"passed","title":"call an attr function"},{"failureMessages":[],"status":"passed","title":"pass props to the attr function"},{"failureMessages":[],"status":"passed","title":"should replace attrs with props"},{"failureMessages":[],"status":"passed","title":"should merge className"},{"failureMessages":[],"status":"passed","title":"should merge className even if its a function"},{"failureMessages":[],"status":"passed","title":"should work with data and aria attributes"},{"failureMessages":[],"status":"passed","title":"merge attrs"},{"failureMessages":[],"status":"passed","title":"merge attrs when inheriting SC"},{"failureMessages":[],"status":"passed","title":"pass attrs to style block"},{"failureMessages":[],"status":"passed","title":"should pass through children as a normal prop"},{"failureMessages":[],"status":"passed","title":"should pass through complex children as well"},{"failureMessages":[],"status":"passed","title":"should override children of course"}],"endTime":1517245148653,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/attrs.test.js","startTime":1517245148332,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should extract the CSS in a simple case"},{"failureMessages":[],"status":"passed","title":"should extract both global and local CSS"},{"failureMessages":[],"status":"passed","title":"should add a nonce to the stylesheet if webpack nonce is detected in the global scope"},{"failureMessages":[],"status":"passed","title":"should render CSS in the order the components were defined, not rendered"},{"failureMessages":[],"status":"passed","title":"should share global styles but keep renders separate"},{"failureMessages":[],"status":"passed","title":"should allow global styles to be injected during rendering"},{"failureMessages":[],"status":"passed","title":"should dispatch global styles to each ServerStyleSheet"},{"failureMessages":[],"status":"passed","title":"should return a generated React style element"},{"failureMessages":[],"status":"passed","title":"should return a generated React style element with nonce if webpack nonce is preset in the global scope"},{"failureMessages":[],"status":"passed","title":"should interleave styles with rendered HTML when utilitizing streaming"}],"endTime":1517245148653,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/ssr.test.js","startTime":1517245146500,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should not throw an error when called"},{"failureMessages":[],"status":"passed","title":"should throw a meaningful error when called with null"},{"failureMessages":[],"status":"passed","title":"should not inject anything by default"},{"failureMessages":[],"status":"passed","title":"should inject component class when rendered even if no styles are passed"},{"failureMessages":[],"status":"passed","title":"should inject styles"},{"failureMessages":[],"status":"passed","title":"should inject only once for a styled component, no matter how often it's mounted"},{"failureMessages":[],"status":"passed","title":"Should have the correct styled(component) displayName"},{"failureMessages":[],"status":"passed","title":"should pass the ref to the component"},{"failureMessages":[],"status":"passed","title":"should not leak the innerRef prop to the wrapped child"},{"failureMessages":[],"status":"passed","title":"should pass the full className to the wrapped child"},{"failureMessages":[],"status":"passed","title":"should pass the innerRef to the wrapped styled component"},{"failureMessages":[],"status":"passed","title":"should respect the order of StyledComponent creation for CSS ordering"}],"endTime":1517245148706,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/basic.test.js","startTime":1517245146561,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should append a style"},{"failureMessages":[],"status":"passed","title":"should append multiple styles"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with media queries"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with pseudo selectors"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with pseudo selectors"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with nesting"},{"failureMessages":[],"status":"passed","title":"should handle inline style objects with contextual selectors"},{"failureMessages":[],"status":"passed","title":"should inject styles of multiple components"},{"failureMessages":[],"status":"passed","title":"should inject styles of multiple components based on creation, not rendering order"},{"failureMessages":[],"status":"passed","title":"should strip a JS-style (invalid) comment in the styles"},{"failureMessages":[],"status":"passed","title":"should add a webpack nonce to the style tags if one is available in the global scope"},{"failureMessages":[],"status":"passed","title":"should add a webpack nonce to the global style tags if one is available in the global scope"}],"endTime":1517245148709,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/styles.test.js","startTime":1517245146562,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should preserve the styles"},{"failureMessages":[],"status":"passed","title":"should append a new component like normal"},{"failureMessages":[],"status":"passed","title":"should reuse a componentId"},{"failureMessages":[],"status":"passed","title":"should reuse a componentId and generated class"},{"failureMessages":[],"status":"passed","title":"should reuse a componentId and inject new classes"},{"failureMessages":[],"status":"passed","title":"should preserve the styles"},{"failureMessages":[],"status":"passed","title":"should not inject new styles for a component already rendered"},{"failureMessages":[],"status":"passed","title":"should inject new styles for a new computed style of a component"},{"failureMessages":[],"status":"passed","title":"should leave the existing styles there"},{"failureMessages":[],"status":"passed","title":"should generate new classes, even if they have the same name"},{"failureMessages":[],"status":"passed","title":"should leave the existing styles there"},{"failureMessages":[],"status":"passed","title":"should inject new global styles at the end"},{"failureMessages":[],"status":"passed","title":"should interleave global and local styles"},{"failureMessages":[],"status":"passed","title":"should not touch existing styles"},{"failureMessages":[],"status":"passed","title":"should replace stylesheets on-demand"},{"failureMessages":[],"status":"passed","title":"should not change styles if rendered in the same order they were created with"},{"failureMessages":[],"status":"passed","title":"should still not change styles if rendered in a different order"},{"failureMessages":[],"status":"passed","title":"should not touch existing styles"},{"failureMessages":[],"status":"passed","title":"should not regenerate keyframes"},{"failureMessages":[],"status":"passed","title":"should still inject new keyframes"},{"failureMessages":[],"status":"passed","title":"should pass the keyframes name along as well"}],"endTime":1517245148744,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/rehydration.test.js","startTime":1517245146524,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should inject props.theme into a styled component"},{"failureMessages":[],"status":"passed","title":"should inject props.theme into a styled component multiple levels deep"},{"failureMessages":[],"status":"passed","title":"should properly allow a component to fallback to its default props when a theme is not provided"},{"failureMessages":[],"status":"passed","title":"should use ThemeProvider theme instead of defaultProps theme"},{"failureMessages":[],"status":"passed","title":"should properly allow a component to override the theme with a prop even if it is equal to defaultProps theme"},{"failureMessages":[],"status":"passed","title":"should properly allow a component to override the theme with a prop"},{"failureMessages":[],"status":"passed","title":"should properly set the theme with an empty object when no theme is provided and no defaults are set"},{"failureMessages":[],"status":"passed","title":"should only inject props.theme into styled components within its child component tree"},{"failureMessages":[],"status":"passed","title":"should inject props.theme into all styled components within the child component tree"},{"failureMessages":[],"status":"passed","title":"should inject new CSS when the theme changes"},{"failureMessages":[],"status":"passed","title":"should properly render with the same theme from default props on re-render"},{"failureMessages":[],"status":"passed","title":"should properly update style if theme is changed"},{"failureMessages":[],"status":"passed","title":"should properly update style if props used in styles is changed"},{"failureMessages":[],"status":"passed","title":"should change the classnames when the theme changes"},{"failureMessages":[],"status":"passed","title":"should inject props.theme into a component that uses withTheme hoc"},{"failureMessages":[],"status":"passed","title":"should properly update theme prop on hoc component when theme is changed"},{"failureMessages":[],"status":"passed","title":"should use ThemeProvider theme instead of defaultProps theme after initial render"},{"failureMessages":[],"status":"passed","title":"should hoist static properties when using withTheme"},{"failureMessages":[],"status":"passed","title":"should only pass the theme prop"},{"failureMessages":[],"status":"passed","title":"should accept innerRef and pass it on as ref"},{"failureMessages":[],"status":"passed","title":"should accept innerRef and pass it on for stateless function components"},{"failureMessages":[],"status":"passed","title":"should accept innerRef and pass it on for styled components"},{"failureMessages":[],"status":"passed","title":"should not break without a ThemeProvier if it has a defaultTheme"}],"endTime":1517245148832,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/theme.test.js","startTime":1517245146907,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should work for null or empty"},{"failureMessages":[],"status":"passed","title":"should ignore anything before the first SC"},{"failureMessages":[],"status":"passed","title":"should return a single SC"},{"failureMessages":[],"status":"passed","title":"should return a single SC with multiple lines"},{"failureMessages":[],"status":"passed","title":"should return multiple SCs with single lines"},{"failureMessages":[],"status":"passed","title":"should return multiple SCs with multiple lines"},{"failureMessages":[],"status":"passed","title":"should include whitespace after a component"}],"endTime":1517245148933,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/extractCompsFromCSS.test.js","startTime":1517245148847,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"doesnt merge strings"},{"failureMessages":[],"status":"passed","title":"drops nulls"},{"failureMessages":[],"status":"passed","title":"doesnt drop any numbers"},{"failureMessages":[],"status":"passed","title":"toStrings everything"},{"failureMessages":[],"status":"passed","title":"hypenates objects"},{"failureMessages":[],"status":"passed","title":"handles nested objects"},{"failureMessages":[],"status":"passed","title":"toStrings class instances"},{"failureMessages":[],"status":"passed","title":"flattens subarrays"},{"failureMessages":[],"status":"passed","title":"defers functions"},{"failureMessages":[],"status":"passed","title":"executes functions"},{"failureMessages":[],"status":"passed","title":"passes values to function"},{"failureMessages":[],"status":"passed","title":"recursively calls functions"}],"endTime":1517245148961,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/flatten.test.js","startTime":1517245148853,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should not throw an error when no children are passed"},{"failureMessages":[],"status":"passed","title":"should accept a theme prop that's a plain object"},{"failureMessages":[],"status":"passed","title":"should render its child"},{"failureMessages":[],"status":"passed","title":"should merge its theme with an outer theme"},{"failureMessages":[],"status":"passed","title":"should merge its theme with multiple outer themes"},{"failureMessages":[],"status":"passed","title":"should be able to render two independent themes"},{"failureMessages":[],"status":"passed","title":"ThemeProvider propagates theme updates through nested ThemeProviders"}],"endTime":1517245148992,"message":"","name":"/Users/evan.scott/code/styled-components/src/models/test/ThemeProvider.test.js","startTime":1517245148784,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should be auto-generated if none passed"},{"failureMessages":[],"status":"passed","title":"should be attached if supplied"},{"failureMessages":[],"status":"passed","title":"should be generated as \"sc\" + hash"},{"failureMessages":[],"status":"passed","title":"should be generated from displayName + hash"},{"failureMessages":[],"status":"passed","title":"should be attached if passed in"},{"failureMessages":[],"status":"passed","title":"should be combined with displayName if both passed in"},{"failureMessages":[],"status":"passed","title":"should work with `.extend`"},{"failureMessages":[],"status":"passed","title":"should work with `.withComponent`"},{"failureMessages":[],"status":"passed","title":"should merge the options strings"},{"failureMessages":[],"status":"passed","title":"should keep the last value passed in when merging"}],"endTime":1517245148995,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/expanded-api.test.js","startTime":1517245148801,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should mark styles without any functions as static"},{"failureMessages":[],"status":"passed","title":"should mark styles with a nested styled component as static"},{"failureMessages":[],"status":"passed","title":"should mark styles with a dynamic style as not static"},{"failureMessages":[],"status":"passed","title":"should mark components with numeric attriutes as static"},{"failureMessages":[],"status":"passed","title":"should mark components with dynamic attributes as not static"}],"endTime":1517245149006,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/staticCaching.test.js","startTime":1517245148907,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should inject rules into the head"},{"failureMessages":[],"status":"passed","title":"should non-destructively inject styles when called repeatedly"},{"failureMessages":[],"status":"passed","title":"should non-destructively inject styles when called after a component"}],"endTime":1517245149076,"message":"","name":"/Users/evan.scott/code/styled-components/src/constructors/test/injectGlobal.test.js","startTime":1517245148991,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should correctly assemble preprocessed CSS"}],"endTime":1517245149209,"message":"","name":"/Users/evan.scott/code/styled-components/src/no-parser/test/keyframes.test.js","startTime":1517245149137,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should add vendor prefixes in the right order"},{"failureMessages":[],"status":"passed","title":"should add vendor prefixes for display"},{"failureMessages":[],"status":"passed","title":"should pass through custom properties"}],"endTime":1517245149222,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/css.test.js","startTime":1517245149127,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should return its name"},{"failureMessages":[],"status":"passed","title":"should insert the correct styles"}],"endTime":1517245149238,"message":"","name":"/Users/evan.scott/code/styled-components/src/constructors/test/keyframes.test.js","startTime":1517245149161,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should throw a meaningful error when called with null"},{"failureMessages":[],"status":"passed","title":"should correctly assemble preprocessed CSS"},{"failureMessages":[],"status":"passed","title":"should correctly execute passed functions and assemble preprocessed CSS"}],"endTime":1517245149253,"message":"","name":"/Users/evan.scott/code/styled-components/src/no-parser/test/basic.test.js","startTime":1517245149173,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should execute interpolations and fall back"},{"failureMessages":[],"status":"passed","title":"should execute interpolations and inject props"},{"failureMessages":[],"status":"passed","title":"should ignore non-0 falsy object interpolations"}],"endTime":1517245149316,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/props.test.js","startTime":1517245149207,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should warn once"},{"failureMessages":[],"status":"passed","title":"should warn if number of classes is 200"},{"failureMessages":[],"status":"passed","title":"should not warn if number of classes is below 200"}],"endTime":1517245149359,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/warnTooManyClasses.test.js","startTime":1517245149051,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should let you use another component in a css rule"}],"endTime":1517245149438,"message":"","name":"/Users/evan.scott/code/styled-components/src/test/overriding.test.js","startTime":1517245149363,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should find all inline style blocks and move them into the document head"}],"endTime":1517245149449,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/consolidateStreamedStyles.test.js","startTime":1517245149357,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"blindly interleave"},{"failureMessages":[],"status":"passed","title":"should be driven off the number of interpolations"}],"endTime":1517245149455,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/interleave.test.js","startTime":1517245149381,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"defaults to reusing the component displayName"},{"failureMessages":[],"status":"passed","title":"falls back to the class name"},{"failureMessages":[],"status":"passed","title":"ultimately falls back to \"Component\""}],"endTime":1517245149465,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/getComponentName.test.js","startTime":1517245149401,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should take precedence over ThemeProvider"},{"failureMessages":[],"status":"passed","title":"should fallback to default theme"}],"endTime":1517245149510,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/determineTheme.test.js","startTime":1517245149461,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"replaces characters that could be part of CSS selectors"},{"failureMessages":[],"status":"passed","title":"replaces double hyphens with a single hyphen"},{"failureMessages":[],"status":"passed","title":"removes extraneous hyphens at the ends of the string"}],"endTime":1517245149534,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/escape.test.js","startTime":1517245149496,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"doesnt merge strings"},{"failureMessages":[],"status":"passed","title":"drops nulls"},{"failureMessages":[],"status":"passed","title":"doesnt drop any numbers"},{"failureMessages":[],"status":"passed","title":"toStrings everything"},{"failureMessages":[],"status":"passed","title":"hypenates objects"},{"failureMessages":[],"status":"passed","title":"flattens nested rulesets"},{"failureMessages":[],"status":"passed","title":"flattens double nested rulesets"},{"failureMessages":[],"status":"passed","title":"flattens subarrays"},{"failureMessages":[],"status":"passed","title":"defers functions"},{"failureMessages":[],"status":"passed","title":"merges strings"},{"failureMessages":[],"status":"passed","title":"drops nulls"},{"failureMessages":[],"status":"passed","title":"doesnt drop any numbers"},{"failureMessages":[],"status":"passed","title":"toStrings everything"},{"failureMessages":[],"status":"passed","title":"hypenates objects"},{"failureMessages":[],"status":"passed","title":"flattens nested rulesets"},{"failureMessages":[],"status":"passed","title":"flattens double nested rulesets"},{"failureMessages":[],"status":"passed","title":"flattens subarrays"},{"failureMessages":[],"status":"passed","title":"executes functions"},{"failureMessages":[],"status":"passed","title":"resolves rulesets after executing functions"},{"failureMessages":[],"status":"passed","title":"resolves double nested rulesets after executing functions"}],"endTime":1517245149573,"message":"","name":"/Users/evan.scott/code/styled-components/src/no-parser/test/flatten.test.js","startTime":1517245149484,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should create alphabetic names for number input data"}],"endTime":1517245149604,"message":"","name":"/Users/evan.scott/code/styled-components/src/utils/test/generateAlphabeticName.test.js","startTime":1517245149555,"status":"passed","summary":""},{"assertionResults":[{"failureMessages":[],"status":"passed","title":"should have all valid HTML5 elements defined as properties"}],"endTime":1517245149654,"message":"","name":"/Users/evan.scott/code/styled-components/src/constructors/test/styled.test.js","startTime":1517245149559,"status":"passed","summary":""}],"wasInterrupted":false} \ No newline at end of file From d980a704869ea72a78f57bffaa07cf7fd622796d Mon Sep 17 00:00:00 2001 From: Evan Scott Date: Mon, 29 Jan 2018 12:01:11 -0500 Subject: [PATCH 3/3] changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 965b3dee5..0a08db152 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to this project will be documented in this file. If a contri ## Unreleased - +- Disable "speedy" mode for non-production cases (see [#1460](https://github.com/styled-components/styled-components/pull/1460)) ## [v3.1.0] - 2018-01-29