import 'reflect-metadata';
import test from 'ava';

import { command, option } from '../dist';

// https://github.com/avajs/ava/issues/1089
const g = <any>global;
const Reflect = g.Reflect;

test((t) => {
  debugger;
  class MyCommand {
    @command({ argv: ['--test', 'test-value'] })
    run(@option({ name: 'test' }) test: string) {
      t.true(test === 'test-value');
    }
  }

  let c = new MyCommand();
  c.run('');
});

import 'reflect-metadata';
import test from 'ava';

import { command, option } from '../dist';

// interface Global {
//   Reflect: any;
// }

const g = <any>global;
const Reflect = g.Reflect;

test((t) => {
  debugger;
  class MyCommand {
    @command({ argv: ['--test', 'test-value'] })
    run(@option({ name: 'test' }) test: string) {
      t.true(test === 'test-value');
    }
  }

  let c = new MyCommand();
  c.run('');
});

--- 
+++ 
@@ -3,10 +3,7 @@
 
 import { command, option } from '../dist';
 
-// interface Global {
-//   Reflect: any;
-// }
-
+// https://github.com/avajs/ava/issues/1089
 const g = <any>global;
 const Reflect = g.Reflect;
 
Add link to issue about ava and overriding globals
