[
  {
    "tags": [],
    "description": {
      "full": "",
      "summary": "",
      "body": ""
    },
    "isPrivate": false,
    "isConstructor": false,
    "line": 1,
    "codeStart": null,
    "code": "import 'reflect-metadata';\nimport 'aurelia-polyfills';\n\nimport {bootstrap}      from 'aurelia-bootstrapper';\nimport {newComponent}         from \"test/render\";\n\n\nlet component : any;\n\n\nfunction initialize(bindingContext : any, templateString ?: string) {\n    let template = templateString ? templateString : `\n  aire-radio(label.bind=\"textLabel\")\n  `;\n    component = newComponent(template, bindingContext, 'form/radio');\n}\n\nafterEach(() => {\n    component.dispose();\n});\n\ntest(\"a radio should initialize\", async (done) => {\n    initialize({textLabel : \"Hello\"});\n    await component.create(bootstrap);\n    let radio = document.querySelector('input.uk-radio');\n    expect(radio).toBeTruthy();\n    done();\n});\n\ntest(\"a label should not initialize if not present in binding context\", async (done) => {\n    initialize({});\n    await component.create(bootstrap);\n    let label = document.querySelector('label.uk-form-label');\n    expect(label).toBeFalsy();\n    done();\n});\n\ntest(\"a label should initialize if present in binding context\", async (done) => {\n    initialize({textLabel : \"Hello\"});\n    await component.create(bootstrap);\n    let label = document.querySelector('label.uk-form-label');\n    expect(label).toBeTruthy();\n    done();\n});\n\ntest(\"a label should be for a radio\", async (done) => {\n    initialize({textLabel : \"Hello\"});\n    await component.create(bootstrap);\n    let label = document.querySelector('label.uk-form-label') as HTMLLabelElement,\n        radio = document.querySelector('input.uk-radio') as HTMLInputElement;\n    expect(label.htmlFor).toBe(radio.id);\n    done();\n});\n\ntest(\"a radio should go disabled when true in binding context\", async (done) => {\n    initialize({textLabel : \"Hello\", disabled : \"true\"}, `\naire-radio(label.bind=\"textLabel\" disabled.bind=\"disabled\")\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input') as any;\n    expect(radio.disabled).toBeTruthy();\n    done();\n});\n\ntest(\"a radio should not go disabled when false in binding context\", async (done) => {\n    initialize({textLabel : \"Hello\", disabled : \"false\"}, `\naire-radio(label.bind=\"textLabel\" disabled.bind=\"disabled\")\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input') as any;\n    expect(radio.disabled).toBeTruthy();\n    done();\n});\n\ntest(\"a radio should not go disabled when not in binding context\", async (done) => {\n    initialize({textLabel : \"Hello\"}, `\naire-radio(label.bind=\"textLabel\")\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input') as any;\n    expect(radio.disabled).toBeFalsy();\n    done();\n});\n\ntest.skip(\"a radio should be selected when true in binding context\", async (done) => {\n    initialize({textLabel : \"Hello\", selected : \"true\"}, `\naire-radio(label.bind=\"textLabel\" selected.bind=\"selected\")\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input') as HTMLInputElement;\n    expect(radio.checked).toBeTruthy();\n    done();\n});\n\ntest(\"a radio should not be selected when false in binding context\", async (done) => {\n    initialize({textLabel : \"Hello\", selected : \"false\"}, `\naire-radio(label.bind=\"textLabel\" selected.bind=\"selected\")\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input') as any;\n    expect(radio.checked).toBeFalsy();\n    done();\n});\n\ntest(\"a radio should not be selected when not in binding context\", async (done) => {\n    initialize({textLabel : \"Hello\"}, `\naire-radio(label.bind=\"textLabel\")\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input') as any;\n    expect(radio.checked).toBeFalsy();\n    done();\n});\n\ntest(\"a radio can be part of a group\", async (done) => {\n    initialize({name : \"Hello\"}, `\naire-radio(name.bind=\"name\")\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input') as HTMLInputElement;\n    expect(radio.name).toBe(\"Hello\");\n    done();\n});\n\ntest(\"a radio can take a horizontal argument\", async(done) => {\n    initialize({textLabel: \"Henlo\"}, `\naire-radio(label.bind=\"textLabel\" horizontal)\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('.uk-form-horizontal');\n    expect(radio).toBeTruthy();\n    done();\n});\n\ntest(\"a radio can take a success argument\", async(done) => {\n    initialize({textLabel: \"Henlo\"}, `\naire-radio(label.bind=\"textLabel\" success)\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input.uk-form-success');\n    expect(radio).toBeTruthy();\n    done();\n});\n\ntest(\"a radio can take a danger argument\", async(done) => {\n    initialize({textLabel: \"Henlo\"}, `\naire-radio(label.bind=\"textLabel\" danger)\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input.uk-form-danger');\n    expect(radio).toBeTruthy();\n    done();\n});\n\ntest(\"a radio can take a blank argument\", async(done) => {\n    initialize({textLabel: \"Henlo\"}, `\naire-radio(label.bind=\"textLabel\" blank)\n  `);\n    await component.create(bootstrap);\n    let radio = document.querySelector('input.uk-form-blank');\n    expect(radio).toBeTruthy();\n    done();\n});",
    "ctx": false
  }
]