nyxt icon indicating copy to clipboard operation
nyxt copied to clipboard

Add assert-string= for testing.

Open Ambrevar opened this issue 1 year ago • 7 comments

See https://github.com/atlas-engineer/nyxt/pull/2484#issuecomment-1202955771.

Ambrevar avatar Aug 03 '22 03:08 Ambrevar

I thought about this too. It would be nice to have an assertion that would mapcar string= for lists, as it's quite common as well.

But this would need to land on lisp-unit2, do you agree? Is it time for us to maintain the library?

aadcg avatar Aug 03 '22 07:08 aadcg

We can write our own functions and intern them into lisp-unit2 if we need, no?

aartaka avatar Aug 03 '22 08:08 aartaka

Is it possible to do that globally so that every library (system) would have that symbol available?

aadcg avatar Aug 03 '22 08:08 aadcg

So far only Nyxt needs this. Let's not over-optimize yet.

aartaka avatar Aug 03 '22 08:08 aartaka

Actually, if you look at all of its occurrences that's not quite true:

libraries/class-star/tests/tests.lisp
11:   (assert-equality 'string= "fooname"
30:   (assert-equality 'string= ""
49:   (assert-equality 'string= ""
libraries/history-tree/tests/tests.lisp
 42:     (assert-equality 'string= url
 54:     (assert-equality 'string= url3
 56:     (assert-equality 'string= url1
 60:     (assert-equality 'string= url2
 64:   (assert-equality 'string= "http://example.root/B2"
137:     (assert-equality 'string= "http://example.root/B"
140:     (assert-equality 'string= "http://example.root"
143:     (assert-equality 'string= "http://example.root/A"
161:       (assert-equality 'string= "Example page"
169:       (assert-equality 'string= "Example page"
185:     (assert-equality 'string= *owner*
201:     (assert-equality 'string= url3
203:     (assert-equality 'string= url2
209:     (assert-equality 'string= url1
221:     (assert-equality 'string= url2
225:     (assert-equality 'string= url1
228:     (assert-equality 'string= url2
231:     (assert-equality 'string= url2
321:     (assert-equality 'string= distant-node-value
339:     (assert-equality 'string= distant-node-value
429:     (assert-equality 'string= url1
432:     (assert-equality 'string= url1
435:     (assert-equality 'string= url2
438:     (assert-equality 'string= url1
441:     (assert-equality 'string= url1
444:     (assert-equality 'string= url3
453:     (assert-equality 'string= url3
457:     (assert-equality 'string= url1
libraries/prompter/tests/fuzzy.lisp
45:       (assert-equality 'string= "help"
48:       (assert-equality 'string= "HELP"
51:       (assert-equality 'string= "switch-buffer"
54:       (assert-equality 'string= "SWITCH-BUFFER"
57:       (assert-equality 'string= "switch-buffer"
60:       (assert-equality 'string= "SWITCH-BUFFER"
63:       (assert-equality 'string= "delete-foo"
66:       (assert-equality 'string= "foo-bar"
69:       (assert-equality 'string= "SWITCH-BUFFER"
72:       (assert-equality 'string= "FOO-BAR"
75:       (assert-equality 'string= "FOO-BAR"
78:       (assert-equality 'string= "http://[1:0:0:2::3:0.]/"
libraries/prompter/tests/tests.lisp
299:         (assert-equality 'string= "jackfruit"
321:         (assert-equality 'string= "bar"
324:         (assert-equality 'string= "100 foo"
327:         (assert-equality 'string= "200"
330:         (assert-equality 'string= "200"
333:         (assert-equality 'string= "100 foo"
336:         (assert-equality 'string= "foo"
339:         (assert-equality 'string= "foo"
342:         (assert-equality 'string= "200"
345:         (assert-equality 'string= "bar"
348:         (assert-equality 'string= "bar"
351:         (assert-equality 'string= "100 foo"
354:         (assert-equality 'string= "100 foo"
359:         (assert-equality 'string= "bar"
364:         (assert-equality 'string= "bar"
367:         (assert-equality 'string= "bar"
385:         (assert-equality 'string= "100 foo"
388:         (assert-equality 'string= "foo"
391:         (assert-equality 'string= "200"
409:         (assert-equality 'string= "200"
412:         (assert-equality 'string= "200"
415:         (assert-equality 'string= "foo"
418:         (assert-equality 'string= "200"
421:         (assert-equality 'string= "bar"
424:         (assert-equality 'string= "100 foo"
454:       (assert-equality 'string= ""
480:         (assert-equality 'string= "foo"
484:         (assert-equality 'string= "bar"
libraries/theme/tests/test.lisp
23:   (assert-equality 'string= "a { background-color: black; color: yellow; }
31:   (assert-equality 'string= "a { background-color: black; color: yellow; }
46:   (assert-equality 'string=  "body { background-color: yellow; color: magenta !important; }
54:   (assert-equality 'string= "body { color: black; background-color: yellow; }
tests/offline/global-history.lisp
33:           (assert-equality 'string= ""
43:           (assert-equality 'string= "foo"
tests/offline/user-script-parsing.lisp
26:     (assert-equality 'string= code
tests/online/urls.lisp
79:   (assert-equality 'string= (nyxt::schemeless-url
tests/renderer-offline/set-url.lisp
39:            (assert-equality 'string= url (calispel:? url-channel 5))

Am I misinterpreting this? Don't you need to intern it for every system?

aadcg avatar Aug 03 '22 08:08 aadcg

Hmmmmmm. I meant interning it to lisp-unit2, this way it will be accessible everywhere. But I guess it is indeed a generally useful one. I suggest to open a PR in lisp-unit2 then :)

aartaka avatar Aug 03 '22 09:08 aartaka

I meant interning it to lisp-unit2, this way it will be accessible everywhere.

I don't see how that could be done, but you'll explain me soon today.

aadcg avatar Aug 03 '22 09:08 aadcg

Is this fixed @aadcg ?

Ambrevar avatar Sep 13 '22 10:09 Ambrevar

Yes, thanks.

aadcg avatar Sep 13 '22 10:09 aadcg