版博士V2.0程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

74 lines
1.7 KiB

  1. const $ = require('../index');
  2. const config = require('./config');
  3. const jc1 = require('./code/simple1');
  4. const jc2 = require('./code/simple2');
  5. const hc1 = require('./code/simple1.html');
  6. test('$.each: simple code', () => {
  7. expect(()=>{
  8. const G = $('var a = 1;');
  9. G.each(()=>{
  10. });
  11. }).not.toThrow();
  12. })
  13. test('$.each: simple code', () => {
  14. const G = $('var a = 1;');
  15. let i = 0;
  16. G.each((ast) => {
  17. i++;
  18. });
  19. expect(i).toBe(1);
  20. })
  21. test('$.each: simple code', () => {
  22. const G = $(jc1).find('window.addEventListener($_$,$_$)');
  23. let i = 0;
  24. G.each((ast) => {
  25. i++;
  26. });
  27. expect(i).toBe(1);
  28. })
  29. test('$.each: simple1 code, result should be ok', () => {
  30. const G = $(jc1).find('window.addEventListener($_$,$_$)');
  31. let code = 0;
  32. G.each((ast) => {
  33. code = ast.generate();
  34. });
  35. expect(code.indexOf('window.addEventListener') > -1).toBeTruthy();
  36. })
  37. test('$.each: simple2 code, result should be ok', () => {
  38. const G = $(jc2).find('View.extend($_$)');
  39. let code = 0;
  40. G.each((ast) => {
  41. code = ast.generate();
  42. });
  43. expect(code.indexOf(`tmpl: '@test.html'`) > -1).toBeTruthy();
  44. })
  45. test('$.each: simple1 html code', () => {
  46. expect(() => {
  47. const G = $(hc1, config.html);
  48. G.each(()=>{
  49. });
  50. }).not.toThrow();
  51. })
  52. test('$.each: simple1 html code', () => {
  53. const G = $(hc1, config.html);
  54. let i = 0;
  55. G.each((ast) => {
  56. i++;
  57. });
  58. expect(i).toBe(1);
  59. })
  60. test('$.each: simple1 html code', () => {
  61. const G = $(hc1, config.html).find('<body>');
  62. let i = 0;
  63. G.each((ast) => {
  64. i++;
  65. });
  66. expect(i).toBe(1);
  67. })