mirror of
https://github.com/status-im/react-native.git
synced 2025-01-20 06:18:57 +00:00
76 lines
1.7 KiB
JavaScript
76 lines
1.7 KiB
JavaScript
/*
|
|
* Copyright (c) 2015, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
jest.autoMockOff();
|
|
|
|
var source = [
|
|
'var React = require("React");',
|
|
'var PropTypes = React.PropTypes;',
|
|
'/**',
|
|
' * Example component description',
|
|
' */',
|
|
'var Component = React.createClass({',
|
|
' propTypes: {',
|
|
' /**',
|
|
' * Example prop description',
|
|
' */',
|
|
' foo: PropTypes.bool',
|
|
' },',
|
|
' getDefaultProps: function() {',
|
|
' return {',
|
|
' foo: true',
|
|
' };',
|
|
' }',
|
|
'});',
|
|
'module.exports = Component;'
|
|
].join('\n');
|
|
|
|
describe('main', function() {
|
|
var utils;
|
|
var docgen;
|
|
|
|
beforeEach(function() {
|
|
utils = require('../../tests/utils');
|
|
docgen = require('../main');
|
|
});
|
|
|
|
it('parses with default resolver/handlers', function() {
|
|
var docs = docgen.parse(source);
|
|
expect(docs).toEqual({
|
|
description: 'Example component description',
|
|
props: {
|
|
foo: {
|
|
type: {
|
|
name: 'bool'
|
|
},
|
|
defaultValue: {
|
|
computed: false,
|
|
value: 'true'
|
|
},
|
|
description: 'Example prop description',
|
|
required: false
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
it('parses with custom handlers', function() {
|
|
var docs = docgen.parse(source, null, [
|
|
docgen.handlers.componentDocblockHandler,
|
|
]);
|
|
expect(docs).toEqual({
|
|
description: 'Example component description',
|
|
props: {}
|
|
});
|
|
});
|
|
});
|