{"version":3,"sources":["tests/jshint/cards/image.lint.js","tests/jshint/index.lint.js","tests/jshint/renderer-factory.lint.js","tests/jshint/renderers/0-2.lint.js","tests/jshint/renderers/0-3.lint.js","tests/jshint/unit/renderers/0-2-test.lint.js","tests/jshint/unit/renderers/0-3-test.lint.js","tests/jshint/utils/marker-types.lint.js","tests/jshint/utils/render-type.lint.js","tests/jshint/utils/section-types.lint.js","tests/unit/renderers/0-2-test.js","tests/unit/renderers/0-3-test.js"],"sourcesContent":["QUnit.module('JSHint - tests/jshint/cards');\nQUnit.test('tests/jshint/cards/image.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/cards/image.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint');\nQUnit.test('tests/jshint/index.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/index.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint');\nQUnit.test('tests/jshint/renderer-factory.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/renderer-factory.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint/renderers');\nQUnit.test('tests/jshint/renderers/0-2.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/renderers/0-2.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint/renderers');\nQUnit.test('tests/jshint/renderers/0-3.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/renderers/0-3.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint/unit/renderers');\nQUnit.test('tests/jshint/unit/renderers/0-2-test.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/unit/renderers/0-2-test.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint/unit/renderers');\nQUnit.test('tests/jshint/unit/renderers/0-3-test.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/unit/renderers/0-3-test.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint/utils');\nQUnit.test('tests/jshint/utils/marker-types.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/utils/marker-types.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint/utils');\nQUnit.test('tests/jshint/utils/render-type.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/utils/render-type.js should pass jshint.'); \n});\n","QUnit.module('JSHint - tests/jshint/utils');\nQUnit.test('tests/jshint/utils/section-types.js should pass jshint', function(assert) { \n assert.expect(1);\n assert.ok(true, 'tests/jshint/utils/section-types.js should pass jshint.'); \n});\n","define('tests/unit/renderers/0-2-test', ['exports', 'mobiledoc-text-renderer', 'mobiledoc-text-renderer/utils/section-types'], function (exports, _mobiledocTextRenderer, _mobiledocTextRendererUtilsSectionTypes) {\n /* global QUnit */\n\n 'use strict';\n\n var _QUnit = QUnit;\n var test = _QUnit.test;\n var _module = _QUnit.module;\n\n var MOBILEDOC_VERSION = '0.2.0';\n\n var renderer = undefined;\n _module('Unit: Mobiledoc Text Renderer - 0.2', {\n beforeEach: function beforeEach() {\n renderer = new _mobiledocTextRenderer['default']();\n }\n });\n\n test('renders an empty mobiledoc', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [] // sections\n ]\n };\n\n var _renderer$render = renderer.render(mobiledoc);\n\n var rendered = _renderer$render.result;\n\n assert.equal(rendered, '', 'output is empty');\n });\n\n test('renders a mobiledoc without markers', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [// sections\n [_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[[], 0, 'hello world']]]]]\n };\n\n var _renderer$render2 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render2.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('renders a mobiledoc with simple (no attributes) marker', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[// markers\n ['B']], [// sections\n [_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[[0], 1, 'hello world']]]]]\n };\n\n var _renderer$render3 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render3.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('renders a mobiledoc with complex (has attributes) marker', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[// markers\n ['A', ['href', 'http://google.com']]], [// sections\n [_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[[0], 1, 'hello world']]]]]\n };\n\n var _renderer$render4 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render4.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('renders a mobiledoc with multiple markups in a section', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[// markers\n ['B'], ['I']], [// sections\n [_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[[0], 0, 'hello '], // b\n [[1], 0, 'brave '], // b+i\n [[], 1, 'new '], // close i\n [[], 1, 'world'] // close b\n ]]]]\n };\n\n var _renderer$render5 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render5.result;\n\n assert.equal(rendered, 'hello brave new world');\n });\n\n test('renders a mobiledoc with image section', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [// sections\n [_mobiledocTextRendererUtilsSectionTypes.IMAGE_SECTION_TYPE, 'imageUrl']]]\n };\n\n var _renderer$render6 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render6.result;\n\n assert.equal(rendered, '', 'image section is empty string');\n });\n\n test('renders a mobiledoc with built-in image card (as empty string)', function (assert) {\n assert.expect(1);\n var cardName = 'image-card';\n var payload = { src: 'bob.gif' };\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [// sections\n [_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, cardName, payload]]]\n };\n\n var _renderer$render7 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render7.result;\n\n assert.equal(rendered, '', 'card section is empty');\n });\n\n test('render mobiledoc with list section and list items', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], [[_mobiledocTextRendererUtilsSectionTypes.LIST_SECTION_TYPE, 'ul', [[[[], 0, 'first item']], [[[], 0, 'second item']]]]]]\n };\n\n var _renderer$render8 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render8.result;\n\n assert.equal(rendered, ['first item', 'second item'].join('\\n'));\n });\n\n test('renders a mobiledoc with card section', function (assert) {\n var cardName = 'title-card';\n var card = {\n name: cardName,\n type: 'text',\n render: function render() {\n return 'Hello';\n }\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [// sections\n [_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, cardName]]]\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [card] });\n\n var _renderer$render9 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render9.result;\n\n assert.equal(rendered, 'Hello');\n });\n\n test('throws when given card with invalid type', function (assert) {\n var card = {\n name: 'bad',\n type: 'other',\n render: function render() {}\n };\n assert.throws(function () {\n new _mobiledocTextRenderer['default']({ cards: [card] });\n }, // jshint ignore:line\n /Card \"bad\" must be type \"text\"/);\n });\n\n test('throws when given card without `render`', function (assert) {\n var card = {\n name: 'bad',\n type: 'text',\n render: undefined\n };\n assert.throws(function () {\n new _mobiledocTextRenderer['default']({ cards: [card] });\n }, // jshint ignore:line\n /Card \"bad\" must define.*render/);\n });\n\n test('throws if card render returns invalid result', function (assert) {\n var card = {\n name: 'bad',\n type: 'text',\n render: function render() {\n return [];\n }\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, card.name]] // sections\n ]\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [card] });\n assert.throws(function () {\n return renderer.render(mobiledoc);\n }, /Card \"bad\" must render text/);\n });\n\n test('card may render nothing', function (assert) {\n var card = {\n name: 'ok',\n type: 'text',\n render: function render() {}\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, card.name]]]\n };\n\n renderer = new _mobiledocTextRenderer['default']({ cards: [card] });\n renderer.render(mobiledoc);\n\n assert.ok(true, 'No error thrown');\n });\n\n test('rendering nested mobiledocs in cards', function (assert) {\n var cards = [{\n name: 'nested-card',\n type: 'text',\n render: function render(_ref) {\n var payload = _ref.payload;\n\n var _renderer$render10 = renderer.render(payload.mobiledoc);\n\n var rendered = _renderer$render10.result;\n\n return rendered;\n }\n }];\n\n var innerMobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [// sections\n [_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[[], 0, 'hello world']]]]]\n };\n\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [// sections\n [_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 'nested-card', { mobiledoc: innerMobiledoc }]]]\n };\n\n renderer = new _mobiledocTextRenderer['default']({ cards: cards });\n\n var _renderer$render11 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render11.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('rendering unknown card without unknownCardHandler does nothing', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 'missing-card']]]\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [], unknownCardHandler: undefined });\n\n var _renderer$render12 = renderer.render(mobiledoc);\n\n var result = _renderer$render12.result;\n\n assert.equal(result, '', 'empty result');\n });\n\n test('rendering unknown card uses unknownCardHandler', function (assert) {\n assert.expect(5);\n\n var cardName = 'missing-card';\n var expectedPayload = {};\n var cardOptions = {};\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [// sections\n [_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, cardName, expectedPayload]]]\n };\n var unknownCardHandler = function unknownCardHandler(_ref2) {\n var env = _ref2.env;\n var payload = _ref2.payload;\n var options = _ref2.options;\n\n assert.equal(env.name, cardName, 'correct name');\n assert.ok(!env.isInEditor, 'correct isInEditor');\n assert.ok(!!env.onTeardown, 'onTeardown hook exists');\n\n assert.deepEqual(payload, expectedPayload, 'correct payload');\n assert.deepEqual(options, cardOptions, 'correct options');\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [], unknownCardHandler: unknownCardHandler, cardOptions: cardOptions });\n renderer.render(mobiledoc);\n });\n\n test('throws if given an object of cards', function (assert) {\n var cards = {};\n assert.throws(function () {\n new _mobiledocTextRenderer['default']({ cards: cards });\n }, // jshint ignore: line\n /`cards` must be passed as an array/);\n });\n\n test('teardown hook calls registered teardown methods', function (assert) {\n var didTeardown = undefined;\n var card = {\n name: 'ok',\n type: 'text',\n render: function render(_ref3) {\n var env = _ref3.env;\n\n env.onTeardown(function () {\n return didTeardown = true;\n });\n }\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, card.name]]]\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [card] });\n\n var _renderer$render13 = renderer.render(mobiledoc);\n\n var teardown = _renderer$render13.teardown;\n\n assert.ok(!didTeardown, 'precond - no teardown');\n\n teardown();\n\n assert.ok(didTeardown, 'teardown callback called');\n });\n\n test('throws when given an unexpected mobiledoc version', function (assert) {\n var mobiledoc = {\n version: '0.1.0',\n sections: [[], []]\n };\n assert.throws(function () {\n return renderer.render(mobiledoc);\n }, /Unexpected Mobiledoc version.*0.1.0/);\n\n mobiledoc.version = '0.2.1';\n assert.throws(function () {\n return renderer.render(mobiledoc);\n }, /Unexpected Mobiledoc version.*0.2.1/);\n });\n\n test('renders a mobiledoc with multiple sections', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], // markers\n [// sections\n [_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[[], 0, 'first section']]], [_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[[], 0, 'second section']]]]]\n };\n\n var _renderer$render14 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render14.result;\n\n assert.equal(rendered, ['first section', 'second section'].join('\\n'));\n });\n\n test('XSS: unexpected markup and list section tag names are not renderered', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[], [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'script', [[[], 0, 'alert(\"markup section XSS\")']]], [_mobiledocTextRendererUtilsSectionTypes.LIST_SECTION_TYPE, 'script', [[[[], 0, 'alert(\"list section XSS\")']]]]]]\n };\n\n var _renderer$render15 = renderer.render(mobiledoc);\n\n var result = _renderer$render15.result;\n\n assert.ok(result.indexOf('script') === -1, 'no script tag rendered');\n });\n\n test('XSS: unexpected markup types are not rendered', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION,\n sections: [[['b'], // valid\n ['em'], // valid\n ['script'] // invalid\n ], [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'p', [[[0], 0, 'bold text'], [[1, 2], 3, 'alert(\"markup XSS\")'], [[], 0, 'plain text']]]]]\n };\n\n var _renderer$render16 = renderer.render(mobiledoc);\n\n var result = _renderer$render16.result;\n\n assert.ok(result.indexOf('script') === -1, 'no script tag rendered');\n });\n});","define('tests/unit/renderers/0-3-test', ['exports', 'mobiledoc-text-renderer', 'mobiledoc-text-renderer/utils/section-types', 'mobiledoc-text-renderer/utils/marker-types'], function (exports, _mobiledocTextRenderer, _mobiledocTextRendererUtilsSectionTypes, _mobiledocTextRendererUtilsMarkerTypes) {\n /* global QUnit */\n\n 'use strict';\n\n var _QUnit = QUnit;\n var test = _QUnit.test;\n var _module = _QUnit.module;\n\n var MOBILEDOC_VERSION_0_3 = '0.3.0';\n var MOBILEDOC_VERSION_0_3_1 = '0.3.1';\n var MOBILEDOC_VERSION_0_3_2 = '0.3.2';\n\n var renderer = undefined;\n _module('Unit: Mobiledoc Text Renderer - 0.3', {\n beforeEach: function beforeEach() {\n renderer = new _mobiledocTextRenderer['default']();\n }\n });\n\n test('renders an empty mobiledoc', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [],\n sections: []\n };\n\n var _renderer$render = renderer.render(mobiledoc);\n\n var rendered = _renderer$render.result;\n\n assert.equal(rendered, '', 'output is empty');\n });\n\n test('renders a mobiledoc without markers', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'hello world']]]]\n };\n\n var _renderer$render2 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render2.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('renders a mobiledoc 0.3.1 without markers with aside', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3_1,\n atoms: [],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'ASIDE', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'hello world']]]]\n };\n\n var _renderer$render3 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render3.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('renders a mobiledoc 0.3.2', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3_2,\n atoms: [],\n cards: [],\n markups: [],\n sections: []\n };\n\n var _renderer$render4 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render4.result;\n\n assert.equal(rendered, '');\n });\n\n test('renders a mobiledoc with simple (no attributes) marker', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [['B']],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [0], 1, 'hello world']]]]\n };\n\n var _renderer$render5 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render5.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('renders a mobiledoc with complex (has attributes) marker', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [['A', ['href', 'http://google.com']]],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [0], 1, 'hello world']]]]\n };\n\n var _renderer$render6 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render6.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('renders a mobiledoc with multiple markups in a section', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [['B'], ['I']],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [0], 0, 'hello '], // b\n [_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [1], 0, 'brave '], // b+i\n [_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 1, 'new '], // close i\n [_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 1, 'world'] // close b\n ]]]\n };\n\n var _renderer$render7 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render7.result;\n\n assert.equal(rendered, 'hello brave new world');\n });\n\n test('renders a mobiledoc with image section', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.IMAGE_SECTION_TYPE, 'imageUrl']]\n };\n\n var _renderer$render8 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render8.result;\n\n assert.equal(rendered, '', 'image section is empty string');\n });\n\n test('renders a mobiledoc with built-in image card (as empty string)', function (assert) {\n assert.expect(1);\n var cardName = 'image-card';\n var payload = { src: 'bob.gif' };\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [[cardName, payload]],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 0]]\n };\n\n var _renderer$render9 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render9.result;\n\n assert.equal(rendered, '', 'card section is empty');\n });\n\n test('render mobiledoc with list section and list items', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.LIST_SECTION_TYPE, 'ul', [[[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'first item']], [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'second item']]]]]\n };\n\n var _renderer$render10 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render10.result;\n\n assert.equal(rendered, ['first item', 'second item'].join('\\n'));\n });\n\n test('renders a mobiledoc with card section', function (assert) {\n var cardName = 'title-card';\n var card = {\n name: cardName,\n type: 'text',\n render: function render() {\n return 'Hello';\n }\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [[cardName]],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 0]]\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [card] });\n\n var _renderer$render11 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render11.result;\n\n assert.equal(rendered, 'Hello');\n });\n\n test('throws when given card with invalid type', function (assert) {\n var card = {\n name: 'bad',\n type: 'other',\n render: function render() {}\n };\n assert.throws(function () {\n new _mobiledocTextRenderer['default']({ cards: [card] });\n }, // jshint ignore:line\n /Card \"bad\" must be type \"text\"/);\n });\n\n test('throws when given card without `render`', function (assert) {\n var card = {\n name: 'bad',\n type: 'text',\n render: undefined\n };\n assert.throws(function () {\n new _mobiledocTextRenderer['default']({ cards: [card] });\n }, // jshint ignore:line\n /Card \"bad\" must define.*render/);\n });\n\n test('throws if card render returns invalid result', function (assert) {\n var card = {\n name: 'bad',\n type: 'text',\n render: function render() {\n return [];\n }\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [[card.name]],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 0]]\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [card] });\n assert.throws(function () {\n return renderer.render(mobiledoc);\n }, /Card \"bad\" must render text/);\n });\n\n test('card may render nothing', function (assert) {\n var card = {\n name: 'ok',\n type: 'text',\n render: function render() {}\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [[card.name]],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 0]]\n };\n\n renderer = new _mobiledocTextRenderer['default']({ cards: [card] });\n renderer.render(mobiledoc);\n\n assert.ok(true, 'No error thrown');\n });\n\n test('rendering nested mobiledocs in cards', function (assert) {\n var cards = [{\n name: 'nested-card',\n type: 'text',\n render: function render(_ref) {\n var payload = _ref.payload;\n\n var _renderer$render12 = renderer.render(payload.mobiledoc);\n\n var rendered = _renderer$render12.result;\n\n return rendered;\n }\n }];\n\n var innerMobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'hello world']]]]\n };\n\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [['nested-card', { mobiledoc: innerMobiledoc }]],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 0]]\n };\n\n renderer = new _mobiledocTextRenderer['default']({ cards: cards });\n\n var _renderer$render13 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render13.result;\n\n assert.equal(rendered, 'hello world');\n });\n\n test('rendering unknown card without unknownCardHandler does nothing', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [['missing-card']],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 0]]\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [], unknownCardHandler: undefined });\n\n var _renderer$render14 = renderer.render(mobiledoc);\n\n var result = _renderer$render14.result;\n\n assert.equal(result, '', 'empty result');\n });\n\n test('rendering unknown card uses unknownCardHandler', function (assert) {\n assert.expect(5);\n\n var cardName = 'missing-card';\n var expectedPayload = {};\n var cardOptions = {};\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [[cardName, expectedPayload]],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 0]]\n };\n var unknownCardHandler = function unknownCardHandler(_ref2) {\n var env = _ref2.env;\n var payload = _ref2.payload;\n var options = _ref2.options;\n\n assert.equal(env.name, cardName, 'correct name');\n assert.ok(!env.isInEditor, 'correct isInEditor');\n assert.ok(!!env.onTeardown, 'onTeardown hook exists');\n\n assert.deepEqual(payload, expectedPayload, 'correct payload');\n assert.deepEqual(options, cardOptions, 'correct options');\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [], unknownCardHandler: unknownCardHandler, cardOptions: cardOptions });\n renderer.render(mobiledoc);\n });\n\n test('throws if given an object of cards', function (assert) {\n var cards = {};\n assert.throws(function () {\n new _mobiledocTextRenderer['default']({ cards: cards });\n }, // jshint ignore: line\n /`cards` must be passed as an array/);\n });\n\n test('teardown hook calls registered teardown methods', function (assert) {\n var didTeardown = undefined;\n var card = {\n name: 'ok',\n type: 'text',\n render: function render(_ref3) {\n var env = _ref3.env;\n\n env.onTeardown(function () {\n return didTeardown = true;\n });\n }\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [[card.name]],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.CARD_SECTION_TYPE, 0]]\n };\n renderer = new _mobiledocTextRenderer['default']({ cards: [card] });\n\n var _renderer$render15 = renderer.render(mobiledoc);\n\n var teardown = _renderer$render15.teardown;\n\n assert.ok(!didTeardown, 'precond - no teardown');\n\n teardown();\n\n assert.ok(didTeardown, 'teardown callback called');\n });\n\n test('throws when given an unexpected mobiledoc version', function (assert) {\n var mobiledoc = {\n version: '0.1.0',\n atoms: [],\n cards: [],\n markups: [],\n sections: []\n };\n assert.throws(function () {\n return renderer.render(mobiledoc);\n }, /Unexpected Mobiledoc version.*0.1.0/);\n\n mobiledoc.version = '0.2.1';\n assert.throws(function () {\n return renderer.render(mobiledoc);\n }, /Unexpected Mobiledoc version.*0.2.1/);\n });\n\n test('renders a mobiledoc with multiple sections', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'first section']]], [_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'second section']]]]\n };\n\n var _renderer$render16 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render16.result;\n\n assert.equal(rendered, ['first section', 'second section'].join('\\n'));\n });\n\n test('XSS: unexpected markup and list section tag names are not renderered', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'script', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'alert(\"markup section XSS\")']]], [_mobiledocTextRendererUtilsSectionTypes.LIST_SECTION_TYPE, 'script', [[[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'alert(\"list section XSS\")']]]]]\n };\n\n var _renderer$render17 = renderer.render(mobiledoc);\n\n var result = _renderer$render17.result;\n\n assert.ok(result.indexOf('script') === -1, 'no script tag rendered');\n });\n\n test('XSS: unexpected markup types are not rendered', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [],\n cards: [],\n markups: [['b'], // valid\n ['em'], // valid\n ['script'] // invalid\n ],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'p', [[_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [0], 0, 'bold text'], [_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [1, 2], 3, 'alert(\"markup XSS\")'], [_mobiledocTextRendererUtilsMarkerTypes.MARKUP_MARKER_TYPE, [], 0, 'plain text']]]]\n };\n\n var _renderer$render18 = renderer.render(mobiledoc);\n\n var result = _renderer$render18.result;\n\n assert.ok(result.indexOf('script') === -1, 'no script tag rendered');\n });\n\n test('renders a mobiledoc with atom', function (assert) {\n var atomName = 'hello-atom';\n var atom = {\n name: atomName,\n type: 'text',\n render: function render(_ref4) {\n var value = _ref4.value;\n\n return 'Hello ' + value;\n }\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [['hello-atom', 'Bob', { id: 42 }]],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.ATOM_MARKER_TYPE, [], 0, 0]]]]\n };\n renderer = new _mobiledocTextRenderer['default']({ atoms: [atom] });\n\n var _renderer$render19 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render19.result;\n\n assert.equal(rendered, 'Hello Bob');\n });\n\n test('throws when given atom with invalid type', function (assert) {\n var atom = {\n name: 'bad',\n type: 'other',\n render: function render() {}\n };\n assert.throws(function () {\n new _mobiledocTextRenderer['default']({ atoms: [atom] });\n }, // jshint ignore:line\n /Atom \"bad\" must be type \"text\"/);\n });\n\n test('throws when given atom without `render`', function (assert) {\n var atom = {\n name: 'bad',\n type: 'text',\n render: undefined\n };\n assert.throws(function () {\n new _mobiledocTextRenderer['default']({ atoms: [atom] });\n }, // jshint ignore:line\n /Atom \"bad\" must define.*render/);\n });\n\n test('throws if atom render returns invalid result', function (assert) {\n var atom = {\n name: 'bad',\n type: 'text',\n render: function render() {\n return [];\n }\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [['bad', 'Bob', { id: 42 }]],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.ATOM_MARKER_TYPE, [], 0, 0]]]]\n };\n renderer = new _mobiledocTextRenderer['default']({ atoms: [atom] });\n assert.throws(function () {\n return renderer.render(mobiledoc);\n }, /Atom \"bad\" must render text/);\n });\n\n test('atom may render nothing', function (assert) {\n var atom = {\n name: 'ok',\n type: 'text',\n render: function render() {}\n };\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [['ok', 'Bob', { id: 42 }]],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.ATOM_MARKER_TYPE, [], 0, 0]]]]\n };\n\n renderer = new _mobiledocTextRenderer['default']({ atoms: [atom] });\n renderer.render(mobiledoc);\n\n assert.ok(true, 'No error thrown');\n });\n\n test('rendering unknown atom without unknownAtomHandler renders value', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [['missing-atom', 'Bob', { id: 42 }]],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.ATOM_MARKER_TYPE, [], 0, 0]]]]\n };\n renderer = new _mobiledocTextRenderer['default']({ atoms: [], unknownAtomHandler: undefined });\n\n var _renderer$render20 = renderer.render(mobiledoc);\n\n var result = _renderer$render20.result;\n\n assert.equal(result, 'Bob', 'uses value');\n });\n\n test('rendering unknown atom uses unknownAtomHandler', function (assert) {\n assert.expect(5);\n\n var atomName = 'missing-atom';\n var expectedPayload = { id: 42 };\n var cardOptions = {};\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3,\n atoms: [['missing-atom', 'Bob', { id: 42 }]],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[_mobiledocTextRendererUtilsMarkerTypes.ATOM_MARKER_TYPE, [], 0, 0]]]]\n };\n var unknownAtomHandler = function unknownAtomHandler(_ref5) {\n var env = _ref5.env;\n var payload = _ref5.payload;\n var options = _ref5.options;\n\n assert.equal(env.name, atomName, 'correct name');\n assert.ok(!env.isInEditor, 'correct isInEditor');\n assert.ok(!!env.onTeardown, 'onTeardown hook exists');\n\n assert.deepEqual(payload, expectedPayload, 'correct payload');\n assert.deepEqual(options, cardOptions, 'correct options');\n };\n renderer = new _mobiledocTextRenderer['default']({ atoms: [], unknownAtomHandler: unknownAtomHandler, cardOptions: cardOptions });\n renderer.render(mobiledoc);\n });\n\n test('renders a mobiledoc 0.3.2 with attributes', function (assert) {\n var mobiledoc = {\n version: MOBILEDOC_VERSION_0_3_2,\n atoms: [],\n cards: [],\n markups: [],\n sections: [[_mobiledocTextRendererUtilsSectionTypes.MARKUP_SECTION_TYPE, 'P', [[0, [], 0, \"Simple aligned example\"]], ['data-md-text-align', 'center']]]\n };\n\n var _renderer$render21 = renderer.render(mobiledoc);\n\n var rendered = _renderer$render21.result;\n\n assert.equal(rendered, 'Simple aligned example');\n });\n});"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;","file":"built-amd-tests.js"}