395 |
Doe, John. “Article.” Journal of Generic Studies 6 (2006): 33–34.
396 |
397 |
" "",
398 | "key" => @doe_article_key }, results[0])
399 | end
400 |
401 | def test_format_bibliography_with_locale
402 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => "bibliography", "locale" => "es-ES" })
403 | assert_equal 200, resp.status
404 | results = JSON.parse(resp.body)
405 | assert_equal({ "text" => "Doe, John. «Article». Journal of Generic Studies 6 (2006): 33-34.",
406 | "html" => "" "
407 |
Doe, John. «Article». Journal of Generic Studies 6 (2006): 33-34.
408 |
409 |
" "",
410 | "key" => @doe_article_key }, results[0])
411 | end
412 |
413 | def test_format_bibliography_bad_style
414 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => "bibliography", "style": "bad-style" })
415 | assert_equal 400, resp.status
416 | assert_equal('"Style http://www.zotero.org/styles/bad-style is not installed."', resp.body)
417 | end
418 |
419 | def test_format_quickbib
420 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => "quickBib" })
421 | assert_equal 200, resp.status
422 | results = JSON.parse(resp.body)
423 | assert_equal({ "key" => @doe_article_key, "quickBib" => "Doe, John - 2006 - Article" }, results[0])
424 | end
425 |
426 | def test_format_easykey
427 | skip("easykey is deprecated")
428 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => "easykey" })
429 | assert_equal 200, resp.status
430 | results = JSON.parse(resp.body)
431 | assert_equal "doe:2006article", results[0]
432 | end
433 |
434 | def test_format_easykey_clean_html
435 | skip("easykey is deprecated")
436 | resp = @client.get(@item_url, { "easykey" => "doe:2007why", "format" => "easykey" })
437 | assert_equal 200, resp.status
438 | results = JSON.parse(resp.body)
439 | assert_equal "doe:2007why", results[0]
440 | end
441 |
442 | def test_select
443 | resp = @client.get(@item_url, { "selected" => "t", "format" => "easykey" })
444 | assert_equal 200, resp.status
445 | results = JSON.parse(resp.body)
446 | assert [[], ["doe:2006article"]].include?(results)
447 | end
448 |
449 | def test_format_betterbibtex
450 | %w[betterbibtexkey citekey].each do |name|
451 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => name })
452 | assert_equal 200, resp.status
453 | results = JSON.parse(resp.body)
454 | assert_equal "doe:2006article", results[0]
455 | end
456 | end
457 |
458 | def test_format_export_uuid
459 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => "bc03b4fe-436d-4a1f-ba59-de4d2d7a63f7" })
460 | assert_equal 200, resp.status
461 | assert_equal "text/plain; charset=UTF-8", resp.content_type
462 | end
463 |
464 | def test_format_export_bad_uuid
465 | skip("Times out in Zotero 5")
466 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => "248bebf1-46ab-dead-beef-ec3d2960d0cd" })
467 | assert_equal 400, resp.status
468 | end
469 |
470 | def test_format_key
471 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => "key" })
472 | assert_equal 200, resp.status
473 | results = JSON.parse(resp.body)
474 | assert_equal @doe_article_key, results[0]
475 | end
476 |
477 | def test_format_json
478 | resp = @client.get(@item_url, { "key" => @doe_article_key, "format" => "json" })
479 | assert_equal 200, resp.status
480 | results = JSON.parse(resp.body)
481 | results[0].delete("id")
482 | assert_equal({ "citation-key" => "doe:2006article",
483 | "type" => "article-journal",
484 | "title" => "Article",
485 | "container-title" => "Journal of Generic Studies",
486 | "page" => "33-34",
487 | "volume" => "6",
488 | "author" => [{ "family" => "Doe", "given" => "John" }],
489 | "issued" => { "date-parts" => [["2006"]] } }, results[0])
490 | end
491 |
492 | def test_completion
493 | skip("easykey is deprecated")
494 | resp = @client.get(@complete_url, { "citekey" => "doe:" })
495 | results = JSON.parse(resp.body)
496 | assert(results.size > 4)
497 |
498 | resp = @client.get(@complete_url, { "easykey" => "doe:20" })
499 | results = JSON.parse(resp.body)
500 | assert(results.size > 4)
501 |
502 | resp = @client.get(@complete_url, { "easykey" => "doe:2006" })
503 | results = JSON.parse(resp.body)
504 | assert_equal ["doe:2006article"], results
505 |
506 | resp = @client.get(@complete_url, { "easykey" => "doe:2006art" })
507 | results = JSON.parse(resp.body)
508 | assert_equal ["doe:2006article"], results
509 | end
510 |
511 | def test_search
512 | resp = @client.get(@search_url, { "q" => "doe article", "format" => "key" })
513 | assert_equal 200, resp.status
514 | results = JSON.parse(resp.body)
515 | assert_equal @doe_article_key, results[0]
516 | end
517 |
518 | def test_search_style_param
519 | resp = @client.get(@search_url, { "q" => "doe first book", "format" => "bibliography", "style" => "ieee" })
520 | assert_equal 200, resp.status
521 | i = JSON.parse(resp.body)
522 | assert_equal "[1] J. Doe, First Book. Cambridge: Cambridge University Press, 2005.", i[0]["text"]
523 | end
524 |
525 | def test_search_everything_standalone_note
526 | resp = @client.get(@search_url, { "q" => "standalone", "method" => "everything", "format" => "key" })
527 | assert_equal 200, resp.status
528 | results = JSON.parse(resp.body)
529 | assert results.size.positive?
530 | end
531 |
532 | def test_select
533 | resp = @client.get(@select_url, { "key" => @doe_article_key })
534 | assert_equal 200, resp.status
535 | resp = @client.get(@select_url, { "easykey" => "doe:2006article" })
536 | assert_equal 200, resp.status
537 | # bad key
538 | resp = @client.get(@select_url, { "key" => "1_4T8MCITQXXX" })
539 | assert_equal 400, resp.status
540 | resp = @client.get(@select_url, { "easykey" => "XXX" })
541 | assert_equal 400, resp.status
542 | end
543 |
544 | def test_version
545 | resp = @client.get(@version_url)
546 | assert_equal 200, resp.status
547 | assert_match(/^7.0/, JSON.parse(resp.body)["version"])
548 | end
549 |
550 | def test_locales
551 | resp = @client.get(@locales_url)
552 | assert_equal 200, resp.status
553 | assert_equal "Español", JSON.parse(resp.body)["es-ES"]
554 | end
555 |
556 | def test_styles
557 | resp = @client.get(@styles_url)
558 | assert_equal 200, resp.status
559 | style = JSON.parse(resp.body).find do |value|
560 | value["styleID"] == "http://www.zotero.org/styles/chicago-fullnote-bibliography"
561 | end
562 | assert_equal "note", style["categories"]
563 | assert_equal "Chicago Manual of Style 17th edition (full note)", style["title"]
564 | end
565 | end
566 |
--------------------------------------------------------------------------------
/update.json:
--------------------------------------------------------------------------------
1 | {
2 | "addons": {
3 | "zotxt@e6h.org": {
4 | "updates": [
5 | {
6 | "version": "6.0.3",
7 | "update_link": "https://github.com/egh/zotxt/releases/download/v6.0.3/zotxt-6.0.3.xpi"
8 | "update_hash": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
9 | "applications": {
10 | "gecko": {
11 | "strict_min_version": "60.9",
12 | "strict_max_version": "60.9"
13 | }
14 | }
15 | },
16 | {
17 | "version": "7.0.1",
18 | "update_link": "https://github.com/egh/zotxt/releases/download/v7.0.1/zotxt-7.0.1.xpi"
19 | "update_hash": "sha256:4a6dd04c197629a02a9c6beaa9ebd52a69bb683f8400243bcdf95847f0ee254a",
20 | "applications": {
21 | "gecko": {
22 | "strict_min_version": "60.9",
23 | "strict_max_version": "60.9"
24 | },
25 | "zotero": {
26 | "strict_min_version": "6.999",
27 | "strict_max_version": "7.0.*"
28 | }
29 |
30 | }
31 | }
32 | ]
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------