Пример #1
0
 it('xpath - div-span-input(input)', function () {
     var onClick = function (json) {
         expect(json.data.xpath).toBe('div-span-input(input)');
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('input')[2]);
     log.un('click', onClick);
 });
Пример #2
0
 it('xpath - div(other)', function () {
     var onClick = function (json) {
         expect(json.data.xpath).toBe('div(other)');
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('div')[0]);
     log.un('click', onClick);
 });
Пример #3
0
 it('xpath - a2(link)', function () {
     var onClick = function (json) {
         expect(json.data.xpath).toBe('a2(link)');
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('a')[2]);
     log.un('click', onClick);
 });
Пример #4
0
 it('顶层容器点击无上报', function () {
     var onClick = function (json) {
         expect(json.target !== container).toBeTruthy();
     };
     log.on('click', onClick);
     log.click(container);
     log.un('click', onClick);
 });
Пример #5
0
 it('type - other with OP_LOG_OTHERS class', function () {
     var onClick = function (json) {
         expect(json.data.xpath).toMatch(/\(others\)/);
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('em')[0]);
     log.un('click', onClick);
 });
Пример #6
0
 it('type - btn for default', function () {
     var onClick = function (json) {
         expect(json.data.xpath).toMatch(/\(input\)/);
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('input')[2]);
     log.un('click', onClick);
 });
Пример #7
0
 it('title - span-button', function () {
     var onClick = function (json) {
         expect(json.data.txt).toBe(json.target.innerHTML);
         expect(json.data.xpath).toMatch(/\(others\)/);
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('button')[0]);
     log.un('click', onClick);
 });
Пример #8
0
 it('title - password(input)', function () {
     var onClick = function (json) {
         expect(json.data.txt).toBe('');
         expect(json.data.xpath).toMatch(/\(input\)/);
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('input')[4]);
     log.un('click', onClick);
 });
Пример #9
0
 it('title - select', function () {
     var onClick = function (json) {
         expect(json.data.txt).toBe(json.target.value);
         expect(json.data.xpath).toMatch(/\(input\)/);
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('select')[0]);
     log.un('click', onClick);
 });
Пример #10
0
 it('title - from img[title]', function () {
     var onClick = function (json) {
         expect(json.data.txt).toBe(json.target.title);
         expect(json.data.xpath).toBe('a-img(link)');
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('img')[0]);
     log.un('click', onClick);
 });
Пример #11
0
 it('非法的data-click', function () {
     var onClick = function (json) {
         var data = json.data;
         expect(data.abc).toBe('');
     };
     log.on('click', onClick);
     $(container.getElementsByTagName('p')[0]).trigger('click');
     log.un('click', onClick);
 });
Пример #12
0
 it('从配置继承', function () {
     var onClick = function (json) {
         var data = json.data;
         expect(data.foo).toBe('bar');
     };
     log.config({ data: { foo: 'bar' } });
     log.on('click', onClick);
     $(container.getElementsByTagName('div')[0]).trigger('click');
     log.un('click', onClick);
 });
Пример #13
0
 it('title - password(btn)', function () {
     var onClick = function (json) {
         var el = json.target.parentNode;
         var text = el.textContent || el.innerText;
         expect(json.data.txt).toBe(text);
         expect(json.data.xpath).toMatch(/\(btn\)/);
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('input')[3]);
     log.un('click', onClick);
 });
Пример #14
0
 it('手动继承,批量填充: fill', function () {
     var inputs = container.getElementsByTagName('input');
     var onClick = function (json) {
         var data = json.data;
         expect(data.fill).toBe('true');
     };
     log.on('click', onClick);
     log.fill(inputs, { fill: true });
     $(inputs[Math.random() * inputs.length | 0]).trigger('click');
     log.un('click', onClick);
 });
Пример #15
0
 it('type - link for OP_LOG_LINK', function () {
     var onClick = function (json) {
         expect(json.data.xpath).toMatch(/\(link\)/);
     };
     var el = container.getElementsByTagName('input')[2];
     $(el).addClass('OP_LOG_LINK');
     log.on('click', onClick);
     log.click(el);
     log.un('click', onClick);
     $(el).removeClass('OP_LOG_LINK');
 });
Пример #16
0
        it('直接禁止', function () {
            var neverChange = true;
            var onClick = function () {
                neverChange = false;
            };
            log.on('click', onClick);
            log.click(container.getElementsByTagName('input')[0]);
            log.un('click', onClick);

            expect(neverChange).toBe(true);
        });
Пример #17
0
 it('二层继承', function () {
     var onClick = function (json) {
         var data = json.data;
         expect(data.x).toBe(2);
         expect(data.srcid).toBe(16874);
         expect(data.p1).toBe(2);
         expect(data.y).toBe(3);
     };
     log.on('click', onClick);
     $(container.getElementsByTagName('input')[1]).trigger('click');
     log.un('click', onClick);
 });
Пример #18
0
 it('一层继承', function () {
     var onClick = function (json) {
         var data = json.data;
         expect(data.x).toBe(2);
         expect(data.srcid).toBe(16874);
         expect(data.p1).toBe(2);
         expect(data.y).toBe(2);
     };
     log.on('click', onClick);
     log.click(container.getElementsByTagName('div')[0]);
     log.un('click', onClick);
 });
Пример #19
0
 it('title - from a.innerHTML with img', function () {
     var target = container.getElementsByTagName('img')[0];
     var title = target.title;
     var onClick = function (json) {
         expect(json.data.txt).not.toBe(title);
         expect(json.data.xpath).toBe('a-img(link)');
     };
     log.on('click', onClick);
     target.title = '';
     log.click(target);
     log.un('click', onClick);
     target.title = title;
 });
Пример #20
0
        it('祖先级禁止', function () {
            var neverChange = true;
            var onClick = function () {
                neverChange = false;
            };
            log.on('click', onClick);
            container.setAttribute('data-nolog', 1);
            log.click(container.getElementsByTagName('input')[0]);
            log.un('click', onClick);
            container.removeAttribute('data-nolog');

            expect(neverChange).toBe(true);
        });
Пример #21
0
 it('后期更改: live', function () {
     log.live({
         test: function (json) {
             json.data.live = 1;
         }
     });
     var onSend = function (json) {
         expect(~json.url.indexOf('live=1')).toBe(true);
     };
     log.on('send', onSend);
     $(container.getElementsByTagName('input')[1]).trigger('click');
     log.un('send', onSend);
 });
Пример #22
0
            log.on('send', function (json) {
                expect(json.url.indexOf('foo=bar') > 0).toBe(true);

                log.un('send', arguments.callee);
            });