mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	A selector like `$('.elem1 .elem2:first')` selects the first descendant
with class name `.elem2` under `.elem1`. This is the same as saying
`$('.elem1 .elem2').first()`. See example here:
https://jsbin.com/bohehesari/edit?html,js,output
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var common = require('../casper_lib/common.js').common;
 | 
						|
 | 
						|
common.start_and_log_in();
 | 
						|
 | 
						|
var last_message_id;
 | 
						|
var msgs_qty;
 | 
						|
 | 
						|
 | 
						|
casper.then(function () {
 | 
						|
    casper.waitUntilVisible("#zhome");
 | 
						|
});
 | 
						|
 | 
						|
casper.then(function () {
 | 
						|
    msgs_qty = this.evaluate(function () {
 | 
						|
        return $('#zhome .message_row').length;
 | 
						|
    });
 | 
						|
    last_message_id = this.evaluate(function () {
 | 
						|
        var msg = $('#zhome .message_row').last();
 | 
						|
        msg.find('.info').click();
 | 
						|
        $('.delete_message').click();
 | 
						|
        return msg.attr('id');
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
casper.then(function () {
 | 
						|
    casper.waitUntilVisible("#delete_message_modal", function () {
 | 
						|
        casper.click('#do_delete_message_button');
 | 
						|
    });
 | 
						|
});
 | 
						|
casper.then(function () {
 | 
						|
    casper.test.assertVisible("#do_delete_message_spinner .loading_indicator_spinner");
 | 
						|
    casper.test.assertNotVisible("#do_delete_message_button");
 | 
						|
});
 | 
						|
 | 
						|
casper.then(function () {
 | 
						|
    casper.waitFor(function check_length() {
 | 
						|
        return casper.evaluate(function (expected_length) {
 | 
						|
            return $('#zhome .message_row').length === expected_length;
 | 
						|
        }, msgs_qty - 1);
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
casper.then(function () {
 | 
						|
    casper.test.assertDoesntExist(last_message_id);
 | 
						|
    casper.test.assertNotVisible("#do_delete_message_spinner .loading_indicator_spinner");
 | 
						|
});
 | 
						|
 | 
						|
casper.run(function () {
 | 
						|
    casper.test.done();
 | 
						|
});
 |