breakout_parser 0.0.20 → 0.0.23

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,9 @@
1
+ [ 0.0.21 ]
2
+ * emit correct urls for external svn links
3
+ (https://www.assembla.com/spaces/breakout/tickets/8472)
4
+ * emit restful wiki links
5
+ (https://www.assembla.com/spaces/breakout/tickets/8396)
6
+
1
7
  [ 0.0.20 ]
2
8
 
3
9
  * parse "$REV$" in external repo links
@@ -9,26 +15,26 @@
9
15
  (https://www.assembla.com/spaces/breakout/tickets/6513)
10
16
 
11
17
  [ 0.0.18 ]
12
-
18
+
13
19
  * added README
14
20
  * added option to make relative urls absolute
15
21
  (https://www.assembla.com/spaces/breakout/tickets/6513)
16
22
 
17
23
  [ 0.0.17 ]
18
-
24
+
19
25
  * fix not-closing bold/italics tags when opened before <pre> and/or <code>
20
26
  (https://www.assembla.com/spaces/breakout/tickets/6385)
21
27
 
22
28
  [ 0.0.16 ]
23
-
29
+
24
30
  * make a [[issue:123]] as a synonym to [[ticket:123]]
25
31
 
26
32
  [ 0.0.15 ]
27
-
33
+
28
34
  * allow spaces in links to wiki pages, re http://www.assembla.com/spaces/breakout/tickets/5916
29
35
 
30
36
  [ 0.0.14 ]
31
-
37
+
32
38
  * fix handling of broken multilevel lists, re https://www.assembla.com/spaces/breakout/tickets/5902
33
39
 
34
40
  [ 0.0.13 ]
data/README CHANGED
@@ -4,6 +4,11 @@ Breakout Parser
4
4
  - simplified Textile parser with some Assembla-specific features
5
5
  - converts Textile into HTML
6
6
 
7
+ Build dependencies
8
+ ==================
9
+
10
+ You will need Flex, Bison, GCC, and GNU Make to build this gem.
11
+
7
12
 
8
13
  Usage
9
14
  ===============
@@ -24,5 +29,5 @@ Arguments
24
29
  data, # data to parse
25
30
  space_name, # space name - for links parsing
26
31
  site_url, # [optional] global site url
27
- git_url # [optional] custom GIT url - f.ex. for github-hosted repos
32
+ vcs_url # [optional] custom VCS url - f.ex. for github-hosted repos
28
33
  )
@@ -53,7 +53,6 @@ typedef int flex_int32_t;
53
53
  typedef unsigned char flex_uint8_t;
54
54
  typedef unsigned short int flex_uint16_t;
55
55
  typedef unsigned int flex_uint32_t;
56
- #endif /* ! C99 */
57
56
 
58
57
  /* Limits of integral types. */
59
58
  #ifndef INT8_MIN
@@ -84,6 +83,8 @@ typedef unsigned int flex_uint32_t;
84
83
  #define UINT32_MAX (4294967295U)
85
84
  #endif
86
85
 
86
+ #endif /* ! C99 */
87
+
87
88
  #endif /* ! FLEXINT_H */
88
89
 
89
90
  #ifdef __cplusplus
@@ -140,7 +141,15 @@ typedef unsigned int flex_uint32_t;
140
141
 
141
142
  /* Size of default input buffer. */
142
143
  #ifndef YY_BUF_SIZE
144
+ #ifdef __ia64__
145
+ /* On IA-64, the buffer size is 16k, not 8k.
146
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
147
+ * Ditto for the __ia64__ case accordingly.
148
+ */
149
+ #define YY_BUF_SIZE 32768
150
+ #else
143
151
  #define YY_BUF_SIZE 16384
152
+ #endif /* __ia64__ */
144
153
  #endif
145
154
 
146
155
  /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -1188,7 +1197,7 @@ extern size_t in_buf_len;
1188
1197
 
1189
1198
 
1190
1199
 
1191
- #line 1192 "lex.yy.c"
1200
+ #line 1201 "lex.yy.c"
1192
1201
 
1193
1202
  #define INITIAL 0
1194
1203
  #define _PRE_CODE 1
@@ -1286,7 +1295,12 @@ static int input (void );
1286
1295
 
1287
1296
  /* Amount of stuff to slurp up with each read. */
1288
1297
  #ifndef YY_READ_BUF_SIZE
1298
+ #ifdef __ia64__
1299
+ /* On IA-64, the buffer size is 16k, not 8k */
1300
+ #define YY_READ_BUF_SIZE 16384
1301
+ #else
1289
1302
  #define YY_READ_BUF_SIZE 8192
1303
+ #endif /* __ia64__ */
1290
1304
  #endif
1291
1305
 
1292
1306
  /* Copy whatever the last rule matched to the standard output. */
@@ -1294,7 +1308,7 @@ static int input (void );
1294
1308
  /* This used to be an fputs(), but since the string might contain NUL's,
1295
1309
  * we now use fwrite().
1296
1310
  */
1297
- #define ECHO fwrite( yytext, yyleng, 1, yyout )
1311
+ #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1298
1312
  #endif
1299
1313
 
1300
1314
  /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -1305,7 +1319,7 @@ static int input (void );
1305
1319
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1306
1320
  { \
1307
1321
  int c = '*'; \
1308
- int n; \
1322
+ size_t n; \
1309
1323
  for ( n = 0; n < max_size && \
1310
1324
  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1311
1325
  buf[n] = (char) c; \
@@ -1394,7 +1408,7 @@ YY_DECL
1394
1408
 
1395
1409
  if( parse_links_only ) BEGIN(_LINKS_ONLY);
1396
1410
 
1397
- #line 1398 "lex.yy.c"
1411
+ #line 1412 "lex.yy.c"
1398
1412
 
1399
1413
  if ( !(yy_init) )
1400
1414
  {
@@ -1954,7 +1968,7 @@ YY_RULE_SETUP
1954
1968
  #line 203 "parser.l"
1955
1969
  ECHO;
1956
1970
  YY_BREAK
1957
- #line 1958 "lex.yy.c"
1971
+ #line 1972 "lex.yy.c"
1958
1972
  case YY_STATE_EOF(INITIAL):
1959
1973
  case YY_STATE_EOF(_LINKS_ONLY):
1960
1974
  yyterminate();
@@ -2474,19 +2488,9 @@ static void yy_load_buffer_state (void)
2474
2488
  yyfree((void *) b );
2475
2489
  }
2476
2490
 
2477
- #ifndef _UNISTD_H /* assume unistd.h has isatty() for us */
2478
- #ifdef __cplusplus
2479
- extern "C" {
2480
- #endif
2481
- #ifdef __THROW /* this is a gnuism */
2482
- extern int isatty (int ) __THROW;
2483
- #else
2491
+ #ifndef __cplusplus
2484
2492
  extern int isatty (int );
2485
- #endif
2486
- #ifdef __cplusplus
2487
- }
2488
- #endif
2489
- #endif
2493
+ #endif /* __cplusplus */
2490
2494
 
2491
2495
  /* Initializes or reinitializes a buffer.
2492
2496
  * This function is sometimes called more than once on the same buffer,
@@ -2692,8 +2696,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
2692
2696
 
2693
2697
  /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2694
2698
  * scan from a @e copy of @a bytes.
2695
- * @param bytes the byte buffer to scan
2696
- * @param len the number of bytes in the buffer pointed to by @a bytes.
2699
+ * @param yybytes the byte buffer to scan
2700
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2697
2701
  *
2698
2702
  * @return the newly allocated buffer state object.
2699
2703
  */
@@ -1,9 +1,10 @@
1
- /* A Bison parser, made by GNU Bison 2.4.2. */
1
+
2
+ /* A Bison parser, made by GNU Bison 2.4.1. */
2
3
 
3
4
  /* Skeleton implementation for Bison's Yacc-like parsers in C
4
5
 
5
- Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6
- Foundation, Inc.
6
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7
+ Free Software Foundation, Inc.
7
8
 
8
9
  This program is free software: you can redistribute it and/or modify
9
10
  it under the terms of the GNU General Public License as published by
@@ -45,7 +46,7 @@
45
46
  #define YYBISON 1
46
47
 
47
48
  /* Bison version. */
48
- #define YYBISON_VERSION "2.4.2"
49
+ #define YYBISON_VERSION "2.4.1"
49
50
 
50
51
  /* Skeleton name. */
51
52
  #define YYSKELETON_NAME "yacc.c"
@@ -93,7 +94,7 @@ size_t space_name_len = 0;
93
94
  const char *site_url = NULL;
94
95
  size_t site_url_len = 0;
95
96
 
96
- extern VALUE git_url;
97
+ extern VALUE vcs_url;
97
98
 
98
99
  int list_level = 1;
99
100
  int absolute_urls = 0;
@@ -137,7 +138,7 @@ void yyerror(const char *msg)
137
138
 
138
139
 
139
140
  /* Line 189 of yacc.c */
140
- #line 141 "parser.tab.c"
141
+ #line 142 "parser.tab.c"
141
142
 
142
143
  /* Enabling traces. */
143
144
  #ifndef YYDEBUG
@@ -226,7 +227,7 @@ typedef union YYSTYPE
226
227
 
227
228
 
228
229
  /* Line 214 of yacc.c */
229
- #line 230 "parser.tab.c"
230
+ #line 231 "parser.tab.c"
230
231
  } YYSTYPE;
231
232
  # define YYSTYPE_IS_TRIVIAL 1
232
233
  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -238,7 +239,7 @@ typedef union YYSTYPE
238
239
 
239
240
 
240
241
  /* Line 264 of yacc.c */
241
- #line 242 "parser.tab.c"
242
+ #line 243 "parser.tab.c"
242
243
 
243
244
  #ifdef short
244
245
  # undef short
@@ -288,7 +289,7 @@ typedef short int yytype_int16;
288
289
  #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
289
290
 
290
291
  #ifndef YY_
291
- # if defined YYENABLE_NLS && YYENABLE_NLS
292
+ # if YYENABLE_NLS
292
293
  # if ENABLE_NLS
293
294
  # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
294
295
  # define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -733,18 +734,9 @@ static const yytype_uint8 yystos[] =
733
734
 
734
735
  /* Like YYERROR except do call yyerror. This remains here temporarily
735
736
  to ease the transition to the new meaning of YYERROR, for GCC.
736
- Once GCC version 2 has supplanted version 1, this can go. However,
737
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
738
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
739
- discussed. */
737
+ Once GCC version 2 has supplanted version 1, this can go. */
740
738
 
741
739
  #define YYFAIL goto yyerrlab
742
- #if defined YYFAIL
743
- /* This is here to suppress warnings from the GCC cpp's
744
- -Wunused-macros. Normally we don't worry about that warning, but
745
- some users do, and we want to make it easy for users to remove
746
- YYFAIL uses, which will produce warnings from Bison 2.5. */
747
- #endif
748
740
 
749
741
  #define YYRECOVERING() (!!yyerrstatus)
750
742
 
@@ -801,7 +793,7 @@ while (YYID (0))
801
793
  we won't break user code: when these are the locations we know. */
802
794
 
803
795
  #ifndef YY_LOCATION_PRINT
804
- # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
796
+ # if YYLTYPE_IS_TRIVIAL
805
797
  # define YY_LOCATION_PRINT(File, Loc) \
806
798
  fprintf (File, "%d.%d-%d.%d", \
807
799
  (Loc).first_line, (Loc).first_column, \
@@ -1540,42 +1532,42 @@ yyreduce:
1540
1532
  {
1541
1533
  case 6:
1542
1534
 
1543
- /* Line 1464 of yacc.c */
1535
+ /* Line 1455 of yacc.c */
1544
1536
  #line 104 "parser.y"
1545
1537
  {concat("</h1>",5);}
1546
1538
  break;
1547
1539
 
1548
1540
  case 7:
1549
1541
 
1550
- /* Line 1464 of yacc.c */
1542
+ /* Line 1455 of yacc.c */
1551
1543
  #line 105 "parser.y"
1552
1544
  {concat("</h2>",5);}
1553
1545
  break;
1554
1546
 
1555
1547
  case 8:
1556
1548
 
1557
- /* Line 1464 of yacc.c */
1549
+ /* Line 1455 of yacc.c */
1558
1550
  #line 106 "parser.y"
1559
1551
  {concat("</h3>",5);}
1560
1552
  break;
1561
1553
 
1562
1554
  case 9:
1563
1555
 
1564
- /* Line 1464 of yacc.c */
1556
+ /* Line 1455 of yacc.c */
1565
1557
  #line 107 "parser.y"
1566
1558
  {concat("</h4>",5);}
1567
1559
  break;
1568
1560
 
1569
1561
  case 10:
1570
1562
 
1571
- /* Line 1464 of yacc.c */
1563
+ /* Line 1455 of yacc.c */
1572
1564
  #line 108 "parser.y"
1573
1565
  {concat("</h5>",5);}
1574
1566
  break;
1575
1567
 
1576
1568
  case 11:
1577
1569
 
1578
- /* Line 1464 of yacc.c */
1570
+ /* Line 1455 of yacc.c */
1579
1571
  #line 109 "parser.y"
1580
1572
  {
1581
1573
  list_level=1;
@@ -1585,7 +1577,7 @@ yyreduce:
1585
1577
 
1586
1578
  case 12:
1587
1579
 
1588
- /* Line 1464 of yacc.c */
1580
+ /* Line 1455 of yacc.c */
1589
1581
  #line 112 "parser.y"
1590
1582
  {
1591
1583
  concat("</ul>",5);
@@ -1595,7 +1587,7 @@ yyreduce:
1595
1587
 
1596
1588
  case 14:
1597
1589
 
1598
- /* Line 1464 of yacc.c */
1590
+ /* Line 1455 of yacc.c */
1599
1591
  #line 116 "parser.y"
1600
1592
  {
1601
1593
  list_level=1;
@@ -1605,7 +1597,7 @@ yyreduce:
1605
1597
 
1606
1598
  case 15:
1607
1599
 
1608
- /* Line 1464 of yacc.c */
1600
+ /* Line 1455 of yacc.c */
1609
1601
  #line 119 "parser.y"
1610
1602
  {
1611
1603
  concat("</ol>",5);
@@ -1615,302 +1607,302 @@ yyreduce:
1615
1607
 
1616
1608
  case 18:
1617
1609
 
1618
- /* Line 1464 of yacc.c */
1610
+ /* Line 1455 of yacc.c */
1619
1611
  #line 125 "parser.y"
1620
1612
  {concat("</li>",5);}
1621
1613
  break;
1622
1614
 
1623
1615
  case 19:
1624
1616
 
1625
- /* Line 1464 of yacc.c */
1617
+ /* Line 1455 of yacc.c */
1626
1618
  #line 126 "parser.y"
1627
1619
  {concat("</li>",5);}
1628
1620
  break;
1629
1621
 
1630
1622
  case 22:
1631
1623
 
1632
- /* Line 1464 of yacc.c */
1624
+ /* Line 1455 of yacc.c */
1633
1625
  #line 131 "parser.y"
1634
1626
  {concat("</li>",5);}
1635
1627
  break;
1636
1628
 
1637
1629
  case 23:
1638
1630
 
1639
- /* Line 1464 of yacc.c */
1631
+ /* Line 1455 of yacc.c */
1640
1632
  #line 132 "parser.y"
1641
1633
  {concat("</li>",5);}
1642
1634
  break;
1643
1635
 
1644
1636
  case 30:
1645
1637
 
1646
- /* Line 1464 of yacc.c */
1638
+ /* Line 1455 of yacc.c */
1647
1639
  #line 142 "parser.y"
1648
1640
  {concat2((yyvsp[(1) - (1)].svalue));}
1649
1641
  break;
1650
1642
 
1651
1643
  case 31:
1652
1644
 
1653
- /* Line 1464 of yacc.c */
1645
+ /* Line 1455 of yacc.c */
1654
1646
  #line 143 "parser.y"
1655
1647
  {process_url((yyvsp[(1) - (1)].svalue));}
1656
1648
  break;
1657
1649
 
1658
1650
  case 32:
1659
1651
 
1660
- /* Line 1464 of yacc.c */
1652
+ /* Line 1455 of yacc.c */
1661
1653
  #line 144 "parser.y"
1662
1654
  {process_email((yyvsp[(1) - (1)].svalue));}
1663
1655
  break;
1664
1656
 
1665
1657
  case 33:
1666
1658
 
1667
- /* Line 1464 of yacc.c */
1659
+ /* Line 1455 of yacc.c */
1668
1660
  #line 145 "parser.y"
1669
1661
  {(yyvsp[(1) - (1)].ivalue) ? concat(" <strong>",9) : concat("<strong>",8);}
1670
1662
  break;
1671
1663
 
1672
1664
  case 34:
1673
1665
 
1674
- /* Line 1464 of yacc.c */
1666
+ /* Line 1455 of yacc.c */
1675
1667
  #line 146 "parser.y"
1676
1668
  {concat("</strong>",9);}
1677
1669
  break;
1678
1670
 
1679
1671
  case 35:
1680
1672
 
1681
- /* Line 1464 of yacc.c */
1673
+ /* Line 1455 of yacc.c */
1682
1674
  #line 147 "parser.y"
1683
1675
  {(yyvsp[(1) - (1)].ivalue) ? concat(" <em>",5) : concat("<em>",4);}
1684
1676
  break;
1685
1677
 
1686
1678
  case 36:
1687
1679
 
1688
- /* Line 1464 of yacc.c */
1680
+ /* Line 1455 of yacc.c */
1689
1681
  #line 148 "parser.y"
1690
1682
  {concat("</em>",5);}
1691
1683
  break;
1692
1684
 
1693
1685
  case 37:
1694
1686
 
1695
- /* Line 1464 of yacc.c */
1687
+ /* Line 1455 of yacc.c */
1696
1688
  #line 149 "parser.y"
1697
1689
  {(yyvsp[(1) - (1)].ivalue) ? concat(" <strong><em>",13) : concat("<strong><em>",12);}
1698
1690
  break;
1699
1691
 
1700
1692
  case 38:
1701
1693
 
1702
- /* Line 1464 of yacc.c */
1694
+ /* Line 1455 of yacc.c */
1703
1695
  #line 150 "parser.y"
1704
1696
  {(yyvsp[(1) - (1)].ivalue) ? concat(" <em><strong>",13) : concat("<em><strong>",12);}
1705
1697
  break;
1706
1698
 
1707
1699
  case 39:
1708
1700
 
1709
- /* Line 1464 of yacc.c */
1701
+ /* Line 1455 of yacc.c */
1710
1702
  #line 151 "parser.y"
1711
1703
  {process_inline_code((yyvsp[(1) - (1)].svalue));}
1712
1704
  break;
1713
1705
 
1714
1706
  case 40:
1715
1707
 
1716
- /* Line 1464 of yacc.c */
1708
+ /* Line 1455 of yacc.c */
1717
1709
  #line 152 "parser.y"
1718
1710
  {revert_bold();}
1719
1711
  break;
1720
1712
 
1721
1713
  case 41:
1722
1714
 
1723
- /* Line 1464 of yacc.c */
1715
+ /* Line 1455 of yacc.c */
1724
1716
  #line 153 "parser.y"
1725
1717
  {revert_italic();}
1726
1718
  break;
1727
1719
 
1728
1720
  case 42:
1729
1721
 
1730
- /* Line 1464 of yacc.c */
1722
+ /* Line 1455 of yacc.c */
1731
1723
  #line 155 "parser.y"
1732
1724
  {process_ticket_link((yyvsp[(1) - (1)].svalue));}
1733
1725
  break;
1734
1726
 
1735
1727
  case 43:
1736
1728
 
1737
- /* Line 1464 of yacc.c */
1729
+ /* Line 1455 of yacc.c */
1738
1730
  #line 156 "parser.y"
1739
1731
  {process_svn_link((yyvsp[(1) - (1)].svalue),0);}
1740
1732
  break;
1741
1733
 
1742
1734
  case 44:
1743
1735
 
1744
- /* Line 1464 of yacc.c */
1736
+ /* Line 1455 of yacc.c */
1745
1737
  #line 157 "parser.y"
1746
1738
  {process_git_link((yyvsp[(1) - (1)].svalue),0);}
1747
1739
  break;
1748
1740
 
1749
1741
  case 45:
1750
1742
 
1751
- /* Line 1464 of yacc.c */
1743
+ /* Line 1455 of yacc.c */
1752
1744
  #line 158 "parser.y"
1753
1745
  {process_svn_link((yyvsp[(1) - (1)].svalue),1);}
1754
1746
  break;
1755
1747
 
1756
1748
  case 46:
1757
1749
 
1758
- /* Line 1464 of yacc.c */
1750
+ /* Line 1455 of yacc.c */
1759
1751
  #line 159 "parser.y"
1760
1752
  {process_git_link((yyvsp[(1) - (1)].svalue),1);}
1761
1753
  break;
1762
1754
 
1763
1755
  case 47:
1764
1756
 
1765
- /* Line 1464 of yacc.c */
1757
+ /* Line 1455 of yacc.c */
1766
1758
  #line 160 "parser.y"
1767
1759
  {process_url_link((yyvsp[(1) - (1)].svalue),NULL);}
1768
1760
  break;
1769
1761
 
1770
1762
  case 48:
1771
1763
 
1772
- /* Line 1464 of yacc.c */
1764
+ /* Line 1455 of yacc.c */
1773
1765
  #line 161 "parser.y"
1774
1766
  {process_url_link((yyvsp[(1) - (1)].svalue),"http://");}
1775
1767
  break;
1776
1768
 
1777
1769
  case 49:
1778
1770
 
1779
- /* Line 1464 of yacc.c */
1771
+ /* Line 1455 of yacc.c */
1780
1772
  #line 162 "parser.y"
1781
1773
  {process_wiki_link((yyvsp[(1) - (1)].svalue));}
1782
1774
  break;
1783
1775
 
1784
1776
  case 50:
1785
1777
 
1786
- /* Line 1464 of yacc.c */
1778
+ /* Line 1455 of yacc.c */
1787
1779
  #line 163 "parser.y"
1788
1780
  {process_anchor_link((yyvsp[(1) - (1)].svalue));}
1789
1781
  break;
1790
1782
 
1791
1783
  case 51:
1792
1784
 
1793
- /* Line 1464 of yacc.c */
1785
+ /* Line 1455 of yacc.c */
1794
1786
  #line 164 "parser.y"
1795
1787
  {process_file_link((yyvsp[(1) - (1)].svalue));}
1796
1788
  break;
1797
1789
 
1798
1790
  case 52:
1799
1791
 
1800
- /* Line 1464 of yacc.c */
1792
+ /* Line 1455 of yacc.c */
1801
1793
  #line 165 "parser.y"
1802
1794
  {process_image_link((yyvsp[(1) - (1)].svalue));}
1803
1795
  break;
1804
1796
 
1805
1797
  case 55:
1806
1798
 
1807
- /* Line 1464 of yacc.c */
1799
+ /* Line 1455 of yacc.c */
1808
1800
  #line 170 "parser.y"
1809
1801
  {concat_escaped_char((yyvsp[(1) - (1)].ivalue));}
1810
1802
  break;
1811
1803
 
1812
1804
  case 56:
1813
1805
 
1814
- /* Line 1464 of yacc.c */
1806
+ /* Line 1455 of yacc.c */
1815
1807
  #line 177 "parser.y"
1816
1808
  {concat("<h1 id=\"h-",10); process_header((yyvsp[(1) - (1)].svalue));}
1817
1809
  break;
1818
1810
 
1819
1811
  case 57:
1820
1812
 
1821
- /* Line 1464 of yacc.c */
1813
+ /* Line 1455 of yacc.c */
1822
1814
  #line 178 "parser.y"
1823
1815
  {concat("<h2 id=\"h-",10); process_header((yyvsp[(1) - (1)].svalue));}
1824
1816
  break;
1825
1817
 
1826
1818
  case 58:
1827
1819
 
1828
- /* Line 1464 of yacc.c */
1820
+ /* Line 1455 of yacc.c */
1829
1821
  #line 179 "parser.y"
1830
1822
  {concat("<h3 id=\"h-",10); process_header((yyvsp[(1) - (1)].svalue));}
1831
1823
  break;
1832
1824
 
1833
1825
  case 59:
1834
1826
 
1835
- /* Line 1464 of yacc.c */
1827
+ /* Line 1455 of yacc.c */
1836
1828
  #line 180 "parser.y"
1837
1829
  {concat("<h4 id=\"h-",10); process_header((yyvsp[(1) - (1)].svalue));}
1838
1830
  break;
1839
1831
 
1840
1832
  case 60:
1841
1833
 
1842
- /* Line 1464 of yacc.c */
1834
+ /* Line 1455 of yacc.c */
1843
1835
  #line 181 "parser.y"
1844
1836
  {concat("<h5 id=\"h-",10); process_header((yyvsp[(1) - (1)].svalue));}
1845
1837
  break;
1846
1838
 
1847
1839
  case 61:
1848
1840
 
1849
- /* Line 1464 of yacc.c */
1841
+ /* Line 1455 of yacc.c */
1850
1842
  #line 183 "parser.y"
1851
1843
  {process_oli((yyvsp[(1) - (1)].ivalue));}
1852
1844
  break;
1853
1845
 
1854
1846
  case 62:
1855
1847
 
1856
- /* Line 1464 of yacc.c */
1848
+ /* Line 1455 of yacc.c */
1857
1849
  #line 184 "parser.y"
1858
1850
  {process_uli((yyvsp[(1) - (1)].ivalue));}
1859
1851
  break;
1860
1852
 
1861
1853
  case 63:
1862
1854
 
1863
- /* Line 1464 of yacc.c */
1855
+ /* Line 1455 of yacc.c */
1864
1856
  #line 185 "parser.y"
1865
1857
  {concat("<br />",6);}
1866
1858
  break;
1867
1859
 
1868
1860
  case 64:
1869
1861
 
1870
- /* Line 1464 of yacc.c */
1862
+ /* Line 1455 of yacc.c */
1871
1863
  #line 188 "parser.y"
1872
1864
  {concat("<pre><code>",11);}
1873
1865
  break;
1874
1866
 
1875
1867
  case 65:
1876
1868
 
1877
- /* Line 1464 of yacc.c */
1869
+ /* Line 1455 of yacc.c */
1878
1870
  #line 188 "parser.y"
1879
1871
  {concat("</code></pre>",13);}
1880
1872
  break;
1881
1873
 
1882
1874
  case 67:
1883
1875
 
1884
- /* Line 1464 of yacc.c */
1876
+ /* Line 1455 of yacc.c */
1885
1877
  #line 190 "parser.y"
1886
1878
  {concat("<pre>",5);}
1887
1879
  break;
1888
1880
 
1889
1881
  case 68:
1890
1882
 
1891
- /* Line 1464 of yacc.c */
1883
+ /* Line 1455 of yacc.c */
1892
1884
  #line 190 "parser.y"
1893
1885
  {concat("</pre>",6);}
1894
1886
  break;
1895
1887
 
1896
1888
  case 69:
1897
1889
 
1898
- /* Line 1464 of yacc.c */
1890
+ /* Line 1455 of yacc.c */
1899
1891
  #line 191 "parser.y"
1900
1892
  {concat("<code>",6);}
1901
1893
  break;
1902
1894
 
1903
1895
  case 70:
1904
1896
 
1905
- /* Line 1464 of yacc.c */
1897
+ /* Line 1455 of yacc.c */
1906
1898
  #line 191 "parser.y"
1907
1899
  {concat("</code>",7);}
1908
1900
  break;
1909
1901
 
1910
1902
 
1911
1903
 
1912
- /* Line 1464 of yacc.c */
1913
- #line 1914 "parser.tab.c"
1904
+ /* Line 1455 of yacc.c */
1905
+ #line 1906 "parser.tab.c"
1914
1906
  default: break;
1915
1907
  }
1916
1908
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2121,7 +2113,7 @@ yyreturn:
2121
2113
 
2122
2114
 
2123
2115
 
2124
- /* Line 1684 of yacc.c */
2116
+ /* Line 1675 of yacc.c */
2125
2117
  #line 195 "parser.y"
2126
2118
 
2127
2119
 
@@ -2290,24 +2282,26 @@ process_svn_link(const char*target, int numbered_repo){
2290
2282
  const char *c;
2291
2283
  // can use sprintf here.. but I think it's a way slower than raw concat
2292
2284
  concat("<a href=\"",9);
2293
- concat_site_url();
2294
- concat("/code/",6);
2295
- concat(space_name,space_name_len);
2296
- if( numbered_repo ){
2285
+ if( !concat_custom_vcs_url(target) ){
2286
+ concat_site_url();
2287
+ concat("/code/",6);
2288
+ concat(space_name,space_name_len);
2289
+ if( numbered_repo ){
2297
2290
  concat("/subversion-",12);
2298
2291
  while( *target >= '0' && *target <= '9' ) concat_raw_char(*target++);
2299
2292
  while( *target == ':' ) target++;
2300
2293
  concat("/changesets/",12);
2301
- } else {
2294
+ } else {
2302
2295
  concat("/subversion/changesets/",23);
2296
+ }
2297
+ for(c=target; *c && *c!=']' && *c!='|'; c++) concat_raw_char(*c);
2303
2298
  }
2304
- for(c=target; *c && *c!=']' && *c!='|'; c++) concat_raw_char(*c);
2305
2299
  process_link_tail(target,NULL,"revision:");
2306
2300
  }
2307
2301
 
2308
- int concat_custom_git_url(const char*rev){
2302
+ int concat_custom_vcs_url(const char*rev){
2309
2303
  const char *c,*p,*t;
2310
- if( git_url && (c = StringValuePtr(git_url)) ){
2304
+ if( vcs_url && (c = StringValuePtr(vcs_url)) ){
2311
2305
  size_t l = strlen(c);
2312
2306
  if( l>0 ){
2313
2307
  if( p=strstr(c, "$REV$") ){
@@ -2330,7 +2324,7 @@ process_git_link(const char*target, int numbered_repo){
2330
2324
  const char *c;
2331
2325
  // can use sprintf here.. but I think it's a way slower than raw concat
2332
2326
  concat("<a href=\"",9);
2333
- if( !concat_custom_git_url(target) ){
2327
+ if( !concat_custom_vcs_url(target) ){
2334
2328
  concat_site_url();
2335
2329
  concat("/code/",6);
2336
2330
  concat(space_name,space_name_len);
@@ -2354,9 +2348,9 @@ process_wiki_link(const char*target){
2354
2348
  for(c=target; *c && *c!=']' && *c!='|'; c++) concat_raw_char(*c);
2355
2349
  concat("\" href=\"",8);
2356
2350
  concat_site_url();
2357
- concat("/wiki/show/",11);
2351
+ concat("/spaces/",8);
2358
2352
  concat(space_name,space_name_len);
2359
- concat_raw_char('/');
2353
+ concat("/wiki/",6);
2360
2354
  for(c=target; *c && *c!=']' && *c!='|' && *c!='#'; c++) concat_raw_char( *c == ' ' ? '_' : *c );
2361
2355
  if( *c == '#' ){
2362
2356
  concat_raw_char('#');
@@ -1,9 +1,10 @@
1
- /* A Bison parser, made by GNU Bison 2.4.2. */
1
+
2
+ /* A Bison parser, made by GNU Bison 2.4.1. */
2
3
 
3
4
  /* Skeleton interface for Bison's Yacc-like parsers in C
4
5
 
5
- Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6
- Foundation, Inc.
6
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7
+ Free Software Foundation, Inc.
7
8
 
8
9
  This program is free software: you can redistribute it and/or modify
9
10
  it under the terms of the GNU General Public License as published by
@@ -90,7 +91,7 @@
90
91
  typedef union YYSTYPE
91
92
  {
92
93
 
93
- /* Line 1685 of yacc.c */
94
+ /* Line 1676 of yacc.c */
94
95
  #line 70 "parser.y"
95
96
 
96
97
  double dvalue;
@@ -99,8 +100,8 @@ typedef union YYSTYPE
99
100
 
100
101
 
101
102
 
102
- /* Line 1685 of yacc.c */
103
- #line 104 "parser.tab.h"
103
+ /* Line 1676 of yacc.c */
104
+ #line 105 "parser.tab.h"
104
105
  } YYSTYPE;
105
106
  # define YYSTYPE_IS_TRIVIAL 1
106
107
  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -24,7 +24,7 @@ size_t space_name_len = 0;
24
24
  const char *site_url = NULL;
25
25
  size_t site_url_len = 0;
26
26
 
27
- extern VALUE git_url;
27
+ extern VALUE vcs_url;
28
28
 
29
29
  int list_level = 1;
30
30
  int absolute_urls = 0;
@@ -359,24 +359,26 @@ process_svn_link(const char*target, int numbered_repo){
359
359
  const char *c;
360
360
  // can use sprintf here.. but I think it's a way slower than raw concat
361
361
  concat("<a href=\"",9);
362
- concat_site_url();
363
- concat("/code/",6);
364
- concat(space_name,space_name_len);
365
- if( numbered_repo ){
362
+ if( !concat_custom_vcs_url(target) ){
363
+ concat_site_url();
364
+ concat("/code/",6);
365
+ concat(space_name,space_name_len);
366
+ if( numbered_repo ){
366
367
  concat("/subversion-",12);
367
368
  while( *target >= '0' && *target <= '9' ) concat_raw_char(*target++);
368
369
  while( *target == ':' ) target++;
369
370
  concat("/changesets/",12);
370
- } else {
371
+ } else {
371
372
  concat("/subversion/changesets/",23);
373
+ }
374
+ for(c=target; *c && *c!=']' && *c!='|'; c++) concat_raw_char(*c);
372
375
  }
373
- for(c=target; *c && *c!=']' && *c!='|'; c++) concat_raw_char(*c);
374
376
  process_link_tail(target,NULL,"revision:");
375
377
  }
376
378
 
377
- int concat_custom_git_url(const char*rev){
379
+ int concat_custom_vcs_url(const char*rev){
378
380
  const char *c,*p,*t;
379
- if( git_url && (c = StringValuePtr(git_url)) ){
381
+ if( vcs_url && (c = StringValuePtr(vcs_url)) ){
380
382
  size_t l = strlen(c);
381
383
  if( l>0 ){
382
384
  if( p=strstr(c, "$REV$") ){
@@ -399,7 +401,7 @@ process_git_link(const char*target, int numbered_repo){
399
401
  const char *c;
400
402
  // can use sprintf here.. but I think it's a way slower than raw concat
401
403
  concat("<a href=\"",9);
402
- if( !concat_custom_git_url(target) ){
404
+ if( !concat_custom_vcs_url(target) ){
403
405
  concat_site_url();
404
406
  concat("/code/",6);
405
407
  concat(space_name,space_name_len);
@@ -423,9 +425,9 @@ process_wiki_link(const char*target){
423
425
  for(c=target; *c && *c!=']' && *c!='|'; c++) concat_raw_char(*c);
424
426
  concat("\" href=\"",8);
425
427
  concat_site_url();
426
- concat("/wiki/show/",11);
428
+ concat("/spaces/",8);
427
429
  concat(space_name,space_name_len);
428
- concat_raw_char('/');
430
+ concat("/wiki/",6);
429
431
  for(c=target; *c && *c!=']' && *c!='|' && *c!='#'; c++) concat_raw_char( *c == ' ' ? '_' : *c );
430
432
  if( *c == '#' ){
431
433
  concat_raw_char('#');
@@ -22,7 +22,7 @@ extern size_t in_buf_len, bufsize, space_name_len;
22
22
  extern const char *site_url;
23
23
  extern size_t site_url_len;
24
24
 
25
- VALUE git_url;
25
+ VALUE vcs_url;
26
26
 
27
27
  extern int parse_links_only, absolute_urls;
28
28
 
@@ -48,9 +48,9 @@ VALUE do_parse(int argc, VALUE *argv, VALUE self) {
48
48
  }
49
49
  }
50
50
 
51
- git_url = NULL;
51
+ vcs_url = NULL;
52
52
  if( argc > 3 && argv[3] != Qnil && argv[3] != Qfalse ){
53
- git_url = argv[3];
53
+ vcs_url = argv[3];
54
54
  }
55
55
 
56
56
  absolute_urls = 0;
data/spec/parser_spec.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require 'breakout_parser'
2
3
  require File.dirname(__FILE__) + '/obj_proxy'
3
4
 
@@ -808,12 +809,12 @@ describe 'BreakoutParser' do
808
809
 
809
810
  describe "Assembla Links" do
810
811
  a = {}
811
- a["wiki:Name"] = '<a class="wiki_link" title="Name" href="/wiki/show/test_space/Name">Name</a>'
812
- a["wiki:Name With Space"] = '<a class="wiki_link" title="Name With Space" href="/wiki/show/test_space/Name_With_Space">Name With Space</a>'
813
- a["Name"] = '<a class="wiki_link" title="Name" href="/wiki/show/test_space/Name">Name</a>'
814
- a["Name With Space"] = '<a class="wiki_link" title="Name With Space" href="/wiki/show/test_space/Name_With_Space">Name With Space</a>'
815
- a["Name#Ref"] = '<a class="wiki_link" title="Name#Ref" href="/wiki/show/test_space/Name#h-Ref">Name#Ref</a>'
816
- a["Name#h-Ref"] = '<a class="wiki_link" title="Name#h-Ref" href="/wiki/show/test_space/Name#h-h-Ref">Name#h-Ref</a>'
812
+ a["wiki:Name"] = '<a class="wiki_link" title="Name" href="/spaces/test_space/wiki/Name">Name</a>'
813
+ a["wiki:Name With Space"] = '<a class="wiki_link" title="Name With Space" href="/spaces/test_space/wiki/Name_With_Space">Name With Space</a>'
814
+ a["Name"] = '<a class="wiki_link" title="Name" href="/spaces/test_space/wiki/Name">Name</a>'
815
+ a["Name With Space"] = '<a class="wiki_link" title="Name With Space" href="/spaces/test_space/wiki/Name_With_Space">Name With Space</a>'
816
+ a["Name#Ref"] = '<a class="wiki_link" title="Name#Ref" href="/spaces/test_space/wiki/Name#h-Ref">Name#Ref</a>'
817
+ a["Name#h-Ref"] = '<a class="wiki_link" title="Name#h-Ref" href="/spaces/test_space/wiki/Name#h-h-Ref">Name#h-Ref</a>'
817
818
  a["#Ref"] = '<a href="#h-Ref" title="#Ref" class="wiki_link">#Ref</a>'
818
819
  a["#привет"] = %Q|<a href="#h-#{hex_string("привет")}" title="#привет" class="wiki_link">#привет</a>|
819
820
  a["#with spc"] = %Q|<a href="#h-with__spc" title="#with spc" class="wiki_link">#with spc</a>|
@@ -849,6 +850,8 @@ describe 'BreakoutParser' do
849
850
  a["file:cVJUz6ejWr35pEab_qKWB8"] =
850
851
  '<a href="/spaces/test_space/documents/download/cVJUz6ejWr35pEab_qKWB8">file:cVJUz6ejWr35pEab_qKWB8</a>'
851
852
 
853
+ pat = Regexp.new('/code/test_space/(git|subversion)/changesets/')
854
+
852
855
  a.each do |k,v|
853
856
  it "parses [[#{k}]]" do
854
857
  parse("[[#{k}]]").should == v
@@ -878,82 +881,81 @@ describe 'BreakoutParser' do
878
881
  v.gsub('href="/',"href=\"#{site_url}/")
879
882
  end
880
883
  end
881
- if v['/git/']
882
- it "parses [[#{k}]] with custom git_url (String)" do
883
- git_url = "http://www.ru/"
884
+ if v['/git/'] || v['/subversion/']
885
+ it "parses [[#{k}]] with custom vcs_url (String)" do
886
+ vcs_url = "http://www.ru/"
884
887
  rev = k.split(':').last.tr(']','')
885
- parse("[[#{k}]]", :git_url => git_url).should ==
886
- v.sub('/code/test_space/git/changesets/',git_url)
888
+ parse("[[#{k}]]", :vcs_url => vcs_url).should ==
889
+ v.sub(pat,vcs_url)
887
890
  end
888
891
 
889
- it "parses [[#{k}]] with custom git_url (ObjProxy)" do
892
+ it "parses [[#{k}]] with custom vcs_url (ObjProxy)" do
890
893
  rev = k.split(':').last.tr(']','')
891
894
  @asdfg = 'http://mmm.us'
892
- git_url = Breakout::ObjProxy.new do
895
+ vcs_url = Breakout::ObjProxy.new do
893
896
  @asdfg + '/'
894
897
  end
895
- parse("[[#{k}]]", :git_url => git_url).should ==
896
- v.sub('/code/test_space/git/changesets/',git_url)
898
+ parse("[[#{k}]]", :vcs_url => vcs_url).should ==
899
+ v.sub(pat,vcs_url)
897
900
  end
898
901
 
899
- it "parses [[#{k}]] with custom git_url (String) + $REV$" do
900
- git_url = "http://www.ru/$REV$/show"
902
+ it "parses [[#{k}]] with custom vcs_url (String) + $REV$" do
903
+ vcs_url = "http://www.ru/$REV$/show"
901
904
  rev = k.split(':').last.tr(']','')
902
- parse("[[#{k}]]", :git_url => git_url).should ==
903
- v.sub('/code/test_space/git/changesets/',git_url).sub(rev,'').sub('$REV$',rev)
905
+ parse("[[#{k}]]", :vcs_url => vcs_url).should ==
906
+ v.sub(pat,vcs_url).sub(rev,'').sub('$REV$',rev)
904
907
 
905
- git_url = "http://www.ru/$REV$"
906
- parse("[[#{k}]]", :git_url => git_url).should ==
907
- v.sub('/code/test_space/git/changesets/',git_url).sub(rev,'').sub('$REV$',rev)
908
+ vcs_url = "http://www.ru/$REV$"
909
+ parse("[[#{k}]]", :vcs_url => vcs_url).should ==
910
+ v.sub(pat,vcs_url).sub(rev,'').sub('$REV$',rev)
908
911
 
909
- git_url = "$REV$"
910
- parse("[[#{k}]]", :git_url => git_url).should ==
911
- v.sub('/code/test_space/git/changesets/',git_url).sub(rev,'').sub('$REV$',rev)
912
+ vcs_url = "$REV$"
913
+ parse("[[#{k}]]", :vcs_url => vcs_url).should ==
914
+ v.sub(pat,vcs_url).sub(rev,'').sub('$REV$',rev)
912
915
  end
913
916
 
914
- it "parses [[#{k}]] with custom git_url (ObjProxy) + $REV$" do
917
+ it "parses [[#{k}]] with custom vcs_url (ObjProxy) + $REV$" do
915
918
  rev = k.split(':').last.tr(']','')
916
919
  @asdfg = 'http://mmm.us/$REV$/show'
917
- git_url = Breakout::ObjProxy.new do
920
+ vcs_url = Breakout::ObjProxy.new do
918
921
  @asdfg
919
922
  end
920
- parse("[[#{k}]]", :git_url => git_url).should ==
921
- v.sub('/code/test_space/git/changesets/',git_url).sub(rev,'').sub('$REV$',rev)
923
+ parse("[[#{k}]]", :vcs_url => vcs_url).should ==
924
+ v.sub(pat,vcs_url).sub(rev,'').sub('$REV$',rev)
922
925
 
923
926
  @asdfg = 'http://mmm.us/$REV$'
924
- parse("[[#{k}]]", :git_url => git_url).should ==
925
- v.sub('/code/test_space/git/changesets/',git_url).sub(rev,'').sub('$REV$',rev)
927
+ parse("[[#{k}]]", :vcs_url => vcs_url).should ==
928
+ v.sub(pat,vcs_url).sub(rev,'').sub('$REV$',rev)
926
929
 
927
930
  @asdfg = '$REV$'
928
- parse("[[#{k}]]", :git_url => git_url).should ==
929
- v.sub('/code/test_space/git/changesets/',git_url).sub(rev,'').sub('$REV$',rev)
931
+ parse("[[#{k}]]", :vcs_url => vcs_url).should ==
932
+ v.sub(pat,vcs_url).sub(rev,'').sub('$REV$',rev)
930
933
  end
931
934
 
932
- it "parses [[#{k}]] with NULL git_url (ObjProxy)" do
935
+ it "parses [[#{k}]] with NULL vcs_url (ObjProxy)" do
933
936
  rev = k.split(':').last.tr(']','')
934
- git_url = Breakout::ObjProxy.new do
937
+ vcs_url = Breakout::ObjProxy.new do
935
938
  nil
936
939
  end
937
- parse("[[#{k}]]", :git_url => git_url).should == v
940
+ parse("[[#{k}]]", :vcs_url => vcs_url).should == v
938
941
  end
939
942
 
940
- it "parses [[#{k}]] with FALSE git_url (ObjProxy)" do
943
+ it "parses [[#{k}]] with FALSE vcs_url (ObjProxy)" do
941
944
  rev = k.split(':').last.tr(']','')
942
- git_url = Breakout::ObjProxy.new do
945
+ vcs_url = Breakout::ObjProxy.new do
943
946
  false
944
947
  end
945
- parse("[[#{k}]]", :git_url => git_url).should == v
948
+ parse("[[#{k}]]", :vcs_url => vcs_url).should == v
946
949
  end
947
950
  end
948
951
  end
949
952
 
950
- it "should not instantiate ObjProxy's internal object if there's no git links in text" do
951
- git_url = Breakout::ObjProxy.new do
953
+ it "should not instantiate ObjProxy's internal object if there are no git or svn links in text" do
954
+ vcs_url = Breakout::ObjProxy.new do
952
955
  raise 'should not be raised'
953
956
  end
954
957
  lambda {
955
- parse("[[r:2345]]", :git_url => git_url).should ==
956
- '<a href="/code/test_space/subversion/changesets/2345">revision:2345</a>'
958
+ parse("no revision tag", :vcs_url => vcs_url).should == 'no revision tag'
957
959
  }.should_not raise_error
958
960
  end
959
961
 
@@ -961,30 +963,30 @@ describe 'BreakoutParser' do
961
963
  # 'true' values
962
964
  [true, 1, 'x'].each do |v|
963
965
  it "should NOT convert relative url to absolute when absolute_urls = #{v.inspect} AND site_url is NULL" do
964
- parse("[[url:/rel]]", :absolute_urls => v).should ==
966
+ parse("[[url:/rel]]", :absolute_urls => v).should ==
965
967
  '<a rel="nofollow" href="/rel">/rel</a>'
966
- parse("[[url:/rel|text]]", :absolute_urls => v).should ==
968
+ parse("[[url:/rel|text]]", :absolute_urls => v).should ==
967
969
  '<a rel="nofollow" href="/rel">text</a>'
968
970
  end
969
971
  it "should convert relative url to absolute when absolute_urls = #{v.inspect}" do
970
- parse("[[url:/rel]]", :absolute_urls => v, :site_url => 'http://www.ru').should ==
972
+ parse("[[url:/rel]]", :absolute_urls => v, :site_url => 'http://www.ru').should ==
971
973
  '<a rel="nofollow" href="http://www.ru/rel">/rel</a>'
972
- parse("[[url:/rel|text]]", :absolute_urls => v, :site_url => 'http://www.ru').should ==
974
+ parse("[[url:/rel|text]]", :absolute_urls => v, :site_url => 'http://www.ru').should ==
973
975
  '<a rel="nofollow" href="http://www.ru/rel">text</a>'
974
976
  end
975
977
  it "should strip redundant '/' when absolute_urls = #{v.inspect}" do
976
- parse("[[url:/rel]]", :absolute_urls => v, :site_url => 'http://www.ru/').should ==
978
+ parse("[[url:/rel]]", :absolute_urls => v, :site_url => 'http://www.ru/').should ==
977
979
  '<a rel="nofollow" href="http://www.ru/rel">/rel</a>'
978
- parse("[[url:/rel|text]]", :absolute_urls => v, :site_url => 'http://www.ru/').should ==
980
+ parse("[[url:/rel|text]]", :absolute_urls => v, :site_url => 'http://www.ru/').should ==
979
981
  '<a rel="nofollow" href="http://www.ru/rel">text</a>'
980
982
  end
981
983
  end
982
984
  # 'false' values
983
985
  [false, nil].each do |v|
984
986
  it "should not convert relative url to absolute when absolute_urls = #{v.inspect}" do
985
- parse("[[url:/rel]]", :absolute_urls => v).should ==
987
+ parse("[[url:/rel]]", :absolute_urls => v).should ==
986
988
  '<a rel="nofollow" href="/rel">/rel</a>'
987
- parse("[[url:/rel|text]]", :absolute_urls => v).should ==
989
+ parse("[[url:/rel|text]]", :absolute_urls => v).should ==
988
990
  '<a rel="nofollow" href="/rel">text</a>'
989
991
  end
990
992
  end
@@ -1048,10 +1050,10 @@ describe 'BreakoutParser' do
1048
1050
 
1049
1051
  def parse s, h = {}
1050
1052
  h[:space_name] = "test_space" unless h.key?(:space_name)
1051
- BreakoutParser.parse(s,
1052
- h[:space_name],
1053
- h[:site_url],
1054
- h[:git_url],
1053
+ BreakoutParser.parse(s,
1054
+ h[:space_name],
1055
+ h[:site_url],
1056
+ h[:vcs_url],
1055
1057
  h[:absolute_urls]
1056
1058
  ).strip
1057
1059
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: breakout_parser
3
3
  version: !ruby/object:Gem::Version
4
- hash: 55
4
+ hash: 49
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 20
10
- version: 0.0.20
9
+ - 23
10
+ version: 0.0.23
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andrey "Zed" Zaikin
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-29 00:00:00 +04:00
18
+ date: 2011-05-20 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -66,8 +66,8 @@ homepage: http://assembla.com
66
66
  licenses: []
67
67
 
68
68
  post_install_message:
69
- rdoc_options:
70
- - --charset=UTF-8
69
+ rdoc_options: []
70
+
71
71
  require_paths:
72
72
  - lib
73
73
  required_ruby_version: !ruby/object:Gem::Requirement