From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: phillip.lord@russet.org.uk (Phillip Lord) Newsgroups: gmane.emacs.devel Subject: Re: UI tests Date: Thu, 12 Nov 2015 14:09:32 +0000 Message-ID: <877flnpaw3.fsf@russet.org.uk> References: <87d1vpoees.fsf@russet.org.uk> <87r3k3igy1.fsf@russet.org.uk> <86io5ewbhg.fsf@stephe-leake.org> <8737wiyt75.fsf_-_@russet.org.uk> <87si4dsif4.fsf@cumego.com> <87oaf1wpkv.fsf@russet.org.uk> <876119sfa1.fsf@cumego.com> <87ziyk969x.fsf@russet.org.uk> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1447337396 32403 80.91.229.3 (12 Nov 2015 14:09:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 12 Nov 2015 14:09:56 +0000 (UTC) Cc: stephen_leake@stephe-leake.org, esperanto@cumego.com, emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Nov 12 15:09:52 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZwsZT-0008EC-I1 for ged-emacs-devel@m.gmane.org; Thu, 12 Nov 2015 15:09:51 +0100 Original-Received: from localhost ([::1]:46845 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwsZT-0002v5-10 for ged-emacs-devel@m.gmane.org; Thu, 12 Nov 2015 09:09:51 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42561) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwsZM-0002od-Dj for emacs-devel@gnu.org; Thu, 12 Nov 2015 09:09:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZwsZL-0000oB-IW for emacs-devel@gnu.org; Thu, 12 Nov 2015 09:09:44 -0500 Original-Received: from cheviot22.ncl.ac.uk ([128.240.234.22]:53801) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwsZG-0000le-Ok; Thu, 12 Nov 2015 09:09:39 -0500 Original-Received: from smtpauth-vm.ncl.ac.uk ([10.8.233.129] helo=smtpauth.ncl.ac.uk) by cheviot22.ncl.ac.uk with esmtp (Exim 4.63) (envelope-from ) id 1ZwsZD-0002SU-Fx; Thu, 12 Nov 2015 14:09:36 +0000 Original-Received: from jangai.ncl.ac.uk ([10.66.67.223] helo=localhost) by smtpauth.ncl.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1ZwsZB-0002m0-Jh; Thu, 12 Nov 2015 14:09:33 +0000 In-Reply-To: (Richard Stallman's message of "Wed, 11 Nov 2015 12:02:58 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 128.240.234.22 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:194225 Archived-At: Richard Stallman writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > Unlike the typical graphical applications, Emacs's UIs are mostly > controlled by events that have a very shallow translation to Lisp > data. Even mouse clicks can be faked, and a convenient Lisp function > to make that totally easy would not be hard to write. I would agree. I've been working on a library (called sisyphus) to support higher-level operations for testing, and that would be a nice addition. > Perhaps the input side of testing UI features will be fairly easy. > > The output side is not so straightforward, but if we set up something > to accumulate a sort of dribble record of X11 output operations, in > the form of Lisp-visible data, maybe tests could check that to see > if they have changed from before. If that would allow me to test things like before and after-string overlay properties that would be excellent. Testing, for example, completion engines is hard in Emacs since the buffer doesn't change, only the visualisation of it. One additional problem, though, is that Emacs doesn't really have a concept of "headless". Things like syntax highlighting in buffers just work different when running in batch, because Emacs assumes it's running on a TTY. For example, HTML generated by htmlize comes out differently in batch, than from a windowed Emacs, because Emacs in batch cannot display colour. Phil