summaryrefslogtreecommitdiff
path: root/test/manual
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2017-02-12 10:59:03 +0000
committerAlan Mackenzie <acm@muc.de>2017-02-12 10:59:03 +0000
commitf4d5b687150810129b7a1d5b006e31ccf82b691b (patch)
tree4229b13800349032697daae3904dc3773e6b7a80 /test/manual
parentd5514332d4a6092673ce1f78fadcae0c57f7be64 (diff)
parent148100d98319499f0ac6f57b8be08cbd14884a5c (diff)
downloademacs-comment-cache.tar.gz
Merge branch 'master' into comment-cachecomment-cache
Diffstat (limited to 'test/manual')
-rw-r--r--test/manual/indent/css-mode.css27
-rw-r--r--test/manual/indent/scss-mode.scss44
-rw-r--r--test/manual/scroll-tests.el130
3 files changed, 188 insertions, 13 deletions
diff --git a/test/manual/indent/css-mode.css b/test/manual/indent/css-mode.css
index 3a00739bfc4..0845c02c299 100644
--- a/test/manual/indent/css-mode.css
+++ b/test/manual/indent/css-mode.css
@@ -43,3 +43,30 @@ article:hover
{
color: black;
}
+
+/* bug:13425 */
+div:first-child,
+div:last-child,
+div[disabled],
+div::before {
+ font: 15px "Helvetica Neue",
+ Helvetica,
+ Arial,
+ "Nimbus Sans L",
+ sans-serif;
+ font: 15px "Helvetica Neue", Helvetica, Arial,
+ "Nimbus Sans L", sans-serif;
+ transform: matrix(1.0, 2.0,
+ 3.0, 4.0,
+ 5.0, 6.0);
+ transform: matrix(
+ 1.0, 2.0,
+ 3.0, 4.0,
+ 5.0, 6.0
+ );
+}
+@font-face {
+ src: url("Sans-Regular.eot") format("eot"),
+ url("Sans-Regular.woff") format("woff"),
+ url("Sans-Regular.ttf") format("truetype");
+}
diff --git a/test/manual/indent/scss-mode.scss b/test/manual/indent/scss-mode.scss
index e1ec90a5299..f9911ad11b7 100644
--- a/test/manual/indent/scss-mode.scss
+++ b/test/manual/indent/scss-mode.scss
@@ -16,20 +16,20 @@ nav {
}
}
nav ul {
- margin: 0;
- padding: 0;
- list-style: none;
+ margin: 0;
+ padding: 0;
+ list-style: none;
}
nav li {
- display: inline-block;
+ display: inline-block;
}
nav a var
{
- display: block;
- padding: 6px 12px;
- text-decoration: none;
+ display: block;
+ padding: 6px 12px;
+ text-decoration: none;
}
$name: foo;
@@ -67,10 +67,28 @@ button {
// bug:21230
$list: (
- ('a', #000000, #fff)
- ('b', #000000, #fff)
- ('c', #000000, #fff)
- ('d', #000000, #fff)
- ('e', #000000, #fff)
- ('f', #000000, #fff)
+ ('a', #000000, #fff)
+ ('b', #000000, #fff)
+ ('c', #000000, #fff)
+ ('d', #000000, #fff)
+ ('e', #000000, #fff)
+ ('f', #000000, #fff)
);
+
+// bug:13425
+div:first-child,
+div:last-child {
+ @include foo-mixin(
+ $foo: 'foo',
+ $bar: 'bar',
+ );
+
+ font: 15px "Helvetica Neue", Helvetica, Arial,
+ "Nimbus Sans L", sans-serif;
+
+ div:first-child,
+ div:last-child {
+ font: 15px "Helvetica Neue", Helvetica, Arial,
+ "Nimbus Sans L", sans-serif;
+ }
+}
diff --git a/test/manual/scroll-tests.el b/test/manual/scroll-tests.el
new file mode 100644
index 00000000000..1167efd6a66
--- /dev/null
+++ b/test/manual/scroll-tests.el
@@ -0,0 +1,130 @@
+;;; scroll-tests.el -- tests for scrolling -*- lexical-binding: t -*-
+
+;; Copyright (C) 2017 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; These are mostly automated ert tests, but they don't work in batch
+;; mode which is why they are under test/manual.
+
+;;; Code:
+
+(require 'ert)
+(eval-when-compile (require 'cl-lib))
+
+(defun scroll-tests-up-and-down (margin &optional effective-margin)
+ (unless effective-margin
+ (setq effective-margin margin))
+ (erase-buffer)
+ (insert (mapconcat #'number-to-string
+ (number-sequence 1 200) "\n"))
+ (goto-char 1)
+ (sit-for 0)
+ (let ((scroll-margin margin)
+ (wstart (window-start)))
+ ;; Stopping before `scroll-margin' so we shouldn't have
+ ;; scrolled.
+ (let ((current-prefix-arg (- (window-text-height) 1 effective-margin)))
+ (call-interactively 'next-line))
+ (sit-for 0)
+ (should (= wstart (window-start)))
+ ;; Passing `scroll-margin' should trigger scrolling.
+ (call-interactively 'next-line)
+ (sit-for 0)
+ (should (/= wstart (window-start)))
+ ;; Scroll back to top.
+ (let ((current-prefix-arg (window-start)))
+ (call-interactively 'scroll-down-command))
+ (sit-for 0)
+ (should (= 1 (window-start)))))
+
+(defmacro scroll-tests-with-buffer-window (&rest body)
+ (declare (debug t))
+ `(with-temp-buffer
+ (with-selected-window (display-buffer (current-buffer))
+ ,@body)))
+
+(ert-deftest scroll-tests-scroll-margin-0 ()
+ (skip-unless (not noninteractive))
+ (scroll-tests-with-buffer-window
+ (scroll-tests-up-and-down 0)))
+
+(ert-deftest scroll-tests-scroll-margin-negative ()
+ "A negative `scroll-margin' should be the same as 0."
+ (skip-unless (not noninteractive))
+ (scroll-tests-with-buffer-window
+ (scroll-tests-up-and-down -10 0)))
+
+(ert-deftest scroll-tests-scroll-margin-max ()
+ (skip-unless (not noninteractive))
+ (scroll-tests-with-buffer-window
+ (let ((max-margin (/ (window-text-height) 4)))
+ (scroll-tests-up-and-down max-margin))))
+
+(ert-deftest scroll-tests-scroll-margin-over-max ()
+ "A `scroll-margin' more than max should be the same as max."
+ (skip-unless (not noninteractive))
+ (scroll-tests-with-buffer-window
+ (set-window-text-height nil 7)
+ (let ((max-margin (/ (window-text-height) 4)))
+ (scroll-tests-up-and-down (+ max-margin 1) max-margin)
+ (scroll-tests-up-and-down (+ max-margin 2) max-margin))))
+
+(defun scroll-tests--point-in-middle-of-window-p ()
+ (= (count-lines (window-start) (window-point))
+ (/ (1- (window-text-height)) 2)))
+
+(cl-defun scroll-tests--scroll-margin-whole-window (&key with-line-spacing)
+ "Test `maximum-scroll-margin' at 0.5.
+With a high `scroll-margin', this should keep cursor in the
+middle of the window."
+ (let ((maximum-scroll-margin 0.5)
+ (scroll-margin 100))
+ (scroll-tests-with-buffer-window
+ (setq-local line-spacing with-line-spacing)
+ ;; Choose an odd number, so there is one line in the middle.
+ (set-window-text-height nil 7)
+ ;; `set-window-text-height' doesn't count `line-spacing'.
+ (when with-line-spacing
+ (window-resize nil (* line-spacing 7) nil nil 'pixels))
+ (erase-buffer)
+ (insert (mapconcat #'number-to-string
+ (number-sequence 1 200) "\n"))
+ (goto-char 1)
+ (sit-for 0)
+ (call-interactively 'scroll-up-command)
+ (sit-for 0)
+ (should (scroll-tests--point-in-middle-of-window-p))
+ (call-interactively 'scroll-up-command)
+ (sit-for 0)
+ (should (scroll-tests--point-in-middle-of-window-p))
+ (call-interactively 'scroll-down-command)
+ (sit-for 0)
+ (should (scroll-tests--point-in-middle-of-window-p)))))
+
+(ert-deftest scroll-tests-scroll-margin-whole-window ()
+ (skip-unless (not noninteractive))
+ (scroll-tests--scroll-margin-whole-window))
+
+(ert-deftest scroll-tests-scroll-margin-whole-window-line-spacing ()
+ ;; `line-spacing' has no effect on tty displays.
+ (skip-unless (display-graphic-p))
+ (scroll-tests--scroll-margin-whole-window :with-line-spacing 3))
+
+
+;;; scroll-tests.el ends here