diff --git a/.gitignore b/.gitignore index bbf7688..5a3e6af 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,9 @@ local.properties *.keystore !debug.keystore +# sonar scan +.scannerwork + # node.js # node_modules/ diff --git a/App.tsx b/App.tsx index 486e2a3..c9f3536 100644 --- a/App.tsx +++ b/App.tsx @@ -1,13 +1,21 @@ -import React from 'react'; +import React, { useState } from 'react'; import { SafeAreaView, ScrollView } from 'react-native'; -import { Container, ThemeProvider } from './src/packages/react-native-material-elements'; +import { Container, SegmentedControl, ThemeProvider } from './src/packages/react-native-material-elements'; function App(): React.JSX.Element { + const [index, setIndex] = useState(0); + return ( - + + setIndex(_index)} + /> + diff --git a/jest.config.js b/jest.config.js index 2f2e0f9..d8dd005 100644 --- a/jest.config.js +++ b/jest.config.js @@ -22,6 +22,8 @@ module.exports = { 'babel.config.js', ], + testPathIgnorePatterns: ['/node_modules', '/e2e'], + coverageReporters: ['html', 'text', 'lcov', 'text-summary'], moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node', 'mjs', 'svg', 'png'], @@ -32,7 +34,7 @@ module.exports = { coverageThreshold: { global: { statements: 80, - branches: 75, + branches: 79, functions: 80, lines: 80, }, diff --git a/package.json b/package.json index bf00d93..8c9c425 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "ios": "react-native run-ios", "lint": "eslint .", "start": "react-native start", - "test": "jest --coverage" + "test": "jest --coverage", + "sonar-scanner": "sonar-scanner" }, "dependencies": { "lodash": "^4.17.21", diff --git a/src/packages/react-native-material-elements/__test__/Button.test.tsx b/src/packages/react-native-material-elements/__test__/Button.test.tsx index cb2994e..dc34171 100644 --- a/src/packages/react-native-material-elements/__test__/Button.test.tsx +++ b/src/packages/react-native-material-elements/__test__/Button.test.tsx @@ -1,7 +1,7 @@ import { render as testRenderer, waitFor } from '@testing-library/react-native'; import React from 'react'; import { Text, View } from 'react-native'; -import { Button, green, lightBlue, primary, red, secondary, ThemeProvider, yellow } from '../src'; +import { Button, gray, green, lightBlue, primary, red, secondary, ThemeProvider, yellow } from '../src'; import { fireEvent, render } from './test-utils'; describe('Button', () => { @@ -427,4 +427,35 @@ describe('Button', () => { const labelText = getByText(mockLabel); expect(labelText.props.style).toEqual(expect.objectContaining({ color: 'red', fontWeight: 100 })); }); + + it('should show the dark gray color of the text label when button color is lightGray', () => { + const { getByText } = render(